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 ResponsavelAssinatura : DomainBase, IDomain { public long IdCliente { get; set; } public string NomeResponsavel { get; set; } public string DocumentoResponsavel { get; set; } public string EmailResponsavel { get; set; } [JsonIgnore] public Func>> ValidationEvent => Validate; public List> Validate() { List> list = ValidationHelper.AddValue(); int? num = (string.IsNullOrWhiteSpace(NomeResponsavel) ? null : NomeResponsavel?.Trim().Split(new char[1] { ' ' }).Length); if (num.HasValue && num <= 1) { list.AddValue("NomeResponsavel", Messages.NomeInvalido); } if (!string.IsNullOrWhiteSpace(DocumentoResponsavel) && !DocumentoResponsavel.ValidacaoDocumento()) { list.AddValue("DocumentoResponsavel", Messages.Invalido); } if (!string.IsNullOrWhiteSpace(EmailResponsavel) && !EmailResponsavel.ValidacaoEmail()) { list.AddValue("EmailResponsavel", Messages.Invalido); } if (num.HasValue || !string.IsNullOrWhiteSpace(DocumentoResponsavel) || !string.IsNullOrWhiteSpace(EmailResponsavel)) { if (!num.HasValue) { list.AddValue("NomeResponsavel", Messages.Obrigatorio); } if (string.IsNullOrWhiteSpace(DocumentoResponsavel)) { list.AddValue("DocumentoResponsavel", Messages.Obrigatorio); } if (string.IsNullOrWhiteSpace(EmailResponsavel)) { list.AddValue("EmailResponsavel", Messages.Obrigatorio); } } return list; } }