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/Patrimonial.cs | 574 +++++++++++++++++++++ 1 file changed, 574 insertions(+) create mode 100644 Codemerx/Gestor.Model/Model.Domain.Seguros/Patrimonial.cs (limited to 'Codemerx/Gestor.Model/Model.Domain.Seguros/Patrimonial.cs') diff --git a/Codemerx/Gestor.Model/Model.Domain.Seguros/Patrimonial.cs b/Codemerx/Gestor.Model/Model.Domain.Seguros/Patrimonial.cs new file mode 100644 index 0000000..c54f32b --- /dev/null +++ b/Codemerx/Gestor.Model/Model.Domain.Seguros/Patrimonial.cs @@ -0,0 +1,574 @@ +using Gestor.Model.Common; +using Gestor.Model.Domain.Generic; +using Gestor.Model.Helper; +using Gestor.Model.Resources; +using Gestor.Model.Validation; +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Globalization; +using System.Runtime.CompilerServices; + +namespace Gestor.Model.Domain.Seguros +{ + public class Patrimonial : EnderecoBase, IDomain + { + private string _bens; + + private string _imobiliaria; + + private string _locatario; + + private string _locatario2; + + private string _locatario3; + + private string _cpfLocatario1; + + private string _cpfLocatario2; + + private string _cpfLocatario3; + + private string _contato; + + private string _prefixo; + + private string _telefone; + + private Gestor.Model.Common.TipoMoradia _tipoResidencia; + + public string Bens + { + get + { + string str = this._bens; + if (str != null) + { + return str.ToUpper(); + } + return null; + } + set + { + this._bens = value; + } + } + + public string Contato + { + get + { + string str = this._contato; + if (str != null) + { + return str.ToUpper(); + } + return null; + } + set + { + this._contato = value; + } + } + + public string CpfLocatario1 + { + get + { + string str = this._cpfLocatario1; + if (str != null) + { + return str.ToUpper(); + } + return null; + } + set + { + this._cpfLocatario1 = value; + } + } + + public string CpfLocatario2 + { + get + { + string str = this._cpfLocatario2; + if (str != null) + { + return str.ToUpper(); + } + return null; + } + set + { + this._cpfLocatario2 = value; + } + } + + public string CpfLocatario3 + { + get + { + string str = this._cpfLocatario3; + if (str != null) + { + return str.ToUpper(); + } + return null; + } + set + { + this._cpfLocatario3 = value; + } + } + + public string Imobiliaria + { + get + { + string str = this._imobiliaria; + if (str != null) + { + return str.ToUpper(); + } + return null; + } + set + { + this._imobiliaria = value; + } + } + + public Gestor.Model.Domain.Seguros.Item Item + { + get; + set; + } + + public string Locatario1 + { + get + { + string str = this._locatario; + if (str != null) + { + return str.ToUpper(); + } + return null; + } + set + { + this._locatario = value; + } + } + + public string Locatario2 + { + get + { + string str = this._locatario2; + if (str != null) + { + return str.ToUpper(); + } + return null; + } + set + { + this._locatario2 = value; + } + } + + public string Locatario3 + { + get + { + string str = this._locatario3; + if (str != null) + { + return str.ToUpper(); + } + return null; + } + set + { + this._locatario3 = value; + } + } + + public string Prefixo + { + get + { + string str = this._prefixo; + if (str == null) + { + return null; + } + return str.ToUpper().Trim(); + } + set + { + this._prefixo = value; + } + } + + public string PrefixoLocatario1 + { + get; + set; + } + + public string PrefixoLocatario2 + { + get; + set; + } + + public string PrefixoLocatario3 + { + get; + set; + } + + public string Telefone + { + get + { + string str = this._telefone; + if (str == null) + { + return null; + } + return str.ToUpper().Trim(); + } + set + { + this._telefone = value; + } + } + + public string TelefoneLocatario1 + { + get; + set; + } + + public string TelefoneLocatario2 + { + get; + set; + } + + public string TelefoneLocatario3 + { + get; + set; + } + + public TipoTelefone? Tipo + { + get; + set; + } + + public Gestor.Model.Common.TipoMoradia TipoMoradia + { + get + { + return this._tipoResidencia; + } + set + { + this._tipoResidencia = value; + } + } + + public Gestor.Model.Common.Utilizacao? Utilizacao + { + get; + set; + } + + [JsonIgnore] + public Func>> ValidationEvent + { + get + { + Patrimonial patrimonial = this; + return new Func>>(patrimonial.Validate); + } + } + + public Patrimonial() + { + } + + public static List Log(Gestor.Model.Domain.Seguros.Item item) + { + string description; + string str; + List tupleLists = new List() + { + new TupleList() + { + Tuples = new ObservableCollection>() + { + new Tuple("CEP", (string.IsNullOrWhiteSpace(item.Patrimonial.Cep) ? "" : item.Patrimonial.Cep), ""), + new Tuple("ENDEREÇO", (string.IsNullOrWhiteSpace(item.Patrimonial.Endereco) ? "" : item.Patrimonial.Endereco.ToUpper()), ""), + new Tuple("NÚMERO", (string.IsNullOrWhiteSpace(item.Patrimonial.Numero) ? "" : item.Patrimonial.Numero), ""), + new Tuple("COMPLEMENTO", (string.IsNullOrWhiteSpace(item.Patrimonial.Complemento) ? "" : item.Patrimonial.Complemento.ToUpper()), ""), + new Tuple("BAIRRO", (string.IsNullOrWhiteSpace(item.Patrimonial.Bairro) ? "" : item.Patrimonial.Bairro.ToUpper()), ""), + new Tuple("CIDADE", (string.IsNullOrWhiteSpace(item.Patrimonial.Cidade) ? "" : item.Patrimonial.Cidade.ToUpper()), ""), + new Tuple("ESTADO", (string.IsNullOrWhiteSpace(item.Patrimonial.Estado) ? "" : item.Patrimonial.Estado.ToUpper()), ""), + new Tuple("BENS", (string.IsNullOrWhiteSpace(item.Patrimonial.Bens) ? "" : item.Patrimonial.Bens.ToUpper()), ""), + new Tuple("OBSERVAÇÕES", (string.IsNullOrWhiteSpace(item.Patrimonial.Item.Observacao) ? "" : item.Patrimonial.Item.Observacao.ToUpper()), "") + } + } + }; + if (item.Documento.Controle.Ramo.Id == (long)15) + { + ObservableCollection> tuples = tupleLists[0].Tuples; + Gestor.Model.Common.Utilizacao? utilizacao = item.Patrimonial.Utilizacao; + if (!utilizacao.HasValue) + { + description = ""; + } + else + { + utilizacao = item.Patrimonial.Utilizacao; + if (utilizacao.HasValue) + { + description = utilizacao.GetValueOrDefault().GetDescription(); + } + else + { + description = null; + } + } + tuples.Add(new Tuple("UTILIZAÇÃO", description, "")); + tupleLists[0].Tuples.Add(new Tuple("IMOBILIÁRIA", (string.IsNullOrWhiteSpace(item.Patrimonial.Imobiliaria) ? "" : item.Patrimonial.Imobiliaria.ToUpper()), "")); + tupleLists[0].Tuples.Add(new Tuple("CONTATO", (string.IsNullOrWhiteSpace(item.Patrimonial.Contato) ? "" : item.Patrimonial.Contato.ToUpper()), "")); + ObservableCollection> observableCollection = tupleLists[0].Tuples; + TipoTelefone? tipo = item.Patrimonial.Tipo; + if (!tipo.HasValue) + { + str = ""; + } + else + { + tipo = item.Patrimonial.Tipo; + if (tipo.HasValue) + { + str = tipo.GetValueOrDefault().GetDescription(); + } + else + { + str = null; + } + } + observableCollection.Add(new Tuple("TIPO TELEFONE", str, "")); + tupleLists[0].Tuples.Add(new Tuple("PREFIXO", (string.IsNullOrWhiteSpace(item.Patrimonial.Prefixo) ? "" : item.Patrimonial.Prefixo.ToUpper()), "")); + tupleLists[0].Tuples.Add(new Tuple("NÚMERO", (string.IsNullOrWhiteSpace(item.Patrimonial.Telefone) ? "" : item.Patrimonial.Telefone.ToUpper()), "")); + tupleLists[0].Tuples.Add(new Tuple("LOCATÁRIO 1", (string.IsNullOrWhiteSpace(item.Patrimonial.Locatario1) ? "" : item.Patrimonial.Locatario1.ToUpper()), "")); + tupleLists[0].Tuples.Add(new Tuple("PREFIXO LOCATÁRIO 1", (string.IsNullOrWhiteSpace(item.Patrimonial.PrefixoLocatario1) ? "" : item.Patrimonial.PrefixoLocatario1), "")); + tupleLists[0].Tuples.Add(new Tuple("NÚMERO LOCATÁRIO 1", (string.IsNullOrWhiteSpace(item.Patrimonial.TelefoneLocatario1) ? "" : item.Patrimonial.TelefoneLocatario1), "")); + tupleLists[0].Tuples.Add(new Tuple("LOCATÁRIO 2", (string.IsNullOrWhiteSpace(item.Patrimonial.Locatario2) ? "" : item.Patrimonial.Locatario2.ToUpper()), "")); + tupleLists[0].Tuples.Add(new Tuple("PREFIXO LOCATÁRIO 2", (string.IsNullOrWhiteSpace(item.Patrimonial.PrefixoLocatario2) ? "" : item.Patrimonial.PrefixoLocatario2), "")); + tupleLists[0].Tuples.Add(new Tuple("NÚMERO LOCATÁRIO 2", (string.IsNullOrWhiteSpace(item.Patrimonial.TelefoneLocatario2) ? "" : item.Patrimonial.TelefoneLocatario2), "")); + tupleLists[0].Tuples.Add(new Tuple("LOCATÁRIO 3", (string.IsNullOrWhiteSpace(item.Patrimonial.Locatario3) ? "" : item.Patrimonial.Locatario3.ToUpper()), "")); + tupleLists[0].Tuples.Add(new Tuple("PREFIXO LOCATÁRIO 3", (string.IsNullOrWhiteSpace(item.Patrimonial.PrefixoLocatario3) ? "" : item.Patrimonial.PrefixoLocatario3), "")); + tupleLists[0].Tuples.Add(new Tuple("NÚMERO LOCATÁRIO 3", (string.IsNullOrWhiteSpace(item.Patrimonial.TelefoneLocatario3) ? "" : item.Patrimonial.TelefoneLocatario3), "")); + } + ObservableCollection> observableCollection1 = new ObservableCollection>() + { + new Tuple("COBERTURAS$", "", "") + }; + foreach (Cobertura cobertura in item.Coberturas) + { + observableCollection1.Add(new Tuple(string.Format(" COBERTURA {0}$", item.Coberturas.IndexOf(cobertura) + 1), "", "")); + observableCollection1.Add(new Tuple(" OBSERVAÇÃO", (string.IsNullOrWhiteSpace(cobertura.Observacao) ? "" : cobertura.Observacao.ToUpper()), "")); + decimal premio = cobertura.Premio; + observableCollection1.Add(new Tuple(" PRÊMIO", premio.ToString("C", new CultureInfo("pt-BR", false)), "")); + premio = cobertura.Franquia; + observableCollection1.Add(new Tuple(" FRANQUIA", premio.ToString("C", new CultureInfo("pt-BR", false)), "")); + premio = cobertura.Lmi; + observableCollection1.Add(new Tuple(" L.M.I.", premio.ToString("C", new CultureInfo("pt-BR", false)), "")); + } + tupleLists.Add(new TupleList() + { + Tuples = observableCollection1 + }); + return tupleLists; + } + + public List> Validate() + { + List> keyValuePairs = ValidationHelper.AddValue(); + if (!string.IsNullOrWhiteSpace(this.Imobiliaria) && this.Imobiliaria.Length > 60) + { + keyValuePairs.AddValue("Imobiliaria", string.Format(Messages.MaiorQueLimite, 60), true); + } + if (!string.IsNullOrWhiteSpace(this.Locatario1) && this.Locatario1.Length > 100) + { + keyValuePairs.AddValue("Locatario1", string.Format(Messages.MaiorQueLimite, 100), true); + } + if (!string.IsNullOrWhiteSpace(this.Locatario2) && this.Locatario2.Length > 100) + { + keyValuePairs.AddValue("Locatario2", string.Format(Messages.MaiorQueLimite, 100), true); + } + if (!string.IsNullOrWhiteSpace(this.Locatario3) && this.Locatario3.Length > 100) + { + keyValuePairs.AddValue("Locatario3", string.Format(Messages.MaiorQueLimite, 100), true); + } + if (!string.IsNullOrWhiteSpace(this.CpfLocatario1) && !this.CpfLocatario1.ValidacaoDocumento()) + { + keyValuePairs.AddValue("CpfLocatario1", Messages.Invalido, true); + } + if (!string.IsNullOrWhiteSpace(this.CpfLocatario2) && !this.CpfLocatario2.ValidacaoDocumento()) + { + keyValuePairs.AddValue("CpfLocatario2", Messages.Invalido, true); + } + if (!string.IsNullOrWhiteSpace(this.CpfLocatario3) && !this.CpfLocatario3.ValidacaoDocumento()) + { + keyValuePairs.AddValue("CpfLocatario3", Messages.Invalido, true); + } + if (!string.IsNullOrWhiteSpace(this.Contato) && this.Contato.Length > 60) + { + keyValuePairs.AddValue("Contato", string.Format(Messages.MaiorQueLimite, 60), true); + } + if (!string.IsNullOrWhiteSpace(this.Prefixo) && !this.Prefixo.ValidacaoPrefixo()) + { + keyValuePairs.AddValue("Prefixo", Messages.Invalido, true); + } + if (!string.IsNullOrWhiteSpace(this.Telefone) && !this.Telefone.ValidacaoTelefone()) + { + keyValuePairs.AddValue("Telefone", Messages.Invalido, true); + } + if (!string.IsNullOrWhiteSpace(this.PrefixoLocatario1) && !this.PrefixoLocatario1.ValidacaoPrefixo()) + { + keyValuePairs.AddValue("PrefixoLocatario1", Messages.Invalido, true); + } + if (!string.IsNullOrWhiteSpace(this.TelefoneLocatario1) && !this.TelefoneLocatario1.ValidacaoTelefone()) + { + keyValuePairs.AddValue("TelefoneLocatario1", Messages.Invalido, true); + } + if (!string.IsNullOrWhiteSpace(this.PrefixoLocatario2) && !this.PrefixoLocatario2.ValidacaoPrefixo()) + { + keyValuePairs.AddValue("PrefixoLocatario2", Messages.Invalido, true); + } + if (!string.IsNullOrWhiteSpace(this.TelefoneLocatario2) && !this.TelefoneLocatario2.ValidacaoTelefone()) + { + keyValuePairs.AddValue("TelefoneLocatario2", Messages.Invalido, true); + } + if (!string.IsNullOrWhiteSpace(this.PrefixoLocatario3) && !this.PrefixoLocatario3.ValidacaoPrefixo()) + { + keyValuePairs.AddValue("PrefixoLocatario3", Messages.Invalido, true); + } + if (!string.IsNullOrWhiteSpace(this.TelefoneLocatario3) && !this.TelefoneLocatario3.ValidacaoTelefone()) + { + keyValuePairs.AddValue("TelefoneLocatario3", Messages.Invalido, true); + } + if (!string.IsNullOrWhiteSpace(base.Bairro) && base.Bairro.Length > 60) + { + keyValuePairs.AddValue("Bairro", string.Format(Messages.MaiorQueLimite, 60), true); + } + if (!string.IsNullOrWhiteSpace(base.Cidade) && base.Cidade.Length > 30) + { + keyValuePairs.AddValue("Cidade", string.Format(Messages.MaiorQueLimite, 30), true); + } + if (!string.IsNullOrWhiteSpace(base.Numero) && base.Numero.Length > 10) + { + keyValuePairs.AddValue("Numero", string.Format(Messages.MaiorQueLimite, 10), true); + } + 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); + } + if (string.IsNullOrWhiteSpace(base.Numero)) + { + keyValuePairs.AddValue("Numero", Messages.Obrigatorio, true); + } + if (string.IsNullOrWhiteSpace(base.Bairro)) + { + keyValuePairs.AddValue("Bairro", Messages.Obrigatorio, true); + } + if (string.IsNullOrWhiteSpace(base.Cidade)) + { + keyValuePairs.AddValue("Cidade", Messages.Obrigatorio, true); + } + if (string.IsNullOrWhiteSpace(base.Estado)) + { + keyValuePairs.AddValue("Estado", Messages.Obrigatorio, true); + } + else if (!base.Estado.ValidacaoEstado()) + { + keyValuePairs.AddValue("Estado", Messages.Invalido, true); + } + return keyValuePairs; + } + + public List> ValidateGarantia() + { + List> keyValuePairs = ValidationHelper.AddValue(); + if (!string.IsNullOrWhiteSpace(this.Locatario1) && this.Locatario1.Length > 100) + { + keyValuePairs.AddValue("Locatario1", string.Format(Messages.MaiorQueLimite, 100), true); + } + if (!string.IsNullOrWhiteSpace(this.Locatario2) && this.Locatario2.Length > 100) + { + keyValuePairs.AddValue("Locatario2", string.Format(Messages.MaiorQueLimite, 100), true); + } + if (!string.IsNullOrWhiteSpace(this.Locatario3) && this.Locatario3.Length > 100) + { + keyValuePairs.AddValue("Locatario3", string.Format(Messages.MaiorQueLimite, 100), true); + } + if (!string.IsNullOrWhiteSpace(this.CpfLocatario1) && !this.CpfLocatario1.ValidacaoDocumento()) + { + keyValuePairs.AddValue("CpfLocatario1", Messages.Invalido, true); + } + if (!string.IsNullOrWhiteSpace(this.CpfLocatario2) && !this.CpfLocatario2.ValidacaoDocumento()) + { + keyValuePairs.AddValue("CpfLocatario2", Messages.Invalido, true); + } + if (!string.IsNullOrWhiteSpace(this.CpfLocatario3) && !this.CpfLocatario3.ValidacaoDocumento()) + { + keyValuePairs.AddValue("CpfLocatario3", Messages.Invalido, true); + } + if (!string.IsNullOrWhiteSpace(this.PrefixoLocatario1) && !this.PrefixoLocatario1.ValidacaoPrefixo()) + { + keyValuePairs.AddValue("PrefixoLocatario1", Messages.Invalido, true); + } + if (!string.IsNullOrWhiteSpace(this.TelefoneLocatario1) && !this.TelefoneLocatario1.ValidacaoTelefone()) + { + keyValuePairs.AddValue("TelefoneLocatario1", Messages.Invalido, true); + } + if (!string.IsNullOrWhiteSpace(this.PrefixoLocatario2) && !this.PrefixoLocatario2.ValidacaoPrefixo()) + { + keyValuePairs.AddValue("PrefixoLocatario2", Messages.Invalido, true); + } + if (!string.IsNullOrWhiteSpace(this.TelefoneLocatario2) && !this.TelefoneLocatario2.ValidacaoTelefone()) + { + keyValuePairs.AddValue("TelefoneLocatario2", Messages.Invalido, true); + } + if (!string.IsNullOrWhiteSpace(this.PrefixoLocatario3) && !this.PrefixoLocatario3.ValidacaoPrefixo()) + { + keyValuePairs.AddValue("PrefixoLocatario3", Messages.Invalido, true); + } + if (!string.IsNullOrWhiteSpace(this.TelefoneLocatario3) && !this.TelefoneLocatario3.ValidacaoTelefone()) + { + keyValuePairs.AddValue("TelefoneLocatario3", Messages.Invalido, true); + } + return keyValuePairs; + } + } +} \ No newline at end of file -- cgit v1.2.3