ClaveIdBienAtribute.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 ClaveIdBienRequiredAttribute : RequiredAttribute
11  {
12  protected override ValidationResult IsValid(object value, ValidationContext validationContext)
13  {
14  Partidas loPartida = validationContext.ObjectInstance as Partidas;
15  string lcClave = string.Empty;
16  if (string.IsNullOrEmpty(value.ToString()))
17  {
18  lcClave = loPartida._Obtener_ClaveIdBien();
19  }
20  else
21  {
22  if (loPartida._Estado == ew.ewbase.ewMante._EstadosMantenimiento.EditandoRegistro && !loPartida._ChangeClaveIdBien)
23  {
24  return ValidationResult.Success;
25  }
26  else
27  {
28  if (!loPartida._Existe_ClaveIdBien(value.ToString()))
29  {
30  lcClave = value.ToString().PadLeft(10, '0');
31  }
32  else
33  {
34  return new ValidationResult(ErrorMessage, new List<String>() { nameof(loPartida._ClaveIdBien) });
35  }
36  }
37  }
38  value = lcClave;
39  loPartida._ClaveIdBien = value.ToString();
40 
41  return ValidationResult.Success;
42  }
43  }
44 }
string _Obtener_ClaveIdBien()
Obtener la clave de identificación del bien
Definition: Partidas.cs:2796
string _ClaveIdBien
Propiedad que indica la clave de identificación del bien de la partida
Definition: Partidas.cs:144
_EstadosMantenimiento _Estado
Estado en que se encuentra el registro
Definition: clsEwBase.cs:2968
bool _Existe_ClaveIdBien(string tcValor)
Comprobamos si el número de clave de identificación del bien que se ha indicado manualmente ya existe...
Definition: Partidas.cs:2944
bool _ChangeClaveIdBien
Cambio valor claveidBien (propiedad para identificar si se cambia el valor) Si estamos en modo editar...
Definition: Partidas.cs:1093
Clase base para el módulo amortiza
Definition: SageAddons.cs:55