ReferenciaAttribute.cs
2 using System;
3 using System.Collections.Generic;
4 using System.ComponentModel.DataAnnotations;
5 using System.Linq;
6 using System.Text;
7 
8 namespace sage.addons.amortiza.Negocio.Validations
9 {
10  internal class ReferenciaRequiredAttribute : RequiredAttribute
11  {
12  protected override ValidationResult IsValid(object value, ValidationContext validationContext)
13  {
14  Partidas _partidas = validationContext.ObjectInstance as Partidas;
15  string lcReferencia = string.Empty;
16  if (!string.IsNullOrEmpty(value.ToString()))
17  lcReferencia = value.ToString().PadLeft(10, '0');
18  else
19  {
20  if (!string.IsNullOrWhiteSpace(_partidas._Cuenta))
21  {
22  lcReferencia = _partidas._Obtener_Numero_Referencia();
23  }
24  }
25  if (value.Equals(lcReferencia))
26  {
27  return base.IsValid(value, validationContext);
28  }
29  value = lcReferencia;
30  _partidas._Referencia = value.ToString();
31  _partidas._Empresa = _partidas._lcEmpresa;
32  return base.IsValid(value, validationContext);
33  }
34  }
35 }
string _Cuenta
Propiedad que indica la cuenta contable de la partida
Definition: Partidas.cs:97
string _Empresa
Código de empresa.
Definition: Partidas.cs:76
Es como el tipo de entrada asientos pero por negocio, sin formulario, pq quiero que me haga las propu...
string _Obtener_Numero_Referencia()
Obtener el numero de referencia en función de la cuenta contable
Definition: Partidas.cs:2751
string _Referencia
Propiedad que indica la referencia de la partida
Definition: Partidas.cs:117