summaryrefslogtreecommitdiff
path: root/Gestor.Model/Model.Domain.Seguros/Patrimonial.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Gestor.Model/Model.Domain.Seguros/Patrimonial.cs')
-rw-r--r--Gestor.Model/Model.Domain.Seguros/Patrimonial.cs574
1 files changed, 574 insertions, 0 deletions
diff --git a/Gestor.Model/Model.Domain.Seguros/Patrimonial.cs b/Gestor.Model/Model.Domain.Seguros/Patrimonial.cs
new file mode 100644
index 0000000..c54f32b
--- /dev/null
+++ b/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<List<KeyValuePair<string, string>>> ValidationEvent
+ {
+ get
+ {
+ Patrimonial patrimonial = this;
+ return new Func<List<KeyValuePair<string, string>>>(patrimonial.Validate);
+ }
+ }
+
+ public Patrimonial()
+ {
+ }
+
+ public static List<TupleList> Log(Gestor.Model.Domain.Seguros.Item item)
+ {
+ string description;
+ string str;
+ List<TupleList> tupleLists = 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 == (long)15)
+ {
+ ObservableCollection<Tuple<string, string, string>> 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<string, string, string>("UTILIZAÇÃO", description, ""));
+ tupleLists[0].Tuples.Add(new Tuple<string, string, string>("IMOBILIÁRIA", (string.IsNullOrWhiteSpace(item.Patrimonial.Imobiliaria) ? "" : item.Patrimonial.Imobiliaria.ToUpper()), ""));
+ tupleLists[0].Tuples.Add(new Tuple<string, string, string>("CONTATO", (string.IsNullOrWhiteSpace(item.Patrimonial.Contato) ? "" : item.Patrimonial.Contato.ToUpper()), ""));
+ ObservableCollection<Tuple<string, string, string>> 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<string, string, string>("TIPO TELEFONE", str, ""));
+ tupleLists[0].Tuples.Add(new Tuple<string, string, string>("PREFIXO", (string.IsNullOrWhiteSpace(item.Patrimonial.Prefixo) ? "" : item.Patrimonial.Prefixo.ToUpper()), ""));
+ tupleLists[0].Tuples.Add(new Tuple<string, string, string>("NÚMERO", (string.IsNullOrWhiteSpace(item.Patrimonial.Telefone) ? "" : item.Patrimonial.Telefone.ToUpper()), ""));
+ tupleLists[0].Tuples.Add(new Tuple<string, string, string>("LOCATÁRIO 1", (string.IsNullOrWhiteSpace(item.Patrimonial.Locatario1) ? "" : item.Patrimonial.Locatario1.ToUpper()), ""));
+ tupleLists[0].Tuples.Add(new Tuple<string, string, string>("PREFIXO LOCATÁRIO 1", (string.IsNullOrWhiteSpace(item.Patrimonial.PrefixoLocatario1) ? "" : item.Patrimonial.PrefixoLocatario1), ""));
+ tupleLists[0].Tuples.Add(new Tuple<string, string, string>("NÚMERO LOCATÁRIO 1", (string.IsNullOrWhiteSpace(item.Patrimonial.TelefoneLocatario1) ? "" : item.Patrimonial.TelefoneLocatario1), ""));
+ tupleLists[0].Tuples.Add(new Tuple<string, string, string>("LOCATÁRIO 2", (string.IsNullOrWhiteSpace(item.Patrimonial.Locatario2) ? "" : item.Patrimonial.Locatario2.ToUpper()), ""));
+ tupleLists[0].Tuples.Add(new Tuple<string, string, string>("PREFIXO LOCATÁRIO 2", (string.IsNullOrWhiteSpace(item.Patrimonial.PrefixoLocatario2) ? "" : item.Patrimonial.PrefixoLocatario2), ""));
+ tupleLists[0].Tuples.Add(new Tuple<string, string, string>("NÚMERO LOCATÁRIO 2", (string.IsNullOrWhiteSpace(item.Patrimonial.TelefoneLocatario2) ? "" : item.Patrimonial.TelefoneLocatario2), ""));
+ tupleLists[0].Tuples.Add(new Tuple<string, string, string>("LOCATÁRIO 3", (string.IsNullOrWhiteSpace(item.Patrimonial.Locatario3) ? "" : item.Patrimonial.Locatario3.ToUpper()), ""));
+ tupleLists[0].Tuples.Add(new Tuple<string, string, string>("PREFIXO LOCATÁRIO 3", (string.IsNullOrWhiteSpace(item.Patrimonial.PrefixoLocatario3) ? "" : item.Patrimonial.PrefixoLocatario3), ""));
+ tupleLists[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>> observableCollection1 = new ObservableCollection<Tuple<string, string, string>>()
+ {
+ new Tuple<string, string, string>("COBERTURAS$", "", "")
+ };
+ foreach (Cobertura cobertura in item.Coberturas)
+ {
+ observableCollection1.Add(new Tuple<string, string, string>(string.Format(" COBERTURA {0}$", item.Coberturas.IndexOf(cobertura) + 1), "", ""));
+ observableCollection1.Add(new Tuple<string, string, string>(" OBSERVAÇÃO", (string.IsNullOrWhiteSpace(cobertura.Observacao) ? "" : cobertura.Observacao.ToUpper()), ""));
+ decimal premio = cobertura.Premio;
+ observableCollection1.Add(new Tuple<string, string, string>(" PRÊMIO", premio.ToString("C", new CultureInfo("pt-BR", false)), ""));
+ premio = cobertura.Franquia;
+ observableCollection1.Add(new Tuple<string, string, string>(" FRANQUIA", premio.ToString("C", new CultureInfo("pt-BR", false)), ""));
+ premio = cobertura.Lmi;
+ observableCollection1.Add(new Tuple<string, string, string>(" L.M.I.", premio.ToString("C", new CultureInfo("pt-BR", false)), ""));
+ }
+ tupleLists.Add(new TupleList()
+ {
+ Tuples = observableCollection1
+ });
+ return tupleLists;
+ }
+
+ public List<KeyValuePair<string, string>> Validate()
+ {
+ List<KeyValuePair<string, string>> keyValuePairs = ValidationHelper.AddValue();
+ if (!string.IsNullOrWhiteSpace(this.Imobiliaria) && this.Imobiliaria.Length > 60)
+ {
+ keyValuePairs.AddValue<string, string>("Imobiliaria", string.Format(Messages.MaiorQueLimite, 60), true);
+ }
+ if (!string.IsNullOrWhiteSpace(this.Locatario1) && this.Locatario1.Length > 100)
+ {
+ keyValuePairs.AddValue<string, string>("Locatario1", string.Format(Messages.MaiorQueLimite, 100), true);
+ }
+ if (!string.IsNullOrWhiteSpace(this.Locatario2) && this.Locatario2.Length > 100)
+ {
+ keyValuePairs.AddValue<string, string>("Locatario2", string.Format(Messages.MaiorQueLimite, 100), true);
+ }
+ if (!string.IsNullOrWhiteSpace(this.Locatario3) && this.Locatario3.Length > 100)
+ {
+ keyValuePairs.AddValue<string, string>("Locatario3", string.Format(Messages.MaiorQueLimite, 100), true);
+ }
+ if (!string.IsNullOrWhiteSpace(this.CpfLocatario1) && !this.CpfLocatario1.ValidacaoDocumento())
+ {
+ keyValuePairs.AddValue<string, string>("CpfLocatario1", Messages.Invalido, true);
+ }
+ if (!string.IsNullOrWhiteSpace(this.CpfLocatario2) && !this.CpfLocatario2.ValidacaoDocumento())
+ {
+ keyValuePairs.AddValue<string, string>("CpfLocatario2", Messages.Invalido, true);
+ }
+ if (!string.IsNullOrWhiteSpace(this.CpfLocatario3) && !this.CpfLocatario3.ValidacaoDocumento())
+ {
+ keyValuePairs.AddValue<string, string>("CpfLocatario3", Messages.Invalido, true);
+ }
+ if (!string.IsNullOrWhiteSpace(this.Contato) && this.Contato.Length > 60)
+ {
+ keyValuePairs.AddValue<string, string>("Contato", string.Format(Messages.MaiorQueLimite, 60), true);
+ }
+ if (!string.IsNullOrWhiteSpace(this.Prefixo) && !this.Prefixo.ValidacaoPrefixo())
+ {
+ keyValuePairs.AddValue<string, string>("Prefixo", Messages.Invalido, true);
+ }
+ if (!string.IsNullOrWhiteSpace(this.Telefone) && !this.Telefone.ValidacaoTelefone())
+ {
+ keyValuePairs.AddValue<string, string>("Telefone", Messages.Invalido, true);
+ }
+ if (!string.IsNullOrWhiteSpace(this.PrefixoLocatario1) && !this.PrefixoLocatario1.ValidacaoPrefixo())
+ {
+ keyValuePairs.AddValue<string, string>("PrefixoLocatario1", Messages.Invalido, true);
+ }
+ if (!string.IsNullOrWhiteSpace(this.TelefoneLocatario1) && !this.TelefoneLocatario1.ValidacaoTelefone())
+ {
+ keyValuePairs.AddValue<string, string>("TelefoneLocatario1", Messages.Invalido, true);
+ }
+ if (!string.IsNullOrWhiteSpace(this.PrefixoLocatario2) && !this.PrefixoLocatario2.ValidacaoPrefixo())
+ {
+ keyValuePairs.AddValue<string, string>("PrefixoLocatario2", Messages.Invalido, true);
+ }
+ if (!string.IsNullOrWhiteSpace(this.TelefoneLocatario2) && !this.TelefoneLocatario2.ValidacaoTelefone())
+ {
+ keyValuePairs.AddValue<string, string>("TelefoneLocatario2", Messages.Invalido, true);
+ }
+ if (!string.IsNullOrWhiteSpace(this.PrefixoLocatario3) && !this.PrefixoLocatario3.ValidacaoPrefixo())
+ {
+ keyValuePairs.AddValue<string, string>("PrefixoLocatario3", Messages.Invalido, true);
+ }
+ if (!string.IsNullOrWhiteSpace(this.TelefoneLocatario3) && !this.TelefoneLocatario3.ValidacaoTelefone())
+ {
+ keyValuePairs.AddValue<string, string>("TelefoneLocatario3", Messages.Invalido, true);
+ }
+ if (!string.IsNullOrWhiteSpace(base.Bairro) && base.Bairro.Length > 60)
+ {
+ keyValuePairs.AddValue<string, string>("Bairro", string.Format(Messages.MaiorQueLimite, 60), true);
+ }
+ if (!string.IsNullOrWhiteSpace(base.Cidade) && base.Cidade.Length > 30)
+ {
+ keyValuePairs.AddValue<string, string>("Cidade", string.Format(Messages.MaiorQueLimite, 30), true);
+ }
+ if (!string.IsNullOrWhiteSpace(base.Numero) && base.Numero.Length > 10)
+ {
+ keyValuePairs.AddValue<string, string>("Numero", string.Format(Messages.MaiorQueLimite, 10), true);
+ }
+ if (string.IsNullOrWhiteSpace(base.Cep))
+ {
+ keyValuePairs.AddValue<string, string>("Cep", Messages.Obrigatorio, true);
+ }
+ else if (!base.Cep.ValidacaoCep())
+ {
+ keyValuePairs.AddValue<string, string>("Cep", Messages.Invalido, true);
+ }
+ if (string.IsNullOrWhiteSpace(base.Endereco))
+ {
+ keyValuePairs.AddValue<string, string>("Endereco", Messages.Obrigatorio, true);
+ }
+ if (string.IsNullOrWhiteSpace(base.Numero))
+ {
+ keyValuePairs.AddValue<string, string>("Numero", Messages.Obrigatorio, true);
+ }
+ if (string.IsNullOrWhiteSpace(base.Bairro))
+ {
+ keyValuePairs.AddValue<string, string>("Bairro", Messages.Obrigatorio, true);
+ }
+ if (string.IsNullOrWhiteSpace(base.Cidade))
+ {
+ keyValuePairs.AddValue<string, string>("Cidade", Messages.Obrigatorio, true);
+ }
+ if (string.IsNullOrWhiteSpace(base.Estado))
+ {
+ keyValuePairs.AddValue<string, string>("Estado", Messages.Obrigatorio, true);
+ }
+ else if (!base.Estado.ValidacaoEstado())
+ {
+ keyValuePairs.AddValue<string, string>("Estado", Messages.Invalido, true);
+ }
+ return keyValuePairs;
+ }
+
+ public List<KeyValuePair<string, string>> ValidateGarantia()
+ {
+ List<KeyValuePair<string, string>> keyValuePairs = ValidationHelper.AddValue();
+ if (!string.IsNullOrWhiteSpace(this.Locatario1) && this.Locatario1.Length > 100)
+ {
+ keyValuePairs.AddValue<string, string>("Locatario1", string.Format(Messages.MaiorQueLimite, 100), true);
+ }
+ if (!string.IsNullOrWhiteSpace(this.Locatario2) && this.Locatario2.Length > 100)
+ {
+ keyValuePairs.AddValue<string, string>("Locatario2", string.Format(Messages.MaiorQueLimite, 100), true);
+ }
+ if (!string.IsNullOrWhiteSpace(this.Locatario3) && this.Locatario3.Length > 100)
+ {
+ keyValuePairs.AddValue<string, string>("Locatario3", string.Format(Messages.MaiorQueLimite, 100), true);
+ }
+ if (!string.IsNullOrWhiteSpace(this.CpfLocatario1) && !this.CpfLocatario1.ValidacaoDocumento())
+ {
+ keyValuePairs.AddValue<string, string>("CpfLocatario1", Messages.Invalido, true);
+ }
+ if (!string.IsNullOrWhiteSpace(this.CpfLocatario2) && !this.CpfLocatario2.ValidacaoDocumento())
+ {
+ keyValuePairs.AddValue<string, string>("CpfLocatario2", Messages.Invalido, true);
+ }
+ if (!string.IsNullOrWhiteSpace(this.CpfLocatario3) && !this.CpfLocatario3.ValidacaoDocumento())
+ {
+ keyValuePairs.AddValue<string, string>("CpfLocatario3", Messages.Invalido, true);
+ }
+ if (!string.IsNullOrWhiteSpace(this.PrefixoLocatario1) && !this.PrefixoLocatario1.ValidacaoPrefixo())
+ {
+ keyValuePairs.AddValue<string, string>("PrefixoLocatario1", Messages.Invalido, true);
+ }
+ if (!string.IsNullOrWhiteSpace(this.TelefoneLocatario1) && !this.TelefoneLocatario1.ValidacaoTelefone())
+ {
+ keyValuePairs.AddValue<string, string>("TelefoneLocatario1", Messages.Invalido, true);
+ }
+ if (!string.IsNullOrWhiteSpace(this.PrefixoLocatario2) && !this.PrefixoLocatario2.ValidacaoPrefixo())
+ {
+ keyValuePairs.AddValue<string, string>("PrefixoLocatario2", Messages.Invalido, true);
+ }
+ if (!string.IsNullOrWhiteSpace(this.TelefoneLocatario2) && !this.TelefoneLocatario2.ValidacaoTelefone())
+ {
+ keyValuePairs.AddValue<string, string>("TelefoneLocatario2", Messages.Invalido, true);
+ }
+ if (!string.IsNullOrWhiteSpace(this.PrefixoLocatario3) && !this.PrefixoLocatario3.ValidacaoPrefixo())
+ {
+ keyValuePairs.AddValue<string, string>("PrefixoLocatario3", Messages.Invalido, true);
+ }
+ if (!string.IsNullOrWhiteSpace(this.TelefoneLocatario3) && !this.TelefoneLocatario3.ValidacaoTelefone())
+ {
+ keyValuePairs.AddValue<string, string>("TelefoneLocatario3", Messages.Invalido, true);
+ }
+ return keyValuePairs;
+ }
+ }
+} \ No newline at end of file