diff options
| author | Lucas Faria Mendes <lucas.fariamo08@gmail.com> | 2026-03-30 17:17:46 +0000 |
|---|---|---|
| committer | Lucas Faria Mendes <lucas.fariamo08@gmail.com> | 2026-03-30 17:17:46 +0000 |
| commit | 0440c722a221b8068bbf388c1c0c51f0faff0451 (patch) | |
| tree | 169cbf90c50ff7961db82ecb606c50c2a45a1688 /Gestor.Model/Gestor.Model.Domain.Seguros/Patrimonial.cs | |
| parent | 225aa1499e37faf9d38257caabbadc68d78b427e (diff) | |
| download | gestor-master.tar.gz gestor-master.zip | |
Diffstat (limited to 'Gestor.Model/Gestor.Model.Domain.Seguros/Patrimonial.cs')
| -rw-r--r-- | Gestor.Model/Gestor.Model.Domain.Seguros/Patrimonial.cs | 451 |
1 files changed, 451 insertions, 0 deletions
diff --git a/Gestor.Model/Gestor.Model.Domain.Seguros/Patrimonial.cs b/Gestor.Model/Gestor.Model.Domain.Seguros/Patrimonial.cs new file mode 100644 index 0000000..5779e69 --- /dev/null +++ b/Gestor.Model/Gestor.Model.Domain.Seguros/Patrimonial.cs @@ -0,0 +1,451 @@ +using System; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Globalization; +using Gestor.Model.Common; +using Gestor.Model.Domain.Generic; +using Gestor.Model.Helper; +using Gestor.Model.Resources; +using Gestor.Model.Validation; +using Newtonsoft.Json; + +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 TipoMoradia _tipoResidencia; + + public Item Item { get; set; } + + public string Bens + { + get + { + return _bens?.ToUpper(); + } + set + { + _bens = value; + } + } + + public TipoMoradia TipoMoradia + { + get + { + return _tipoResidencia; + } + set + { + _tipoResidencia = value; + } + } + + public Utilizacao? Utilizacao { get; set; } + + public string Imobiliaria + { + get + { + return _imobiliaria?.ToUpper(); + } + set + { + _imobiliaria = value; + } + } + + public string Contato + { + get + { + return _contato?.ToUpper(); + } + set + { + _contato = value; + } + } + + public TipoTelefone? Tipo { get; set; } + + public string Prefixo + { + get + { + return _prefixo?.ToUpper().Trim(); + } + set + { + _prefixo = value; + } + } + + public string Telefone + { + get + { + return _telefone?.ToUpper().Trim(); + } + set + { + _telefone = value; + } + } + + public string Locatario1 + { + get + { + return _locatario?.ToUpper(); + } + set + { + _locatario = value; + } + } + + public string CpfLocatario1 + { + get + { + return _cpfLocatario1?.ToUpper(); + } + set + { + _cpfLocatario1 = value; + } + } + + public string PrefixoLocatario1 { get; set; } + + public string TelefoneLocatario1 { get; set; } + + public string Locatario2 + { + get + { + return _locatario2?.ToUpper(); + } + set + { + _locatario2 = value; + } + } + + public string CpfLocatario2 + { + get + { + return _cpfLocatario2?.ToUpper(); + } + set + { + _cpfLocatario2 = value; + } + } + + public string PrefixoLocatario2 { get; set; } + + public string TelefoneLocatario2 { get; set; } + + public string Locatario3 + { + get + { + return _locatario3?.ToUpper(); + } + set + { + _locatario3 = value; + } + } + + public string CpfLocatario3 + { + get + { + return _cpfLocatario3?.ToUpper(); + } + set + { + _cpfLocatario3 = value; + } + } + + public string PrefixoLocatario3 { get; set; } + + public string TelefoneLocatario3 { get; set; } + + [JsonIgnore] + public Func<List<KeyValuePair<string, string>>> ValidationEvent => Validate; + + public List<KeyValuePair<string, string>> Validate() + { + List<KeyValuePair<string, string>> list = ValidationHelper.AddValue(); + if (!string.IsNullOrWhiteSpace(Imobiliaria) && Imobiliaria.Length > 60) + { + list.AddValue("Imobiliaria", string.Format(Messages.MaiorQueLimite, 60)); + } + if (!string.IsNullOrWhiteSpace(Locatario1) && Locatario1.Length > 100) + { + list.AddValue("Locatario1", string.Format(Messages.MaiorQueLimite, 100)); + } + if (!string.IsNullOrWhiteSpace(Locatario2) && Locatario2.Length > 100) + { + list.AddValue("Locatario2", string.Format(Messages.MaiorQueLimite, 100)); + } + if (!string.IsNullOrWhiteSpace(Locatario3) && Locatario3.Length > 100) + { + list.AddValue("Locatario3", string.Format(Messages.MaiorQueLimite, 100)); + } + if (!string.IsNullOrWhiteSpace(CpfLocatario1) && !CpfLocatario1.ValidacaoDocumento()) + { + list.AddValue("CpfLocatario1", Messages.Invalido); + } + if (!string.IsNullOrWhiteSpace(CpfLocatario2) && !CpfLocatario2.ValidacaoDocumento()) + { + list.AddValue("CpfLocatario2", Messages.Invalido); + } + if (!string.IsNullOrWhiteSpace(CpfLocatario3) && !CpfLocatario3.ValidacaoDocumento()) + { + list.AddValue("CpfLocatario3", Messages.Invalido); + } + if (!string.IsNullOrWhiteSpace(Contato) && Contato.Length > 60) + { + list.AddValue("Contato", string.Format(Messages.MaiorQueLimite, 60)); + } + if (!string.IsNullOrWhiteSpace(Prefixo) && !Prefixo.ValidacaoPrefixo()) + { + list.AddValue("Prefixo", Messages.Invalido); + } + if (!string.IsNullOrWhiteSpace(Telefone) && !Telefone.ValidacaoTelefone()) + { + list.AddValue("Telefone", Messages.Invalido); + } + if (!string.IsNullOrWhiteSpace(PrefixoLocatario1) && !PrefixoLocatario1.ValidacaoPrefixo()) + { + list.AddValue("PrefixoLocatario1", Messages.Invalido); + } + if (!string.IsNullOrWhiteSpace(TelefoneLocatario1) && !TelefoneLocatario1.ValidacaoTelefone()) + { + list.AddValue("TelefoneLocatario1", Messages.Invalido); + } + if (!string.IsNullOrWhiteSpace(PrefixoLocatario2) && !PrefixoLocatario2.ValidacaoPrefixo()) + { + list.AddValue("PrefixoLocatario2", Messages.Invalido); + } + if (!string.IsNullOrWhiteSpace(TelefoneLocatario2) && !TelefoneLocatario2.ValidacaoTelefone()) + { + list.AddValue("TelefoneLocatario2", Messages.Invalido); + } + if (!string.IsNullOrWhiteSpace(PrefixoLocatario3) && !PrefixoLocatario3.ValidacaoPrefixo()) + { + list.AddValue("PrefixoLocatario3", Messages.Invalido); + } + if (!string.IsNullOrWhiteSpace(TelefoneLocatario3) && !TelefoneLocatario3.ValidacaoTelefone()) + { + list.AddValue("TelefoneLocatario3", Messages.Invalido); + } + if (!string.IsNullOrWhiteSpace(base.Bairro) && base.Bairro.Length > 60) + { + list.AddValue("Bairro", string.Format(Messages.MaiorQueLimite, 60)); + } + if (!string.IsNullOrWhiteSpace(base.Cidade) && base.Cidade.Length > 30) + { + list.AddValue("Cidade", string.Format(Messages.MaiorQueLimite, 30)); + } + if (!string.IsNullOrWhiteSpace(base.Numero) && base.Numero.Length > 10) + { + list.AddValue("Numero", string.Format(Messages.MaiorQueLimite, 10)); + } + if (string.IsNullOrWhiteSpace(base.Cep)) + { + list.AddValue("Cep", Messages.Obrigatorio); + } + else if (!base.Cep.ValidacaoCep()) + { + list.AddValue("Cep", Messages.Invalido); + } + if (string.IsNullOrWhiteSpace(base.Endereco)) + { + list.AddValue("Endereco", Messages.Obrigatorio); + } + if (string.IsNullOrWhiteSpace(base.Numero)) + { + list.AddValue("Numero", Messages.Obrigatorio); + } + if (string.IsNullOrWhiteSpace(base.Bairro)) + { + list.AddValue("Bairro", Messages.Obrigatorio); + } + if (string.IsNullOrWhiteSpace(base.Cidade)) + { + list.AddValue("Cidade", Messages.Obrigatorio); + } + if (string.IsNullOrWhiteSpace(base.Estado)) + { + list.AddValue("Estado", Messages.Obrigatorio); + } + else if (!base.Estado.ValidacaoEstado()) + { + list.AddValue("Estado", Messages.Invalido); + } + return list; + } + + public List<KeyValuePair<string, string>> ValidateGarantia() + { + List<KeyValuePair<string, string>> list = ValidationHelper.AddValue(); + if (!string.IsNullOrWhiteSpace(Locatario1) && Locatario1.Length > 100) + { + list.AddValue("Locatario1", string.Format(Messages.MaiorQueLimite, 100)); + } + if (!string.IsNullOrWhiteSpace(Locatario2) && Locatario2.Length > 100) + { + list.AddValue("Locatario2", string.Format(Messages.MaiorQueLimite, 100)); + } + if (!string.IsNullOrWhiteSpace(Locatario3) && Locatario3.Length > 100) + { + list.AddValue("Locatario3", string.Format(Messages.MaiorQueLimite, 100)); + } + if (!string.IsNullOrWhiteSpace(CpfLocatario1) && !CpfLocatario1.ValidacaoDocumento()) + { + list.AddValue("CpfLocatario1", Messages.Invalido); + } + if (!string.IsNullOrWhiteSpace(CpfLocatario2) && !CpfLocatario2.ValidacaoDocumento()) + { + list.AddValue("CpfLocatario2", Messages.Invalido); + } + if (!string.IsNullOrWhiteSpace(CpfLocatario3) && !CpfLocatario3.ValidacaoDocumento()) + { + list.AddValue("CpfLocatario3", Messages.Invalido); + } + if (!string.IsNullOrWhiteSpace(PrefixoLocatario1) && !PrefixoLocatario1.ValidacaoPrefixo()) + { + list.AddValue("PrefixoLocatario1", Messages.Invalido); + } + if (!string.IsNullOrWhiteSpace(TelefoneLocatario1) && !TelefoneLocatario1.ValidacaoTelefone()) + { + list.AddValue("TelefoneLocatario1", Messages.Invalido); + } + if (!string.IsNullOrWhiteSpace(PrefixoLocatario2) && !PrefixoLocatario2.ValidacaoPrefixo()) + { + list.AddValue("PrefixoLocatario2", Messages.Invalido); + } + if (!string.IsNullOrWhiteSpace(TelefoneLocatario2) && !TelefoneLocatario2.ValidacaoTelefone()) + { + list.AddValue("TelefoneLocatario2", Messages.Invalido); + } + if (!string.IsNullOrWhiteSpace(PrefixoLocatario3) && !PrefixoLocatario3.ValidacaoPrefixo()) + { + list.AddValue("PrefixoLocatario3", Messages.Invalido); + } + if (!string.IsNullOrWhiteSpace(TelefoneLocatario3) && !TelefoneLocatario3.ValidacaoTelefone()) + { + list.AddValue("TelefoneLocatario3", Messages.Invalido); + } + return list; + } + + public static List<TupleList> Log(Item item) + { + List<TupleList> list = new List<TupleList> + { + new TupleList + { + Tuples = new ObservableCollection<Tuple<string, string, string>> + { + new Tuple<string, string, string>("CEP", string.IsNullOrWhiteSpace(item.Patrimonial.Cep) ? "" : item.Patrimonial.Cep, ""), + new Tuple<string, string, string>("ENDEREÇO", string.IsNullOrWhiteSpace(item.Patrimonial.Endereco) ? "" : item.Patrimonial.Endereco.ToUpper(), ""), + new Tuple<string, string, string>("NÚMERO", string.IsNullOrWhiteSpace(item.Patrimonial.Numero) ? "" : item.Patrimonial.Numero, ""), + new Tuple<string, string, string>("COMPLEMENTO", string.IsNullOrWhiteSpace(item.Patrimonial.Complemento) ? "" : item.Patrimonial.Complemento.ToUpper(), ""), + new Tuple<string, string, string>("BAIRRO", string.IsNullOrWhiteSpace(item.Patrimonial.Bairro) ? "" : item.Patrimonial.Bairro.ToUpper(), ""), + new Tuple<string, string, string>("CIDADE", string.IsNullOrWhiteSpace(item.Patrimonial.Cidade) ? "" : item.Patrimonial.Cidade.ToUpper(), ""), + new Tuple<string, string, string>("ESTADO", string.IsNullOrWhiteSpace(item.Patrimonial.Estado) ? "" : item.Patrimonial.Estado.ToUpper(), ""), + new Tuple<string, string, string>("BENS", string.IsNullOrWhiteSpace(item.Patrimonial.Bens) ? "" : item.Patrimonial.Bens.ToUpper(), ""), + new Tuple<string, string, string>("OBSERVAÇÕES", string.IsNullOrWhiteSpace(item.Patrimonial.Item.Observacao) ? "" : item.Patrimonial.Item.Observacao.ToUpper(), "") + } + } + }; + if (item.Documento.Controle.Ramo.Id == 15) + { + ObservableCollection<Tuple<string, string, string>> tuples = list[0].Tuples; + object item2; + if (item.Patrimonial.Utilizacao.HasValue) + { + Utilizacao? utilizacao = item.Patrimonial.Utilizacao; + item2 = (utilizacao.HasValue ? utilizacao.GetValueOrDefault().GetDescription() : null); + } + else + { + item2 = ""; + } + tuples.Add(new Tuple<string, string, string>("UTILIZAÇÃO", (string)item2, "")); + list[0].Tuples.Add(new Tuple<string, string, string>("IMOBILIÁRIA", string.IsNullOrWhiteSpace(item.Patrimonial.Imobiliaria) ? "" : item.Patrimonial.Imobiliaria.ToUpper(), "")); + list[0].Tuples.Add(new Tuple<string, string, string>("CONTATO", string.IsNullOrWhiteSpace(item.Patrimonial.Contato) ? "" : item.Patrimonial.Contato.ToUpper(), "")); + ObservableCollection<Tuple<string, string, string>> tuples2 = list[0].Tuples; + object item3; + if (item.Patrimonial.Tipo.HasValue) + { + TipoTelefone? tipo = item.Patrimonial.Tipo; + item3 = (tipo.HasValue ? tipo.GetValueOrDefault().GetDescription() : null); + } + else + { + item3 = ""; + } + tuples2.Add(new Tuple<string, string, string>("TIPO TELEFONE", (string)item3, "")); + list[0].Tuples.Add(new Tuple<string, string, string>("PREFIXO", string.IsNullOrWhiteSpace(item.Patrimonial.Prefixo) ? "" : item.Patrimonial.Prefixo.ToUpper(), "")); + list[0].Tuples.Add(new Tuple<string, string, string>("NÚMERO", string.IsNullOrWhiteSpace(item.Patrimonial.Telefone) ? "" : item.Patrimonial.Telefone.ToUpper(), "")); + list[0].Tuples.Add(new Tuple<string, string, string>("LOCATÁRIO 1", string.IsNullOrWhiteSpace(item.Patrimonial.Locatario1) ? "" : item.Patrimonial.Locatario1.ToUpper(), "")); + list[0].Tuples.Add(new Tuple<string, string, string>("PREFIXO LOCATÁRIO 1", string.IsNullOrWhiteSpace(item.Patrimonial.PrefixoLocatario1) ? "" : item.Patrimonial.PrefixoLocatario1, "")); + list[0].Tuples.Add(new Tuple<string, string, string>("NÚMERO LOCATÁRIO 1", string.IsNullOrWhiteSpace(item.Patrimonial.TelefoneLocatario1) ? "" : item.Patrimonial.TelefoneLocatario1, "")); + list[0].Tuples.Add(new Tuple<string, string, string>("LOCATÁRIO 2", string.IsNullOrWhiteSpace(item.Patrimonial.Locatario2) ? "" : item.Patrimonial.Locatario2.ToUpper(), "")); + list[0].Tuples.Add(new Tuple<string, string, string>("PREFIXO LOCATÁRIO 2", string.IsNullOrWhiteSpace(item.Patrimonial.PrefixoLocatario2) ? "" : item.Patrimonial.PrefixoLocatario2, "")); + list[0].Tuples.Add(new Tuple<string, string, string>("NÚMERO LOCATÁRIO 2", string.IsNullOrWhiteSpace(item.Patrimonial.TelefoneLocatario2) ? "" : item.Patrimonial.TelefoneLocatario2, "")); + list[0].Tuples.Add(new Tuple<string, string, string>("LOCATÁRIO 3", string.IsNullOrWhiteSpace(item.Patrimonial.Locatario3) ? "" : item.Patrimonial.Locatario3.ToUpper(), "")); + list[0].Tuples.Add(new Tuple<string, string, string>("PREFIXO LOCATÁRIO 3", string.IsNullOrWhiteSpace(item.Patrimonial.PrefixoLocatario3) ? "" : item.Patrimonial.PrefixoLocatario3, "")); + list[0].Tuples.Add(new Tuple<string, string, string>("NÚMERO LOCATÁRIO 3", string.IsNullOrWhiteSpace(item.Patrimonial.TelefoneLocatario3) ? "" : item.Patrimonial.TelefoneLocatario3, "")); + } + ObservableCollection<Tuple<string, string, string>> observableCollection = new ObservableCollection<Tuple<string, string, string>> + { + new Tuple<string, string, string>("COBERTURAS$", "", "") + }; + foreach (Cobertura cobertura in item.Coberturas) + { + observableCollection.Add(new Tuple<string, string, string>($" COBERTURA {item.Coberturas.IndexOf(cobertura) + 1}$", "", "")); + observableCollection.Add(new Tuple<string, string, string>(" OBSERVAÇÃO", string.IsNullOrWhiteSpace(cobertura.Observacao) ? "" : cobertura.Observacao.ToUpper(), "")); + observableCollection.Add(new Tuple<string, string, string>(" PRÊMIO", cobertura.Premio.ToString("C", new CultureInfo("pt-BR", useUserOverride: false)), "")); + observableCollection.Add(new Tuple<string, string, string>(" FRANQUIA", cobertura.Franquia.ToString("C", new CultureInfo("pt-BR", useUserOverride: false)), "")); + observableCollection.Add(new Tuple<string, string, string>(" L.M.I.", cobertura.Lmi.ToString("C", new CultureInfo("pt-BR", useUserOverride: false)), "")); + } + list.Add(new TupleList + { + Tuples = observableCollection + }); + return list; + } +} |