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 Consorcio : DomainBase, IDomain { private string _bensConsorcio; private string _grupo; private string _cota; private decimal? _valorCredito; private string _observacao; public Item Item { get; set; } public string BensConsorcio { get { return _bensConsorcio?.ToUpper(); } set { _bensConsorcio = value; } } public string Grupo { get { return _grupo?.ToUpper(); } set { _grupo = value; } } public string Cota { get { return _cota?.ToUpper(); } set { _cota = value; } } public decimal? ValorCredito { get { return _valorCredito; } set { _valorCredito = value; } } public string Observacao { get { return _observacao?.ToUpper(); } set { _observacao = value; } } [JsonIgnore] public Func>> ValidationEvent => Validate; public List> Validate() { List> list = ValidationHelper.AddValue(); if (string.IsNullOrWhiteSpace(BensConsorcio)) { list.AddValue("BensConsorcio", Messages.Obrigatorio); } return list; } public static List Log(Item item) { List list = new List { new TupleList { Tuples = new ObservableCollection> { new Tuple("DESCRIÇÃO", string.IsNullOrWhiteSpace(item.Consorcio.BensConsorcio) ? "" : item.Consorcio.BensConsorcio, ""), new Tuple("GRUPO", string.IsNullOrWhiteSpace(item.Consorcio.Grupo) ? "" : item.Consorcio.Grupo, ""), new Tuple("COTA", string.IsNullOrWhiteSpace(item.Consorcio.Cota) ? "" : item.Consorcio.Cota, ""), new Tuple("GRUPO", (!item.Consorcio.ValorCredito.HasValue) ? "" : item.Consorcio.ValorCredito?.ToString("C", new CultureInfo("pt-BR", useUserOverride: false)), "") } } }; ObservableCollection> observableCollection = new ObservableCollection> { new Tuple("COBERTURAS$", "", "") }; foreach (Cobertura cobertura in item.Coberturas) { observableCollection.Add(new Tuple($" COBERTURA {item.Coberturas.IndexOf(cobertura) + 1}$", "", "")); observableCollection.Add(new Tuple(" OBSERVAÇÃO", string.IsNullOrWhiteSpace(cobertura.Observacao) ? "" : cobertura.Observacao.ToUpper(), "")); observableCollection.Add(new Tuple(" PRÊMIO", cobertura.Premio.ToString("C", new CultureInfo("pt-BR", useUserOverride: false)), "")); observableCollection.Add(new Tuple(" FRANQUIA", cobertura.Franquia.ToString("C", new CultureInfo("pt-BR", useUserOverride: false)), "")); observableCollection.Add(new Tuple(" L.M.I.", cobertura.Lmi.ToString("C", new CultureInfo("pt-BR", useUserOverride: false)), "")); } list.Add(new TupleList { Tuples = observableCollection }); return list; } }