using System; using System.Collections.Generic; using System.Collections.ObjectModel; using System.ComponentModel; using Gestor.Model.Attributes; using Gestor.Model.Domain.Generic; using Gestor.Model.Domain.Seguros; using Gestor.Model.Helper; using Gestor.Model.Resources; using Newtonsoft.Json; namespace Gestor.Model.Domain.Common; public class Socio : EnderecoBase, IDomain { private string _nome; private string _email; private string _prefixo; private string _telefone; public long IdEmpresa { get; set; } public bool Excluido { get; set; } [Log(true)] [Name(true)] public string Nome { get { return _nome?.ToUpper(); } set { _nome = value; } } [Log(true)] [Description("E-MAIL")] public string Email { get { return _email?.ToLower().Trim(); } set { _email = value; } } [Log(true)] [Description("PREFIXO")] public string Prefixo { get { return _prefixo?.ToUpper().Trim(); } set { _prefixo = value; } } [Log(true)] [Description("TELEFONE")] public string Telefone { get { return _telefone?.ToUpper().Trim(); } set { _telefone = value; } } [JsonIgnore] public Func>> ValidationEvent => Validate; public List> Validate() { List> list = ValidationHelper.AddValue(); if (string.IsNullOrWhiteSpace(Nome)) { list.AddValue("Nome", Messages.Obrigatorio); } else if (Nome.Length > 60) { list.AddValue("Nome", string.Format(Messages.MaiorQueLimite, 60)); } return list; } public List Log() { return new List { new TupleList { Tuples = new ObservableCollection> { new Tuple("NOME", string.IsNullOrWhiteSpace(Nome) ? "" : Nome, ""), new Tuple("E-MAIL", string.IsNullOrWhiteSpace(Email) ? "" : Email, ""), new Tuple("PREFIXO", string.IsNullOrWhiteSpace(Prefixo) ? "" : Prefixo, ""), new Tuple("TELEFONE", string.IsNullOrWhiteSpace(Telefone) ? "" : Telefone, ""), new Tuple("E-MAIL", string.IsNullOrWhiteSpace(Email) ? "" : Email, "") } } }; } }