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; using System; using System.Collections.Generic; using System.Collections.ObjectModel; using System.ComponentModel; using System.Runtime.CompilerServices; namespace Gestor.Model.Domain.Common { public class Socio : EnderecoBase, IDomain { private string _nome; private string _email; private string _prefixo; private string _telefone; [Description("E-MAIL")] [Log(true)] public string Email { get { string str = this._email; if (str == null) { return null; } return str.ToLower().Trim(); } set { this._email = value; } } public bool Excluido { get; set; } public long IdEmpresa { get; set; } [Log(true)] [Name(true)] public string Nome { get { string str = this._nome; if (str != null) { return str.ToUpper(); } return null; } set { this._nome = value; } } [Description("PREFIXO")] [Log(true)] public string Prefixo { get { string str = this._prefixo; if (str == null) { return null; } return str.ToUpper().Trim(); } set { this._prefixo = value; } } [Description("TELEFONE")] [Log(true)] public string Telefone { get { string str = this._telefone; if (str == null) { return null; } return str.ToUpper().Trim(); } set { this._telefone = value; } } [JsonIgnore] public Func>> ValidationEvent { get { Socio socio = this; return new Func>>(socio.Validate); } } public Socio() { } public List Log() { return new List() { new TupleList() { Tuples = new ObservableCollection>() { new Tuple("NOME", (string.IsNullOrWhiteSpace(this.Nome) ? "" : this.Nome), ""), new Tuple("E-MAIL", (string.IsNullOrWhiteSpace(this.Email) ? "" : this.Email), ""), new Tuple("PREFIXO", (string.IsNullOrWhiteSpace(this.Prefixo) ? "" : this.Prefixo), ""), new Tuple("TELEFONE", (string.IsNullOrWhiteSpace(this.Telefone) ? "" : this.Telefone), ""), new Tuple("E-MAIL", (string.IsNullOrWhiteSpace(this.Email) ? "" : this.Email), "") } } }; } public List> Validate() { List> keyValuePairs = ValidationHelper.AddValue(); if (string.IsNullOrWhiteSpace(this.Nome)) { keyValuePairs.AddValue("Nome", Messages.Obrigatorio, true); } else if (this.Nome.Length > 60) { keyValuePairs.AddValue("Nome", string.Format(Messages.MaiorQueLimite, 60), true); } return keyValuePairs; } } }