From 1f4e14b2e973ee7de337fd4866d9a5ceff5cb6d1 Mon Sep 17 00:00:00 2001 From: Lucas Faria Mendes Date: Mon, 30 Mar 2026 10:38:18 -0300 Subject: chore: location --- .../Model.Domain.Seguros/ClienteEndereco.cs | 155 +++++++++++++++++++++ 1 file changed, 155 insertions(+) create mode 100644 Codemerx/Gestor.Model/Model.Domain.Seguros/ClienteEndereco.cs (limited to 'Codemerx/Gestor.Model/Model.Domain.Seguros/ClienteEndereco.cs') diff --git a/Codemerx/Gestor.Model/Model.Domain.Seguros/ClienteEndereco.cs b/Codemerx/Gestor.Model/Model.Domain.Seguros/ClienteEndereco.cs new file mode 100644 index 0000000..5085632 --- /dev/null +++ b/Codemerx/Gestor.Model/Model.Domain.Seguros/ClienteEndereco.cs @@ -0,0 +1,155 @@ +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.ComponentModel; +using System.Runtime.CompilerServices; +using System.Threading; + +namespace Gestor.Model.Domain.Seguros +{ + public class ClienteEndereco : EnderecoBase, IDomain, INotifyPropertyChanged + { + private bool _selecionado; + + 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 + { + return this._selecionado; + } + set + { + if (value == this._selecionado) + { + return; + } + this._selecionado = value; + this.OnPropertyChanged("Selecionado"); + } + } + + [JsonIgnore] + public Func>> ValidationEvent + { + get + { + ClienteEndereco clienteEndereco = this; + return new Func>>(clienteEndereco.Validate); + } + } + + public ClienteEndereco() + { + } + + protected virtual void OnPropertyChanged([CallerMemberName] string propertyName = null) + { + PropertyChangedEventHandler propertyChangedEventHandler = this.PropertyChanged; + if (propertyChangedEventHandler == null) + { + return; + } + propertyChangedEventHandler(this, new PropertyChangedEventArgs(propertyName)); + } + + public List> Validate() + { + List> keyValuePairs = ValidationHelper.AddValue(); + if (string.IsNullOrWhiteSpace(base.Cep)) + { + keyValuePairs.AddValue("Cep", Messages.Obrigatorio, true); + } + else if (!base.Cep.ValidacaoCep()) + { + keyValuePairs.AddValue("Cep", Messages.Invalido, true); + } + if (string.IsNullOrWhiteSpace(base.Endereco)) + { + keyValuePairs.AddValue("Endereco", Messages.Obrigatorio, true); + } + else if (base.Endereco.Length > 150) + { + keyValuePairs.AddValue("Endereco", string.Format(Messages.MaiorQueLimite, 150), true); + } + if (string.IsNullOrWhiteSpace(base.Numero)) + { + keyValuePairs.AddValue("Numero", Messages.Obrigatorio, true); + } + else if (base.Numero.Length > 6) + { + keyValuePairs.AddValue("Numero", string.Format(Messages.MaiorQueLimite, 6), true); + } + if (!string.IsNullOrWhiteSpace(base.Complemento) && base.Complemento.Length > 45) + { + keyValuePairs.AddValue("Complemento", string.Format(Messages.MaiorQueLimite, 45), true); + } + if (string.IsNullOrWhiteSpace(base.Bairro)) + { + keyValuePairs.AddValue("Bairro", Messages.Obrigatorio, true); + } + else if (base.Bairro.Length > 100) + { + keyValuePairs.AddValue("Bairro", string.Format(Messages.MaiorQueLimite, 100), true); + } + if (string.IsNullOrWhiteSpace(base.Cidade)) + { + keyValuePairs.AddValue("Cidade", Messages.Obrigatorio, true); + } + else if (base.Cidade.Length > 50) + { + keyValuePairs.AddValue("Cidade", string.Format(Messages.MaiorQueLimite, 50), true); + } + if (string.IsNullOrWhiteSpace(base.Estado)) + { + keyValuePairs.AddValue("Estado", Messages.Obrigatorio, true); + } + else if (!base.Estado.ValidacaoEstado()) + { + keyValuePairs.AddValue("Estado", Messages.Invalido, true); + } + if (!string.IsNullOrWhiteSpace(this.Observacao) && this.Observacao.Length > 255) + { + keyValuePairs.AddValue("Observacao", string.Format(Messages.MaiorQueLimite, 255), true); + } + return keyValuePairs; + } + + public event PropertyChangedEventHandler PropertyChanged; + } +} \ No newline at end of file -- cgit v1.2.3