using System; using System.Collections.Generic; 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 SeguradoraEndereco : EnderecoBase, IDomain { public Empresa Empresa { get; set; } public Seguradora Seguradora { get; set; } public TipoEndereco Tipo { get; set; } [JsonIgnore] public Func>> ValidationEvent => Validate; public List> Validate() { List> list = ValidationHelper.AddValue(); if (string.IsNullOrWhiteSpace(base.Cep)) { list.AddValue("Cep", Messages.Obrigatorio); } else if (!base.Cep.ValidacaoCep()) { list.AddValue("Cep", Messages.Invalido); } if (string.IsNullOrWhiteSpace(base.Estado)) { list.AddValue("Estado", Messages.Obrigatorio); } else if (!base.Estado.ValidacaoEstado()) { list.AddValue("Estado", Messages.Invalido); } if (string.IsNullOrWhiteSpace(base.Endereco)) { list.AddValue("Endereco", Messages.Obrigatorio); } else if (base.Endereco.Length > 60) { list.AddValue("Endereco", string.Format(Messages.MaiorQueLimite, 60)); } if (string.IsNullOrWhiteSpace(base.Numero)) { list.AddValue("Numero", Messages.Obrigatorio); } else if (base.Numero.Length > 5) { list.AddValue("Numero", string.Format(Messages.MaiorQueLimite, 5)); } if (string.IsNullOrWhiteSpace(base.Bairro)) { list.AddValue("Bairro", Messages.Obrigatorio); } else if (base.Bairro.Length > 60) { list.AddValue("Bairro", string.Format(Messages.MaiorQueLimite, 60)); } if (string.IsNullOrWhiteSpace(base.Cidade)) { list.AddValue("Cidade", Messages.Obrigatorio); } else if (base.Cidade.Length > 30) { list.AddValue("Cidade", string.Format(Messages.MaiorQueLimite, 30)); } string complemento = base.Complemento; if (complemento != null && complemento.Length > 30) { list.AddValue("Complemento", string.Format(Messages.MaiorQueLimite, 30)); } return list; } }