using Gestor.Model.Attributes; using Gestor.Model.Domain.Generic; using Gestor.Model.Helper; using Gestor.Model.Resources; using Newtonsoft.Json; using System; using System.Collections.Generic; using System.Runtime.CompilerServices; namespace Gestor.Model.Domain.Seguros { public class ClienteEmail : EmailBase, IDomain { private string _observacao; public Gestor.Model.Domain.Seguros.Cliente Cliente { get; set; } [Log(true)] public string Observacao { get { string str = this._observacao; if (str != null) { return str.ToUpper(); } return null; } set { this._observacao = value; } } public int? Ordem { get; set; } public bool Selecionado { get; set; } [JsonIgnore] public Func>> ValidationEvent { get { ClienteEmail clienteEmail = this; return new Func>>(clienteEmail.Validate); } } public ClienteEmail() { } public List> Validate() { List> keyValuePairs = ValidationHelper.AddValue(); if (string.IsNullOrWhiteSpace(base.Email)) { keyValuePairs.AddValue("Email", Messages.Obrigatorio, true); } else if (base.Email.Length > 80) { keyValuePairs.AddValue("Email", string.Format(Messages.MaiorQueLimite, 80), true); } else if (!base.Email.ValidacaoEmail()) { keyValuePairs.AddValue("Email", Messages.Invalido, true); } if (!string.IsNullOrWhiteSpace(this.Observacao) && this.Observacao.Length > 255) { keyValuePairs.AddValue("Observacao", string.Format(Messages.MaiorQueLimite, 255), true); } return keyValuePairs; } } }