using System; using System.Collections.Generic; using Gestor.Model.Domain.Generic; using Gestor.Model.Helper; using Gestor.Model.Resources; using Newtonsoft.Json; namespace Gestor.Model.Domain.Seguros; public class CriticaApolice : DomainBase, IDomain { private string _naoEncontrados; private bool? _critica; public Documento Documento { get; set; } public Usuario UsuarioImportacao { get; set; } public long? UsuarioCritica { get; set; } public bool? Critica { get { return _critica; } set { _critica = value.GetValueOrDefault(); } } public string NaoEncontrados { get { return _naoEncontrados?.ToUpper(); } set { _naoEncontrados = value; } } public DateTime? DataImportacao { get; set; } public DateTime? DataCritica { get; set; } public bool? Aggilizador { get; set; } public string Tipo { get; set; } [JsonIgnore] public Func>> ValidationEvent => Validate; public List> Validate() { List> list = ValidationHelper.AddValue(); if (DataImportacao.HasValue && (DateTime.Compare(DataImportacao.Value, new DateTime(1753, 1, 1)) < 0 || DateTime.Compare(DataImportacao.Value, new DateTime(9999, 12, 31)) > 0)) { list.AddValue("DataImportacao", string.Format(Messages.DataInvalida)); } if (DataCritica.HasValue && (DateTime.Compare(DataCritica.Value, new DateTime(1753, 1, 1)) < 0 || DateTime.Compare(DataCritica.Value, new DateTime(9999, 12, 31)) > 0)) { list.AddValue("DataCritica", string.Format(Messages.DataInvalida)); } return list; } }