diff options
Diffstat (limited to 'Gestor.Model/Gestor.Model.Domain.Seguros/Vida.cs')
| -rw-r--r-- | Gestor.Model/Gestor.Model.Domain.Seguros/Vida.cs | 129 |
1 files changed, 129 insertions, 0 deletions
diff --git a/Gestor.Model/Gestor.Model.Domain.Seguros/Vida.cs b/Gestor.Model/Gestor.Model.Domain.Seguros/Vida.cs new file mode 100644 index 0000000..c9dc57d --- /dev/null +++ b/Gestor.Model/Gestor.Model.Domain.Seguros/Vida.cs @@ -0,0 +1,129 @@ +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 Vida : DomainBase, IDomain +{ + private string _plano; + + public Item Item { get; set; } + + public string Plano + { + get + { + return _plano?.ToUpper(); + } + set + { + _plano = value; + } + } + + public int? Socios { get; set; } + + public int? Funcionarios { get; set; } + + public decimal? CapitalSocios { get; set; } + + public decimal? CapitalFuncionarios { get; set; } + + public string Observacao { 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(Plano)) + { + list.AddValue("Plano", Messages.Obrigatorio); + } + if (Item?.Documento == null) + { + return list; + } + long id = Item.Documento.Controle.Ramo.Id; + if (id == 7 || id == 10 || id == 53) + { + if (!Socios.HasValue || Socios < 0) + { + list.AddValue("Socios|SÓCIOS", Messages.Obrigatorio); + } + if (!Funcionarios.HasValue || Funcionarios < 0) + { + list.AddValue("Funcionarios|FUNCIONÁRIOS", Messages.Obrigatorio); + } + if (CapitalSocios.HasValue) + { + decimal? capitalSocios = CapitalSocios; + if (!((capitalSocios.GetValueOrDefault() < default(decimal)) & capitalSocios.HasValue)) + { + goto IL_0133; + } + } + list.AddValue("CapitalSocios|CAPITAL SÓCIO", Messages.Obrigatorio); + goto IL_0133; + } + goto IL_017e; + IL_017e: + return list; + IL_0133: + if (CapitalFuncionarios.HasValue) + { + decimal? capitalSocios = CapitalFuncionarios; + if (!((capitalSocios.GetValueOrDefault() < default(decimal)) & capitalSocios.HasValue)) + { + goto IL_017e; + } + } + list.AddValue("CapitalFuncionarios|CAPITAL FUNCIONÁRIO", Messages.Obrigatorio); + goto IL_017e; + } + + 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>("PLANO", string.IsNullOrWhiteSpace(item.Vida.Plano) ? "" : item.Vida.Plano, ""), + new Tuple<string, string, string>("DESCRIÇÃO", string.IsNullOrWhiteSpace(item.Descricao) ? "" : item.Descricao.ToUpper(), ""), + new Tuple<string, string, string>("SÓCIOS", (!item.Vida.Socios.HasValue) ? "" : item.Vida.Socios?.ToString(), ""), + new Tuple<string, string, string>("CAPITAL SÓCIO", (!item.Vida.CapitalSocios.HasValue) ? "" : item.Vida.CapitalSocios?.ToString(), ""), + new Tuple<string, string, string>("FUNCIONÁRIOS", (!item.Vida.Funcionarios.HasValue) ? "" : item.Vida.Funcionarios?.ToString(), ""), + new Tuple<string, string, string>("CAPITAL FUNCIONÁRIOS", (!item.Vida.CapitalFuncionarios.HasValue) ? "" : item.Vida.CapitalFuncionarios?.ToString(), ""), + new Tuple<string, string, string>("QUANTIDADE DE TITULARES", (!item.Vida.Socios.HasValue) ? "" : item.Vida.Socios?.ToString(), ""), + new Tuple<string, string, string>("QUANTIDADE DE BENEFICIÁRIOS", (!item.Vida.Funcionarios.HasValue) ? "" : item.Vida.Funcionarios?.ToString(), "") + } + } + }; + 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; + } +} |