diff options
Diffstat (limited to 'Gestor.Model/Gestor.Model.Domain.Seguros/MaisContato.cs')
| -rw-r--r-- | Gestor.Model/Gestor.Model.Domain.Seguros/MaisContato.cs | 245 |
1 files changed, 245 insertions, 0 deletions
diff --git a/Gestor.Model/Gestor.Model.Domain.Seguros/MaisContato.cs b/Gestor.Model/Gestor.Model.Domain.Seguros/MaisContato.cs new file mode 100644 index 0000000..8860f2b --- /dev/null +++ b/Gestor.Model/Gestor.Model.Domain.Seguros/MaisContato.cs @@ -0,0 +1,245 @@ +using System; +using System.Collections.Generic; +using Gestor.Model.Attributes; +using Gestor.Model.Common; +using Gestor.Model.Domain.Common; +using Gestor.Model.Domain.Generic; +using Gestor.Model.Helper; +using Gestor.Model.Resources; +using Newtonsoft.Json; + +namespace Gestor.Model.Domain.Seguros; + +public class MaisContato : DomainBase, IDomain +{ + private string _nome; + + private string _documento; + + private string _identidade; + + private string _prefixo; + + private string _telefone; + + private string _email; + + private string _habilitacao; + + private string _banco; + + private string _agencia; + + private string _conta; + + public Cliente Cliente { get; set; } + + public TipoTelefone? Tipo { get; set; } + + [Log(true)] + public string Nome + { + get + { + return _nome?.ToUpper(); + } + set + { + _nome = value; + } + } + + [Log(true)] + public DateTime? Nascimento { get; set; } + + [Log(true)] + public string Documento + { + get + { + return _documento?.ToUpper().Trim(); + } + set + { + _documento = value; + } + } + + [Log(true)] + public string Identidade + { + get + { + return _identidade?.ToUpper().Trim(); + } + set + { + _identidade = value; + } + } + + [Log(true)] + public DateTime? Expedicao { get; set; } + + [Log(true)] + public Parentesco? Parentesco { get; set; } + + [Log(true)] + public string Prefixo + { + get + { + return _prefixo?.ToUpper().Trim(); + } + set + { + _prefixo = value; + } + } + + [Log(true)] + public string Telefone + { + get + { + return _telefone?.ToUpper().Trim(); + } + set + { + _telefone = value; + } + } + + [Log(true)] + public string Email + { + get + { + return _email?.ToLower().Trim(); + } + set + { + _email = value; + } + } + + [Log(true)] + public string Habilitacao + { + get + { + return _habilitacao?.ToUpper().Trim(); + } + set + { + _habilitacao = value; + } + } + + [Log(true)] + public DateTime? PrimeiraHabilitacao { get; set; } + + [Log(true)] + public Profissao Profissao { get; set; } + + public string Banco + { + get + { + return _banco?.ToUpper(); + } + set + { + _banco = value; + } + } + + [Log(true)] + public string Agencia + { + get + { + return _agencia?.ToUpper().Trim(); + } + set + { + _agencia = value; + } + } + + [Log(true)] + public string Conta + { + get + { + return _conta?.ToUpper().Trim(); + } + set + { + _conta = value; + } + } + + public bool Excluido { get; set; } + + [JsonIgnore] + public Func<List<KeyValuePair<string, string>>> ValidationEvent => Validate; + + public List<KeyValuePair<string, string>> Validate() + { + List<KeyValuePair<string, string>> list = ValidationHelper.AddValue(); + if (!string.IsNullOrWhiteSpace(Nome) && Nome.Length > 90) + { + list.AddValue("Nome", string.Format(Messages.MaiorQueLimite, 90)); + } + if (PrimeiraHabilitacao.HasValue && (DateTime.Compare(PrimeiraHabilitacao.Value, new DateTime(1753, 1, 1)) < 0 || DateTime.Compare(PrimeiraHabilitacao.Value, new DateTime(9999, 12, 31)) > 0)) + { + list.AddValue("PrimeiraHabilitacao|PRIMEIRA HABILITAÇÃO", string.Format(Messages.DataInvalida)); + } + if (Expedicao.HasValue && (DateTime.Compare(Expedicao.Value, new DateTime(1753, 1, 1)) < 0 || DateTime.Compare(Expedicao.Value, new DateTime(9999, 12, 31)) > 0)) + { + list.AddValue("Expedicao|EXPEDIÇÃO", string.Format(Messages.DataInvalida)); + } + if (Nascimento.HasValue && (DateTime.Compare(Nascimento.Value, new DateTime(1753, 1, 1)) < 0 || DateTime.Compare(Nascimento.Value, new DateTime(9999, 12, 31)) > 0)) + { + list.AddValue("Nascimento", string.Format(Messages.DataInvalida)); + } + if (!string.IsNullOrWhiteSpace(Documento) && Documento.Length > 30) + { + list.AddValue("Documento", string.Format(Messages.MaiorQueLimite, 30)); + } + if (!string.IsNullOrWhiteSpace(Identidade) && Identidade.Length > 40) + { + list.AddValue("Identidade", string.Format(Messages.MaiorQueLimite, 40)); + } + if (!string.IsNullOrWhiteSpace(Prefixo) && Prefixo.Length > 6) + { + list.AddValue("Prefixo", string.Format(Messages.MaiorQueLimite, 6)); + } + if (!string.IsNullOrWhiteSpace(Telefone) && Telefone.Length > 11) + { + list.AddValue("Telefone", string.Format(Messages.MaiorQueLimite, 11)); + } + if (!string.IsNullOrWhiteSpace(Email) && Email.Length > 80) + { + list.AddValue("Email|E-MAIL", string.Format(Messages.MaiorQueLimite, 80)); + } + if (!string.IsNullOrWhiteSpace(Habilitacao) && Habilitacao.Length > 40) + { + list.AddValue("Habilitacao|HABILITAÇÃO", string.Format(Messages.MaiorQueLimite, 40)); + } + if (!string.IsNullOrWhiteSpace(Banco) && Banco.Length > 15) + { + list.AddValue("Banco", string.Format(Messages.MaiorQueLimite, 15)); + } + if (!string.IsNullOrWhiteSpace(Agencia) && Agencia.Length > 15) + { + list.AddValue("Agencia|AGÊNCIA", string.Format(Messages.MaiorQueLimite, 15)); + } + if (!string.IsNullOrWhiteSpace(Conta) && Conta.Length > 20) + { + list.AddValue("Conta", string.Format(Messages.MaiorQueLimite, 20)); + } + return list; + } +} |