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/Granizo.cs | |
| parent | 225aa1499e37faf9d38257caabbadc68d78b427e (diff) | |
| download | gestor-0440c722a221b8068bbf388c1c0c51f0faff0451.tar.gz gestor-0440c722a221b8068bbf388c1c0c51f0faff0451.zip | |
Diffstat (limited to 'Gestor.Model/Gestor.Model.Domain.Seguros/Granizo.cs')
| -rw-r--r-- | Gestor.Model/Gestor.Model.Domain.Seguros/Granizo.cs | 162 |
1 files changed, 162 insertions, 0 deletions
diff --git a/Gestor.Model/Gestor.Model.Domain.Seguros/Granizo.cs b/Gestor.Model/Gestor.Model.Domain.Seguros/Granizo.cs new file mode 100644 index 0000000..fa93869 --- /dev/null +++ b/Gestor.Model/Gestor.Model.Domain.Seguros/Granizo.cs @@ -0,0 +1,162 @@ +using System; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Globalization; +using Gestor.Model.Domain.Generic; +using Gestor.Model.Helper; +using Gestor.Model.Resources; +using Newtonsoft.Json; + +namespace Gestor.Model.Domain.Seguros; + +public class Granizo : EnderecoBase, IDomain +{ + private string _cultura; + + private string _sitio; + + private string _observacao; + + public Item Item { get; set; } + + public string Cultura + { + get + { + return _cultura?.ToUpper(); + } + set + { + _cultura = value; + } + } + + public string Sitio + { + get + { + return _sitio?.ToUpper(); + } + set + { + _sitio = value; + } + } + + public decimal? SubsidioEstadual { get; set; } + + public decimal? SubsidioFederal { get; set; } + + public string Area { get; set; } + + public string Observacao + { + get + { + return _observacao?.ToUpper(); + } + set + { + _observacao = value; + } + } + + [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(base.Cep)) + { + list.AddValue("Cep", Messages.Obrigatorio); + } + else if (!base.Cep.ValidacaoCep()) + { + list.AddValue("Cep", Messages.Invalido); + } + if (string.IsNullOrWhiteSpace(Cultura)) + { + list.AddValue("Cultura", Messages.Obrigatorio); + } + if (!string.IsNullOrWhiteSpace(Cultura) && Cultura.Length > 60) + { + list.AddValue("Cultura", string.Format(Messages.MaiorQueLimite, 60)); + } + if (string.IsNullOrWhiteSpace(Sitio)) + { + list.AddValue("Sitio", Messages.Obrigatorio); + } + if (!string.IsNullOrWhiteSpace(Sitio) && Sitio.Length > 100) + { + list.AddValue("Sitio", string.Format(Messages.MaiorQueLimite, 100)); + } + 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 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.Granizo.Cep) ? "" : item.Granizo.Cep, ""), + new Tuple<string, string, string>("ENDEREÇO", string.IsNullOrWhiteSpace(item.Granizo.Endereco) ? "" : item.Granizo.Endereco.ToUpper(), ""), + new Tuple<string, string, string>("NÚMERO", string.IsNullOrWhiteSpace(item.Granizo.Numero) ? "" : item.Granizo.Numero, ""), + new Tuple<string, string, string>("COMPLEMENTO", string.IsNullOrWhiteSpace(item.Granizo.Complemento) ? "" : item.Granizo.Complemento.ToUpper(), ""), + new Tuple<string, string, string>("BAIRRO", string.IsNullOrWhiteSpace(item.Granizo.Bairro) ? "" : item.Granizo.Bairro.ToUpper(), ""), + new Tuple<string, string, string>("CIDADE", string.IsNullOrWhiteSpace(item.Granizo.Cidade) ? "" : item.Granizo.Cidade.ToUpper(), ""), + new Tuple<string, string, string>("ESTADO", string.IsNullOrWhiteSpace(item.Granizo.Estado) ? "" : item.Granizo.Estado.ToUpper(), ""), + new Tuple<string, string, string>("CULTURA", string.IsNullOrWhiteSpace(item.Granizo.Cultura) ? "" : item.Granizo.Cultura.ToUpper(), ""), + new Tuple<string, string, string>("SÍTIO", string.IsNullOrWhiteSpace(item.Granizo.Sitio) ? "" : item.Granizo.Sitio.ToUpper(), ""), + new Tuple<string, string, string>("SUBSÍDIO FEDERAL", (!item.Granizo.SubsidioFederal.HasValue) ? "" : item.Granizo.SubsidioFederal?.ToString("C", new CultureInfo("pt-BR", useUserOverride: false)), ""), + new Tuple<string, string, string>("SUBSÍDIO ESTADUAL", (!item.Granizo.SubsidioEstadual.HasValue) ? "" : item.Granizo.SubsidioEstadual?.ToString("C", new CultureInfo("pt-BR", useUserOverride: false)), ""), + new Tuple<string, string, string>("OBSERVAÇÕES", string.IsNullOrWhiteSpace(item.Granizo.Observacao) ? "" : item.Granizo.Observacao.ToUpper(), "") + } + } + }; + 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; + } +} |