using System; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Globalization; using Gestor.Model.Common; using Gestor.Model.Domain.Generic; namespace Gestor.Model.Domain.Seguros; public class Parcelas : DomainBase { public TipoRecebimento? TipoRecebimento { get; set; } public ObservableCollection ParcelasList { get; set; } public List Log(bool restricaoComissao, bool restricaoComissaoPorcentagem) { ObservableCollection> observableCollection = new ObservableCollection> { new Tuple("PARCELAS$", "", "") }; if (ParcelasList != null) { foreach (Parcela parcelas in ParcelasList) { observableCollection.Add(new Tuple($" PARCELA {parcelas.NumeroParcela}$", "", "")); if (TipoRecebimento.GetValueOrDefault() == Gestor.Model.Common.TipoRecebimento.Fatura) { observableCollection.Add(new Tuple(" FATURA", string.IsNullOrWhiteSpace(parcelas.Fatura) ? "" : parcelas.Fatura.ToUpper(), "")); observableCollection.Add(new Tuple(" INÍCIO", (!parcelas.VigenciaIncial.HasValue) ? "" : parcelas.VigenciaIncial?.ToShortDateString(), "")); observableCollection.Add(new Tuple(" FIM", (!parcelas.VigenciaFinal.HasValue) ? "" : parcelas.VigenciaFinal?.ToShortDateString(), "")); observableCollection.Add(new Tuple(" EMISSÃO", (!parcelas.Emissao.HasValue) ? "" : parcelas.Emissao?.ToShortDateString(), "")); } observableCollection.Add(new Tuple(" VENCIMENTO", parcelas.Vencimento.ToShortDateString(), "")); observableCollection.Add(new Tuple(" RECEBIMENTO", (!parcelas.DataRecebimento.HasValue) ? "" : parcelas.DataRecebimento?.ToShortDateString(), "")); observableCollection.Add(new Tuple(" QUITAÇÃO", (!parcelas.DataQuitacao.HasValue) ? "" : parcelas.DataQuitacao?.ToShortDateString(), "")); observableCollection.Add(new Tuple(" DATA PARCELA CONTROLE", (!parcelas.DataControle.HasValue) ? "" : parcelas.DataControle?.ToShortDateString(), "")); observableCollection.Add(new Tuple(" VALOR", parcelas.Valor.ToString("C", new CultureInfo("pt-BR", useUserOverride: false)), "")); observableCollection.Add(new Tuple(" LÍQUIDO", parcelas.ValorLiquidoFatura.ToString("C", new CultureInfo("pt-BR", useUserOverride: false)), "")); if (!restricaoComissao) { observableCollection.Add(new Tuple(" REALIZADO", parcelas.ValorRealizado.ToString("C", new CultureInfo("pt-BR", useUserOverride: false)), "")); observableCollection.Add(new Tuple(" COMISSÃO", (parcelas.Comissao / 100m).ToString("P", new CultureInfo("pt-BR", useUserOverride: false)), "")); observableCollection.Add(new Tuple(" RECEBIDO", parcelas.ValorComissao.ToString("C", new CultureInfo("pt-BR", useUserOverride: false)), "")); } else if (restricaoComissaoPorcentagem) { observableCollection.Add(new Tuple(" REALIZADO", "", "")); observableCollection.Add(new Tuple(" COMISSÃO", (parcelas.Comissao / 100m).ToString("P", new CultureInfo("pt-BR", useUserOverride: false)), "")); observableCollection.Add(new Tuple(" RECEBIDO", "", "")); } else { observableCollection.Add(new Tuple(" REALIZADO", "", "")); observableCollection.Add(new Tuple(" COMISSÃO", "", "")); observableCollection.Add(new Tuple(" RECEBIDO", "", "")); } } } return new List { new TupleList { Tuples = observableCollection } }; } }