using Gestor.Application.Componentes; using Gestor.Application.Helpers; using Gestor.Application.Model; using Gestor.Application.Servicos; using Gestor.Application.Servicos.Seguros; using Gestor.Application.ViewModels.Generic; using Gestor.Application.Views.Generic; using Gestor.Common.Validation; using Gestor.Model.Common; using Gestor.Model.Domain.BI; using Gestor.Model.Domain.Generic; using Gestor.Model.Domain.Relatorios; using Gestor.Model.Domain.Relatorios.ClientesAtivosInativos; using Gestor.Model.Domain.Seguros; using LiveCharts; using LiveCharts.Defaults; using LiveCharts.Definitions.Series; using LiveCharts.Helpers; using LiveCharts.Wpf; using System; using System.Collections.Generic; using System.Diagnostics; using System.Linq; using System.Runtime.CompilerServices; using System.Threading.Tasks; using System.Windows; namespace Gestor.Application.ViewModels.BI { public class PainelBiViewModel : BaseSegurosViewModel { private readonly ClienteServico _clienteServico; private readonly ApoliceServico _apoliceServico; private readonly ParcelaServico _parcelaServico; private Visibility _isVisibleProducao = Visibility.Collapsed; private Visibility _isVisibleClientes = Visibility.Collapsed; private Visibility _isVisiblePendencia = Visibility.Collapsed; private Visibility _isVisibleVencimento = Visibility.Collapsed; private DateTime _inicio; private DateTime _fim; private DateTime _inicioClientes; private DateTime _fimClientes; private DateTime _inicioVencimento; private DateTime _fimVencimento; private Grafico _producao; private Grafico _fechamento; private int _aniversariantes; private int _vencimentoCnh; private int _vencimentos; private int _parcelasPendentes; private int _parcelasAVencer; private int _cotacoes; private List _parcelasPendencia; private List _parcelasVencimento; private List _documentosVencimento; private List _clientesAniversariantes; private List _clientesCnh; private int _quatidadeProducao; private int _endossos; private int _faturas; private int _apolicesPendentes; private int _novosNegocios; private int _renovacoes; private int _cancelamentos; private decimal _producaoTotal; private decimal _producaoTotalAnterior; private decimal _comissaoTotal; private List _documentosProducao; private List _documentosPendentes; private List _documentosFechamento; private Grafico _gerada; private Grafico _mediaComissao; private Func _yFormatter; private Func _xFormatter; public int Aniversariantes { get { return this._aniversariantes; } set { this._aniversariantes = value; base.OnPropertyChanged("Aniversariantes"); } } public int ApolicesPendentes { get { return this._apolicesPendentes; } set { this._apolicesPendentes = value; base.OnPropertyChanged("ApolicesPendentes"); } } public int Cancelamentos { get { return this._cancelamentos; } set { this._cancelamentos = value; base.OnPropertyChanged("Cancelamentos"); } } public decimal ComissaoTotal { get { return this._comissaoTotal; } set { this._comissaoTotal = value; base.OnPropertyChanged("ComissaoTotal"); } } public int Cotacoes { get { return this._cotacoes; } set { this._cotacoes = value; base.OnPropertyChanged("Cotacoes"); } } public int Endossos { get { return this._endossos; } set { this._endossos = value; base.OnPropertyChanged("Endossos"); } } public int Faturas { get { return this._faturas; } set { this._faturas = value; base.OnPropertyChanged("Faturas"); } } public Grafico Fechamento { get { return this._fechamento; } set { this._fechamento = value; base.OnPropertyChanged("Fechamento"); } } public DateTime Fim { get { return this._fim; } set { this._fim = value; base.OnPropertyChanged("Fim"); } } public DateTime FimClientes { get { return this._fimClientes; } set { this._fimClientes = value; base.OnPropertyChanged("FimClientes"); } } public DateTime FimVencimento { get { return this._fimVencimento; } set { this._fimVencimento = value; base.OnPropertyChanged("FimVencimento"); } } public Grafico Gerada { get { return this._gerada; } set { this._gerada = value; base.OnPropertyChanged("Gerada"); } } public DateTime Inicio { get { return this._inicio; } set { this._inicio = value; base.OnPropertyChanged("Inicio"); } } public DateTime InicioClientes { get { return this._inicioClientes; } set { this._inicioClientes = value; base.OnPropertyChanged("InicioClientes"); } } public DateTime InicioVencimento { get { return this._inicioVencimento; } set { this._inicioVencimento = value; base.OnPropertyChanged("InicioVencimento"); } } public Visibility IsVisibleClientes { get { return this._isVisibleClientes; } set { this._isVisibleClientes = value; base.OnPropertyChanged("IsVisibleClientes"); } } public Visibility IsVisiblePendencia { get { return this._isVisiblePendencia; } set { this._isVisiblePendencia = value; base.OnPropertyChanged("IsVisiblePendencia"); } } public Visibility IsVisibleProducao { get { return this._isVisibleProducao; } set { this._isVisibleProducao = value; base.OnPropertyChanged("IsVisibleProducao"); } } public Visibility IsVisibleVencimento { get { return this._isVisibleVencimento; } set { this._isVisibleVencimento = value; base.OnPropertyChanged("IsVisibleVencimento"); } } public Grafico MediaComissao { get { return this._mediaComissao; } set { this._mediaComissao = value; base.OnPropertyChanged("MediaComissao"); } } public int NovosNegocios { get { return this._novosNegocios; } set { this._novosNegocios = value; base.OnPropertyChanged("NovosNegocios"); } } public int ParcelasAVencer { get { return this._parcelasAVencer; } set { this._parcelasAVencer = value; base.OnPropertyChanged("ParcelasAVencer"); } } public int ParcelasPendentes { get { return this._parcelasPendentes; } set { this._parcelasPendentes = value; base.OnPropertyChanged("ParcelasPendentes"); } } public Grafico Producao { get { return this._producao; } set { this._producao = value; base.OnPropertyChanged("Producao"); } } public decimal ProducaoTotal { get { return this._producaoTotal; } set { this._producaoTotal = value; base.OnPropertyChanged("ProducaoTotal"); } } public decimal ProducaoTotalAnterior { get { return this._producaoTotalAnterior; } set { this._producaoTotalAnterior = value; base.OnPropertyChanged("ProducaoTotalAnterior"); } } public int QuatidadeProducao { get { return this._quatidadeProducao; } set { this._quatidadeProducao = value; base.OnPropertyChanged("QuatidadeProducao"); } } public int Renovacoes { get { return this._renovacoes; } set { this._renovacoes = value; base.OnPropertyChanged("Renovacoes"); } } public int VencimentoCnh { get { return this._vencimentoCnh; } set { this._vencimentoCnh = value; base.OnPropertyChanged("VencimentoCnh"); } } public int Vencimentos { get { return this._vencimentos; } set { this._vencimentos = value; base.OnPropertyChanged("Vencimentos"); } } public Func XFormatter { get { return this._xFormatter; } set { this._xFormatter = value; base.OnPropertyChanged("XFormatter"); } } public Func YFormatter { get { return this._yFormatter; } set { this._yFormatter = value; base.OnPropertyChanged("YFormatter"); } } public PainelBiViewModel() { this._isVisibleProducao = Visibility.Collapsed; this._isVisibleClientes = Visibility.Collapsed; this._isVisiblePendencia = Visibility.Collapsed; this._isVisibleVencimento = Visibility.Collapsed; DateTime date = Funcoes.GetNetworkTime().Date; this._inicio = date.AddDays(-7); this._fim = Funcoes.GetNetworkTime().Date; date = Funcoes.GetNetworkTime().Date; this._inicioClientes = date.AddDays(-7); this._fimClientes = Funcoes.GetNetworkTime().Date; this._inicioVencimento = Funcoes.GetNetworkTime().Date; date = Funcoes.GetNetworkTime().Date; this._fimVencimento = date.AddDays(7); base(); this._clienteServico = new ClienteServico(); this._apoliceServico = new ApoliceServico(); this._parcelaServico = new ParcelaServico(); this.LoadInicial(); } public async void Detalhar(int tipo) { List list; string str = ""; string str1 = "APOLICES"; List strs = new List() { "Nome", "Apolice", "Endosso", "Status", "Negocio", "VigenciaInicial", "VigenciaFinal", "Comissao", "PremioLiquido", "PremioTotal", "Seguradora", "Ramo" }; List strs1 = strs; switch (tipo) { case 1: { str = "COMPARATIVO"; List documentos = this._documentosProducao; List documentos1 = this._documentosFechamento; List documentos2 = new List(); documentos2.AddRange(documentos); documentos2.AddRange(documentos1); IOrderedEnumerable vigencia1 = from x in documentos2 orderby x.get_Vigencia1() select x; list = vigencia1.Select((Documento x) => { object description; Analitico analitico = new Analitico(); analitico.set_Nome(x.get_Controle().get_Cliente().get_Nome() ?? ""); analitico.set_Apolice(x.get_Apolice() ?? ""); analitico.set_Endosso(x.get_Endosso() ?? ""); analitico.set_Comissao(x.get_Comissao()); NegocioCorretora? negocioCorretora = x.get_NegocioCorretora(); if (!negocioCorretora.HasValue) { description = ValidationHelper.GetDescription(x.get_Negocio()); } else { negocioCorretora = x.get_NegocioCorretora(); description = (negocioCorretora.HasValue ? ValidationHelper.GetDescription(negocioCorretora.GetValueOrDefault()) : null) ?? ""; } analitico.set_Negocio((string)description); analitico.set_PremioLiquido(x.get_PremioLiquido()); analitico.set_PremioTotal(x.get_PremioTotal()); analitico.set_VigenciaFinal(x.get_Vigencia2()); analitico.set_VigenciaInicial(x.get_Vigencia1()); analitico.set_Status(ValidationHelper.GetDescription(x.get_Situacao()) ?? ""); analitico.set_Seguradora(x.get_Controle().get_Seguradora().get_NomeSocial()); analitico.set_Ramo(x.get_Controle().get_Ramo().get_Nome()); ClientesAtivosInativos clientesAtivosInativo = new ClientesAtivosInativos(); clientesAtivosInativo.set_Id(x.get_Controle().get_Cliente().get_Id()); clientesAtivosInativo.set_Nome(x.get_Controle().get_Cliente().get_Nome()); analitico.set_Cliente(clientesAtivosInativo); analitico.set_Documento(x); return analitico; }).ToList(); break; } case 2: { str = "NOVOS NEGÓCIOS"; List documentos3 = this._documentosProducao; IEnumerable documentos4 = documentos3.Where((Documento x) => { if (x.get_Tipo() != 0) { return false; } if (x.get_Situacao() == 1) { return true; } if (x.get_Situacao() != 2) { return false; } NegocioCorretora? negocioCorretora = x.get_NegocioCorretora(); return negocioCorretora.GetValueOrDefault() == 0 & negocioCorretora.HasValue; }); IOrderedEnumerable vigencia11 = from x in documentos4 orderby x.get_Vigencia1() select x; list = vigencia11.Select((Documento x) => { object description; Analitico analitico = new Analitico(); analitico.set_Nome(x.get_Controle().get_Cliente().get_Nome() ?? ""); analitico.set_Apolice(x.get_Apolice() ?? ""); analitico.set_Endosso(x.get_Endosso() ?? ""); analitico.set_Comissao(x.get_Comissao()); NegocioCorretora? negocioCorretora = x.get_NegocioCorretora(); if (!negocioCorretora.HasValue) { description = ValidationHelper.GetDescription(x.get_Negocio()); } else { negocioCorretora = x.get_NegocioCorretora(); description = (negocioCorretora.HasValue ? ValidationHelper.GetDescription(negocioCorretora.GetValueOrDefault()) : null) ?? ""; } analitico.set_Negocio((string)description); analitico.set_PremioLiquido(x.get_PremioLiquido()); analitico.set_PremioTotal(x.get_PremioTotal()); analitico.set_VigenciaFinal(x.get_Vigencia2()); analitico.set_VigenciaInicial(x.get_Vigencia1()); analitico.set_Status(ValidationHelper.GetDescription(x.get_Situacao()) ?? ""); analitico.set_Seguradora(x.get_Controle().get_Seguradora().get_NomeSocial()); analitico.set_Ramo(x.get_Controle().get_Ramo().get_Nome()); ClientesAtivosInativos clientesAtivosInativo = new ClientesAtivosInativos(); clientesAtivosInativo.set_Id(x.get_Controle().get_Cliente().get_Id()); clientesAtivosInativo.set_Nome(x.get_Controle().get_Cliente().get_Nome()); analitico.set_Cliente(clientesAtivosInativo); analitico.set_Documento(x); return analitico; }).ToList(); break; } case 3: { str = "RENOVAÇÕES"; List documentos5 = this._documentosProducao; IEnumerable documentos6 = documentos5.Where((Documento x) => { if (x.get_Tipo() != 0) { return false; } if (x.get_Situacao() != 2) { return false; } if (x.get_NegocioCorretora().GetValueOrDefault() == 1) { return true; } return x.get_Negocio().GetValueOrDefault() == 1; }); IOrderedEnumerable vigencia12 = from x in documentos6 orderby x.get_Vigencia1() select x; list = vigencia12.Select((Documento x) => { object description; Analitico analitico = new Analitico(); analitico.set_Nome(x.get_Controle().get_Cliente().get_Nome() ?? ""); analitico.set_Apolice(x.get_Apolice() ?? ""); analitico.set_Endosso(x.get_Endosso() ?? ""); analitico.set_Comissao(x.get_Comissao()); NegocioCorretora? negocioCorretora = x.get_NegocioCorretora(); if (!negocioCorretora.HasValue) { description = ValidationHelper.GetDescription(x.get_Negocio()); } else { negocioCorretora = x.get_NegocioCorretora(); description = (negocioCorretora.HasValue ? ValidationHelper.GetDescription(negocioCorretora.GetValueOrDefault()) : null) ?? ""; } analitico.set_Negocio((string)description); analitico.set_PremioLiquido(x.get_PremioLiquido()); analitico.set_PremioTotal(x.get_PremioTotal()); analitico.set_VigenciaFinal(x.get_Vigencia2()); analitico.set_VigenciaInicial(x.get_Vigencia1()); analitico.set_Status(ValidationHelper.GetDescription(x.get_Situacao()) ?? ""); analitico.set_Seguradora(x.get_Controle().get_Seguradora().get_NomeSocial()); analitico.set_Ramo(x.get_Controle().get_Ramo().get_Nome()); ClientesAtivosInativos clientesAtivosInativo = new ClientesAtivosInativos(); clientesAtivosInativo.set_Id(x.get_Controle().get_Cliente().get_Id()); clientesAtivosInativo.set_Nome(x.get_Controle().get_Cliente().get_Nome()); analitico.set_Cliente(clientesAtivosInativo); analitico.set_Documento(x); return analitico; }).ToList(); break; } case 4: { str = "CANCELAMENTOS"; List documentos7 = this._documentosProducao; IEnumerable documentos8 = documentos7.Where((Documento x) => { if (x.get_Situacao() != 3) { return false; } return x.get_Tipo() == 1; }); IOrderedEnumerable vigencia13 = from x in documentos8 orderby x.get_Vigencia1() select x; list = vigencia13.Select((Documento x) => { object description; Analitico analitico = new Analitico(); analitico.set_Nome(x.get_Controle().get_Cliente().get_Nome() ?? ""); analitico.set_Apolice(x.get_Apolice() ?? ""); analitico.set_Endosso(x.get_Endosso() ?? ""); analitico.set_Comissao(x.get_Comissao()); NegocioCorretora? negocioCorretora = x.get_NegocioCorretora(); if (!negocioCorretora.HasValue) { description = ValidationHelper.GetDescription(x.get_Negocio()); } else { negocioCorretora = x.get_NegocioCorretora(); description = (negocioCorretora.HasValue ? ValidationHelper.GetDescription(negocioCorretora.GetValueOrDefault()) : null) ?? ""; } analitico.set_Negocio((string)description); analitico.set_PremioLiquido(x.get_PremioLiquido()); analitico.set_PremioTotal(x.get_PremioTotal()); analitico.set_VigenciaFinal(x.get_Vigencia2()); analitico.set_VigenciaInicial(x.get_Vigencia1()); analitico.set_Status(ValidationHelper.GetDescription(x.get_Situacao()) ?? ""); analitico.set_Seguradora(x.get_Controle().get_Seguradora().get_NomeSocial()); analitico.set_Ramo(x.get_Controle().get_Ramo().get_Nome()); ClientesAtivosInativos clientesAtivosInativo = new ClientesAtivosInativos(); clientesAtivosInativo.set_Id(x.get_Controle().get_Cliente().get_Id()); clientesAtivosInativo.set_Nome(x.get_Controle().get_Cliente().get_Nome()); analitico.set_Cliente(clientesAtivosInativo); analitico.set_Documento(x); return analitico; }).ToList(); break; } case 5: { str1 = "CLIENTES"; List strs2 = new List() { "Nome", "DocumentoCliente", "Dia/Mês", "Nascimento", "TipoPessoa", "Cidade", "Uf", "Cep", "Telefone", "E-mail", "Profissão" }; strs1 = strs2; List clientesAtivosInativos = this._clientesAniversariantes; list = clientesAtivosInativos.Select((ClientesAtivosInativos x) => { Analitico analitico = new Analitico(); analitico.set_Nome(x.get_Nome() ?? ""); analitico.set_DocumentoCliente(x.get_Documento()); analitico.set_DiaMes(x.get_Aniversario()); analitico.set_TipoPessoa((ValidationHelper.OnlyNumber(x.get_Documento()).Length > 11 ? "JURÍDICA" : "FÍSICA")); analitico.set_Nascimento(x.get_Nascimento()); analitico.set_VencimentoHabilitacao(x.get_VencimentoCnh()); analitico.set_Cliente(x); analitico.set_Cidade(x.get_Cidade()); analitico.set_Uf(x.get_Estado()); analitico.set_Cep(x.get_Cep()); analitico.set_Telefone(x.get_Telefone()); analitico.set_Email(x.get_Email()); analitico.set_Profissao(x.get_Profissao()); return analitico; }).ToList(); break; } case 6: { str1 = "CLIENTES"; strs1 = new List() { "Nome", "DocumentoCliente", "Nascimento", "VencimentoHabilitacao" }; List clientesAtivosInativos1 = this._clientesCnh; list = clientesAtivosInativos1.Select((ClientesAtivosInativos x) => { Analitico analitico = new Analitico(); analitico.set_Nome(x.get_Nome() ?? ""); analitico.set_DocumentoCliente(x.get_Documento()); analitico.set_Nascimento(x.get_Nascimento()); analitico.set_VencimentoHabilitacao(x.get_VencimentoCnh()); analitico.set_Cliente(x); return analitico; }).ToList(); break; } case 7: { str = "APÓLICES À VENCER"; List documentos9 = this._documentosVencimento; IOrderedEnumerable vigencia14 = from x in documentos9 orderby x.get_Vigencia1() select x; list = vigencia14.Select((Documento x) => { object description; Analitico analitico = new Analitico(); analitico.set_Nome(x.get_Controle().get_Cliente().get_Nome() ?? ""); analitico.set_Apolice(x.get_Apolice() ?? ""); analitico.set_Endosso(x.get_Endosso() ?? ""); analitico.set_Comissao(x.get_Comissao()); NegocioCorretora? negocioCorretora = x.get_NegocioCorretora(); if (!negocioCorretora.HasValue) { description = ValidationHelper.GetDescription(x.get_Negocio()); } else { negocioCorretora = x.get_NegocioCorretora(); description = (negocioCorretora.HasValue ? ValidationHelper.GetDescription(negocioCorretora.GetValueOrDefault()) : null) ?? ""; } analitico.set_Negocio((string)description); analitico.set_PremioLiquido(x.get_PremioLiquido()); analitico.set_PremioTotal(x.get_PremioTotal()); analitico.set_VigenciaFinal(x.get_Vigencia2()); analitico.set_VigenciaInicial(x.get_Vigencia1()); analitico.set_Status(ValidationHelper.GetDescription(x.get_Situacao()) ?? ""); analitico.set_Seguradora(x.get_Controle().get_Seguradora().get_NomeSocial()); analitico.set_Ramo(x.get_Controle().get_Ramo().get_Nome()); ClientesAtivosInativos clientesAtivosInativo = new ClientesAtivosInativos(); clientesAtivosInativo.set_Id(x.get_Controle().get_Cliente().get_Id()); clientesAtivosInativo.set_Nome(x.get_Controle().get_Cliente().get_Nome()); analitico.set_Cliente(clientesAtivosInativo); analitico.set_Documento(x); return analitico; }).ToList(); break; } case 8: { List strs3 = new List() { "Nome", "Apolice", "Endosso", "Seguradora", "Comissao", "Vencimento", "Recebimento", "Valor", "ComissaoGerada", "NumeroParcela", "Ramo" }; strs1 = strs3; str = "PARCELAS À VENCER"; str1 = "PARCELAS"; List parcelas = this._parcelasVencimento; IOrderedEnumerable vencimento = from x in parcelas orderby x.get_Vencimento() select x; list = vencimento.Select((Parcela x) => { Analitico analitico = new Analitico(); analitico.set_Nome(x.get_Documento().get_Controle().get_Cliente().get_Nome() ?? ""); analitico.set_Apolice(x.get_Documento().get_Apolice() ?? ""); analitico.set_Endosso(x.get_Documento().get_Endosso() ?? ""); analitico.set_Comissao(x.get_Comissao()); analitico.set_Seguradora(x.get_Documento().get_Controle().get_Seguradora().get_NomeSocial()); analitico.set_Ramo(x.get_Documento().get_Controle().get_Ramo().get_Nome()); analitico.set_Vencimento(x.get_Vencimento()); analitico.set_Recebimento(x.get_DataRecebimento()); analitico.set_Valor(x.get_Valor()); analitico.set_ValorComissao(x.get_ValorComDesconto()); analitico.set_NumeroParcela(x.get_NumeroParcela()); ClientesAtivosInativos clientesAtivosInativo = new ClientesAtivosInativos(); clientesAtivosInativo.set_Id(x.get_Documento().get_Controle().get_Cliente().get_Id()); clientesAtivosInativo.set_Nome(x.get_Documento().get_Controle().get_Cliente().get_Nome()); analitico.set_Cliente(clientesAtivosInativo); analitico.set_Documento(x.get_Documento()); analitico.set_Parcela(x); return analitico; }).ToList(); break; } case 9: { str = "APÓLICES PENDENTES"; List documentos10 = this._documentosPendentes; IEnumerable documentos11 = documentos10.Where((Documento x) => { if (!string.IsNullOrEmpty(x.get_Apolice())) { return false; } return x.get_Tipo() != 2; }); IOrderedEnumerable vigencia15 = from x in documentos11 orderby x.get_Vigencia1() select x; list = vigencia15.Select((Documento x) => { object description; Analitico analitico = new Analitico(); analitico.set_Nome(x.get_Controle().get_Cliente().get_Nome() ?? ""); analitico.set_Apolice(x.get_Apolice() ?? ""); analitico.set_Endosso(x.get_Endosso() ?? ""); analitico.set_Comissao(x.get_Comissao()); NegocioCorretora? negocioCorretora = x.get_NegocioCorretora(); if (!negocioCorretora.HasValue) { description = ValidationHelper.GetDescription(x.get_Negocio()); } else { negocioCorretora = x.get_NegocioCorretora(); description = (negocioCorretora.HasValue ? ValidationHelper.GetDescription(negocioCorretora.GetValueOrDefault()) : null) ?? ""; } analitico.set_Negocio((string)description); analitico.set_PremioLiquido(x.get_PremioLiquido()); analitico.set_PremioTotal(x.get_PremioTotal()); analitico.set_VigenciaFinal(x.get_Vigencia2()); analitico.set_VigenciaInicial(x.get_Vigencia1()); analitico.set_Status(ValidationHelper.GetDescription(x.get_Situacao()) ?? ""); analitico.set_Seguradora(x.get_Controle().get_Seguradora().get_NomeSocial()); analitico.set_Ramo(x.get_Controle().get_Ramo().get_Nome()); ClientesAtivosInativos clientesAtivosInativo = new ClientesAtivosInativos(); clientesAtivosInativo.set_Id(x.get_Controle().get_Cliente().get_Id()); clientesAtivosInativo.set_Nome(x.get_Controle().get_Cliente().get_Nome()); analitico.set_Cliente(clientesAtivosInativo); analitico.set_Documento(x); return analitico; }).ToList(); break; } case 10: { List strs4 = new List() { "Nome", "Apolice", "Endosso", "Seguradora", "Comissao", "Vencimento", "Valor", "NumeroParcela", "Ramo" }; strs1 = strs4; str = "PARCELAS PENDENTES"; str1 = "PARCELAS"; List parcelas1 = this._parcelasPendencia; IOrderedEnumerable vencimento1 = from x in parcelas1 orderby x.get_Vencimento() select x; list = vencimento1.Select((Parcela x) => { Analitico analitico = new Analitico(); analitico.set_Nome(x.get_Documento().get_Controle().get_Cliente().get_Nome() ?? ""); analitico.set_Apolice(x.get_Documento().get_Apolice() ?? ""); analitico.set_Endosso(x.get_Documento().get_Endosso() ?? ""); analitico.set_Comissao(x.get_Comissao()); analitico.set_Seguradora(x.get_Documento().get_Controle().get_Seguradora().get_NomeSocial()); analitico.set_Ramo(x.get_Documento().get_Controle().get_Ramo().get_Nome()); analitico.set_Vencimento(x.get_Vencimento()); analitico.set_Recebimento(x.get_DataRecebimento()); analitico.set_Valor(x.get_Valor()); analitico.set_ValorComissao(x.get_ValorComissao()); analitico.set_NumeroParcela(x.get_NumeroParcela()); ClientesAtivosInativos clientesAtivosInativo = new ClientesAtivosInativos(); clientesAtivosInativo.set_Id(x.get_Documento().get_Controle().get_Cliente().get_Id()); clientesAtivosInativo.set_Nome(x.get_Documento().get_Controle().get_Cliente().get_Nome()); analitico.set_Cliente(clientesAtivosInativo); analitico.set_Documento(x.get_Documento()); analitico.set_Parcela(x); return analitico; }).ToList(); break; } case 11: { str = "ENDOSSOS"; List documentos12 = this._documentosProducao; IEnumerable documentos13 = from x in documentos12 where x.get_Tipo() == 1 select x; IOrderedEnumerable vigencia16 = from x in documentos13 orderby x.get_Vigencia1() select x; list = vigencia16.Select((Documento x) => { object description; Analitico analitico = new Analitico(); analitico.set_Nome(x.get_Controle().get_Cliente().get_Nome() ?? ""); analitico.set_Apolice(x.get_Apolice() ?? ""); analitico.set_Endosso(x.get_Endosso() ?? ""); analitico.set_Comissao(x.get_Comissao()); NegocioCorretora? negocioCorretora = x.get_NegocioCorretora(); if (!negocioCorretora.HasValue) { description = ValidationHelper.GetDescription(x.get_Negocio()); } else { negocioCorretora = x.get_NegocioCorretora(); description = (negocioCorretora.HasValue ? ValidationHelper.GetDescription(negocioCorretora.GetValueOrDefault()) : null) ?? ""; } analitico.set_Negocio((string)description); analitico.set_PremioLiquido(x.get_PremioLiquido()); analitico.set_PremioTotal(x.get_PremioTotal()); analitico.set_VigenciaFinal(x.get_Vigencia2()); analitico.set_VigenciaInicial(x.get_Vigencia1()); analitico.set_Status(ValidationHelper.GetDescription(x.get_Situacao()) ?? ""); analitico.set_Seguradora(x.get_Controle().get_Seguradora().get_NomeSocial()); analitico.set_Ramo(x.get_Controle().get_Ramo().get_Nome()); ClientesAtivosInativos clientesAtivosInativo = new ClientesAtivosInativos(); clientesAtivosInativo.set_Id(x.get_Controle().get_Cliente().get_Id()); clientesAtivosInativo.set_Nome(x.get_Controle().get_Cliente().get_Nome()); analitico.set_Cliente(clientesAtivosInativo); analitico.set_Documento(x); return analitico; }).ToList(); break; } case 12: { str = "FATURAS"; List documentos14 = this._documentosProducao; IEnumerable documentos15 = from x in documentos14 where x.get_Tipo() == 2 select x; IOrderedEnumerable vigencia17 = from x in documentos15 orderby x.get_Vigencia1() select x; list = vigencia17.Select((Documento x) => { object description; Analitico analitico = new Analitico(); analitico.set_Nome(x.get_Controle().get_Cliente().get_Nome() ?? ""); analitico.set_Apolice(x.get_Apolice() ?? ""); analitico.set_Endosso(x.get_Endosso() ?? ""); analitico.set_Comissao(x.get_Comissao()); NegocioCorretora? negocioCorretora = x.get_NegocioCorretora(); if (!negocioCorretora.HasValue) { description = ValidationHelper.GetDescription(x.get_Negocio()); } else { negocioCorretora = x.get_NegocioCorretora(); description = (negocioCorretora.HasValue ? ValidationHelper.GetDescription(negocioCorretora.GetValueOrDefault()) : null) ?? ""; } analitico.set_Negocio((string)description); analitico.set_PremioLiquido(x.get_PremioLiquido()); analitico.set_PremioTotal(x.get_PremioTotal()); analitico.set_VigenciaFinal(x.get_Vigencia2()); analitico.set_VigenciaInicial(x.get_Vigencia1()); analitico.set_Status(ValidationHelper.GetDescription(x.get_Situacao()) ?? ""); analitico.set_Seguradora(x.get_Controle().get_Seguradora().get_NomeSocial()); analitico.set_Ramo(x.get_Controle().get_Ramo().get_Nome()); ClientesAtivosInativos clientesAtivosInativo = new ClientesAtivosInativos(); clientesAtivosInativo.set_Id(x.get_Controle().get_Cliente().get_Id()); clientesAtivosInativo.set_Nome(x.get_Controle().get_Cliente().get_Nome()); analitico.set_Cliente(clientesAtivosInativo); analitico.set_Documento(x); return analitico; }).ToList(); break; } case 13: { str = "TOTAL DOCUMENTOS"; List documentos16 = this._documentosProducao; IEnumerable documentos17 = from x in documentos16 where x.get_Tipo() != 2 select x; IOrderedEnumerable vigencia18 = from x in documentos17 orderby x.get_Vigencia1() select x; list = vigencia18.Select((Documento x) => { object description; Analitico analitico = new Analitico(); analitico.set_Nome(x.get_Controle().get_Cliente().get_Nome() ?? ""); analitico.set_Apolice(x.get_Apolice() ?? ""); analitico.set_Endosso(x.get_Endosso() ?? ""); analitico.set_Comissao(x.get_Comissao()); NegocioCorretora? negocioCorretora = x.get_NegocioCorretora(); if (!negocioCorretora.HasValue) { description = ValidationHelper.GetDescription(x.get_Negocio()); } else { negocioCorretora = x.get_NegocioCorretora(); description = (negocioCorretora.HasValue ? ValidationHelper.GetDescription(negocioCorretora.GetValueOrDefault()) : null) ?? ""; } analitico.set_Negocio((string)description); analitico.set_PremioLiquido(x.get_PremioLiquido()); analitico.set_PremioTotal(x.get_PremioTotal()); analitico.set_VigenciaFinal(x.get_Vigencia2()); analitico.set_VigenciaInicial(x.get_Vigencia1()); analitico.set_Status(ValidationHelper.GetDescription(x.get_Situacao()) ?? ""); analitico.set_Seguradora(x.get_Controle().get_Seguradora().get_NomeSocial()); analitico.set_Ramo(x.get_Controle().get_Ramo().get_Nome()); ClientesAtivosInativos clientesAtivosInativo = new ClientesAtivosInativos(); clientesAtivosInativo.set_Id(x.get_Controle().get_Cliente().get_Id()); clientesAtivosInativo.set_Nome(x.get_Controle().get_Cliente().get_Nome()); analitico.set_Cliente(clientesAtivosInativo); analitico.set_Documento(x); return analitico; }).ToList(); break; } case 14: { str = "PRODUÇÃO ANTERIOR"; List documentos18 = this._documentosFechamento; list = documentos18.Select((Documento x) => { object description; Analitico analitico = new Analitico(); analitico.set_Nome(x.get_Controle().get_Cliente().get_Nome() ?? ""); analitico.set_Apolice(x.get_Apolice() ?? ""); analitico.set_Endosso(x.get_Endosso() ?? ""); analitico.set_Comissao(x.get_Comissao()); NegocioCorretora? negocioCorretora = x.get_NegocioCorretora(); if (!negocioCorretora.HasValue) { description = ValidationHelper.GetDescription(x.get_Negocio()); } else { negocioCorretora = x.get_NegocioCorretora(); description = (negocioCorretora.HasValue ? ValidationHelper.GetDescription(negocioCorretora.GetValueOrDefault()) : null) ?? ""; } analitico.set_Negocio((string)description); analitico.set_PremioLiquido(x.get_PremioLiquido()); analitico.set_PremioTotal(x.get_PremioTotal()); analitico.set_VigenciaFinal(x.get_Vigencia2()); analitico.set_VigenciaInicial(x.get_Vigencia1()); analitico.set_Status(ValidationHelper.GetDescription(x.get_Situacao()) ?? ""); analitico.set_Seguradora(x.get_Controle().get_Seguradora().get_NomeSocial()); analitico.set_Ramo(x.get_Controle().get_Ramo().get_Nome()); ClientesAtivosInativos clientesAtivosInativo = new ClientesAtivosInativos(); clientesAtivosInativo.set_Id(x.get_Controle().get_Cliente().get_Id()); clientesAtivosInativo.set_Nome(x.get_Controle().get_Cliente().get_Nome()); analitico.set_Cliente(clientesAtivosInativo); analitico.set_Documento(x); return analitico; }).ToList(); break; } default: { str = "PRODUÇÃO"; List documentos19 = this._documentosProducao; list = documentos19.Select((Documento x) => { object description; Analitico analitico = new Analitico(); analitico.set_Nome(x.get_Controle().get_Cliente().get_Nome() ?? ""); analitico.set_Apolice(x.get_Apolice() ?? ""); analitico.set_Endosso(x.get_Endosso() ?? ""); analitico.set_Comissao(x.get_Comissao()); NegocioCorretora? negocioCorretora = x.get_NegocioCorretora(); if (!negocioCorretora.HasValue) { description = ValidationHelper.GetDescription(x.get_Negocio()); } else { negocioCorretora = x.get_NegocioCorretora(); description = (negocioCorretora.HasValue ? ValidationHelper.GetDescription(negocioCorretora.GetValueOrDefault()) : null) ?? ""; } analitico.set_Negocio((string)description); analitico.set_PremioLiquido(x.get_PremioLiquido()); analitico.set_PremioTotal(x.get_PremioTotal()); analitico.set_VigenciaFinal(x.get_Vigencia2()); analitico.set_VigenciaInicial(x.get_Vigencia1()); analitico.set_Status(ValidationHelper.GetDescription(x.get_Situacao()) ?? ""); analitico.set_Seguradora(x.get_Controle().get_Seguradora().get_NomeSocial()); analitico.set_Ramo(x.get_Controle().get_Ramo().get_Nome()); ClientesAtivosInativos clientesAtivosInativo = new ClientesAtivosInativos(); clientesAtivosInativo.set_Id(x.get_Controle().get_Cliente().get_Id()); clientesAtivosInativo.set_Nome(x.get_Controle().get_Cliente().get_Nome()); analitico.set_Cliente(clientesAtivosInativo); analitico.set_Documento(x); return analitico; }).ToList(); break; } } if (list.Count != 0) { (new HosterWindow(new DialogAnaliticoBi(str, list, str1, strs1), "ANALÍTICO", new double?((double)1260), new double?((double)500), false)).Show(); } else { await base.ShowMessage("NÃO FOI POSSÍVEL DETALHAR POIS NÃO HÁ DADOS", "OK", "", false); } } public async Task GerarClientes() { long num; this.IsVisibleClientes = Visibility.Collapsed; Filtros filtro = new Filtros(); filtro.set_Inicio(this.InicioClientes); filtro.set_Fim(this.FimClientes); num = (Recursos.Usuario.get_IdEmpresa() == (long)1 ? (long)0 : Recursos.Usuario.get_IdEmpresa()); filtro.set_IdEmpresa(num); Filtros filtro1 = filtro; this._clientesAniversariantes = await this._clienteServico.BuscarAniversariantes(filtro1); this.Aniversariantes = this._clientesAniversariantes.Count; this._clientesCnh = await this._clienteServico.BuscarVencimentosCnh(filtro1); this.VencimentoCnh = this._clientesCnh.Count; this.IsVisibleClientes = Visibility.Visible; filtro1 = null; } public async Task GerarPendencia() { long num; this.IsVisiblePendencia = Visibility.Collapsed; List vendedorUsuarios = await (new VendedorUsuarioServico()).FindByVinculo(Recursos.Usuario); Filtros filtro = new Filtros(); filtro.set_Inicio(this.Inicio); filtro.set_Fim(this.Fim); num = (Recursos.Usuario.get_IdEmpresa() == (long)1 ? (long)0 : Recursos.Usuario.get_IdEmpresa()); filtro.set_IdEmpresa(num); List vendedorUsuarios1 = vendedorUsuarios; filtro.set_Vendedores(( from x in vendedorUsuarios1 select x.get_Vendedor().get_Id()).ToList()); List parcelas = await this._parcelaServico.BuscarParcelasPendentes(filtro, false); PainelBiViewModel list = this; List parcelas1 = parcelas; list._parcelasPendencia = ( from x in parcelas1 where x.get_Documento().get_Situacao() != 7 select x).ToList(); this.ParcelasPendentes = this._parcelasPendencia.Count; this.IsVisiblePendencia = Visibility.Visible; } public async Task GerarProducao() { long num2; long num3; this.IsVisibleProducao = Visibility.Collapsed; PainelBiViewModel painelBiViewModel = this; Grafico grafico = new Grafico() { Series = new SeriesCollection(), Formatter = (double value) => value.ToString("C0") }; painelBiViewModel.Producao = grafico; PainelBiViewModel painelBiViewModel1 = this; Grafico grafico1 = new Grafico() { Series = new SeriesCollection(), Formatter = (double value) => value.ToString("C2") }; painelBiViewModel1.Gerada = grafico1; PainelBiViewModel painelBiViewModel2 = this; Grafico grafico2 = new Grafico() { Series = new SeriesCollection(), Formatter = (double value) => value.ToString("P2") }; painelBiViewModel2.MediaComissao = grafico2; PainelBiViewModel painelBiViewModel3 = this; Grafico grafico3 = new Grafico() { Series = new SeriesCollection(), Formatter = (double value) => value.ToString("C2") }; painelBiViewModel3.Fechamento = grafico3; List vendedorUsuarios = await (new VendedorUsuarioServico()).FindByVinculo(Recursos.Usuario); Filtros filtro = new Filtros(); filtro.set_Inicio(this.Inicio); filtro.set_Fim(this.Fim); num2 = (Recursos.Usuario.get_IdEmpresa() == (long)1 ? (long)0 : Recursos.Usuario.get_IdEmpresa()); filtro.set_IdEmpresa(num2); List vendedorUsuarios1 = vendedorUsuarios; filtro.set_Vendedores(( from x in vendedorUsuarios1 select x.get_Vendedor().get_Id()).ToList()); Filtros filtro1 = filtro; Filtros filtro2 = new Filtros(); DateTime inicio = this.Inicio; filtro2.set_Inicio(inicio.AddYears(-1)); inicio = this.Fim; filtro2.set_Fim(inicio.AddYears(-1)); num3 = (Recursos.Usuario.get_IdEmpresa() == (long)1 ? (long)0 : Recursos.Usuario.get_IdEmpresa()); filtro2.set_IdEmpresa(num3); List vendedorUsuarios2 = vendedorUsuarios; filtro2.set_Vendedores(( from x in vendedorUsuarios2 select x.get_Vendedor().get_Id()).ToList()); Filtros filtro3 = filtro2; List documentos = await this._apoliceServico.BuscarApolices(filtro1, false, true); PainelBiViewModel list = this; List documentos1 = documentos; list._documentosProducao = ( from x in documentos1 where x.get_Situacao() != 7 select x).ToList(); this._documentosPendentes = await this._apoliceServico.BuscarApolicesPendentes(filtro1); List documentos2 = await this._parcelaServico.BuscarFaturas(filtro1, false, true); List documentos3 = this._documentosProducao; List documentos4 = documentos2; documentos3.AddRange( from x in documentos4 where x.get_Situacao() != 7 select x); PainelBiViewModel painelBiViewModel4 = this; List documentos5 = this._documentosPendentes; painelBiViewModel4.ApolicesPendentes = documentos5.Count((Documento x) => { if (!string.IsNullOrEmpty(x.get_Apolice())) { return false; } return x.get_Tipo() != 2; }); await this.GerarPendencia(); List documentos6 = await this._apoliceServico.BuscarApolices(filtro3, false, true); PainelBiViewModel list1 = this; List documentos7 = documentos6; list1._documentosFechamento = ( from x in documentos7 where x.get_Situacao() != 7 select x).ToList(); List documentos8 = await this._parcelaServico.BuscarFaturas(filtro3, false, true); List documentos9 = this._documentosFechamento; List documentos10 = documentos8; documentos9.AddRange( from x in documentos10 where x.get_Situacao() != 7 select x); this.Cotacoes = await this._apoliceServico.Cotacoes(filtro1); PainelBiViewModel painelBiViewModel5 = this; List documentos11 = this._documentosProducao; painelBiViewModel5.QuatidadeProducao = documentos11.Count((Documento x) => x.get_Tipo() != 2); PainelBiViewModel painelBiViewModel6 = this; List documentos12 = this._documentosProducao; painelBiViewModel6.Faturas = documentos12.Count((Documento x) => x.get_Tipo() == 2); PainelBiViewModel painelBiViewModel7 = this; List documentos13 = this._documentosProducao; painelBiViewModel7.NovosNegocios = documentos13.Count((Documento x) => { if (x.get_Tipo() != 0) { return false; } if (x.get_Situacao() == 1) { return true; } if (x.get_Situacao() != 2) { return false; } NegocioCorretora? negocioCorretora = x.get_NegocioCorretora(); return negocioCorretora.GetValueOrDefault() == 0 & negocioCorretora.HasValue; }); PainelBiViewModel painelBiViewModel8 = this; List documentos14 = this._documentosProducao; painelBiViewModel8.Renovacoes = documentos14.Count((Documento x) => { if (x.get_Tipo() != 0) { return false; } if (x.get_Situacao() != 2) { return false; } if (x.get_NegocioCorretora().GetValueOrDefault() == 1) { return true; } return x.get_Negocio().GetValueOrDefault() == 1; }); PainelBiViewModel painelBiViewModel9 = this; List documentos15 = this._documentosProducao; IEnumerable documentos16 = documentos15.Where((Documento x) => { if (x.get_Situacao() != 3) { return false; } return x.get_Tipo() == 1; }); painelBiViewModel9.Cancelamentos = ( from x in documentos16 select x.get_Controle().get_Id()).Distinct().Count(); PainelBiViewModel painelBiViewModel10 = this; List documentos17 = this._documentosProducao; painelBiViewModel10.Endossos = documentos17.Count((Documento x) => x.get_Tipo() == 1); PainelBiViewModel painelBiViewModel11 = this; List documentos18 = this._documentosProducao; painelBiViewModel11.ProducaoTotal = documentos18.Sum((Documento x) => x.get_PremioLiquido()); PainelBiViewModel painelBiViewModel12 = this; List documentos19 = this._documentosFechamento; painelBiViewModel12.ProducaoTotalAnterior = documentos19.Sum((Documento x) => x.get_PremioLiquido()); PainelBiViewModel painelBiViewModel13 = this; List documentos20 = this._documentosProducao; painelBiViewModel13.ComissaoTotal = documentos20.Sum((Documento x) => ((x.get_PremioLiquido() + (x.get_AdicionalComiss() ? x.get_PremioAdicional() : decimal.Zero)) * x.get_Comissao()) * new decimal(1, 0, 0, false, 2)); List documentos21 = this._documentosProducao; IEnumerable> nomeSocial = from x in documentos21 group x by x.get_Controle().get_Seguradora().get_NomeSocial(); ( from x in nomeSocial orderby x.Sum((Documento p) => p.get_PremioLiquido()) descending select x).ToList>().ForEach((IGrouping x) => { ColumnSeries columnSeries = new ColumnSeries(); columnSeries.set_Title(x.Key); ChartValues chartValue = new ChartValues(); chartValue.Add(x.Sum((Documento p) => p.get_PremioLiquido())); columnSeries.set_Values(chartValue); columnSeries.set_LabelPoint((ChartPoint chartPoint) => { IGrouping strs = x; Func u003cu003e9_13631 = PainelBiViewModel.u003cu003ec.u003cu003e9__136_31; if (u003cu003e9_13631 == null) { u003cu003e9_13631 = (Documento p) => p.get_PremioLiquido(); PainelBiViewModel.u003cu003ec.u003cu003e9__136_31 = u003cu003e9_13631; } return string.Concat("R$ ", strs.Sum(u003cu003e9_13631).ToString("N2")); }); columnSeries.set_MaxColumnWidth(double.PositiveInfinity); this.Producao.Series.Add(columnSeries); decimal num = x.Sum((Documento p) => ((p.get_PremioLiquido() + (p.get_AdicionalComiss() ? p.get_PremioAdicional() : decimal.Zero)) * p.get_Comissao()) * new decimal(1, 0, 0, false, 2)); PieSeries pieSeries = new PieSeries(); pieSeries.set_Title(x.Key); ChartValues chartValue1 = new ChartValues(); chartValue1.Add((num > decimal.Zero ? num : num * decimal.MinusOne)); pieSeries.set_Values(chartValue1); pieSeries.set_DataLabels(false); pieSeries.set_LabelPoint((ChartPoint chartPoint) => string.Concat("R$ ", num.ToString("N2"))); this.Gerada.Series.Add(pieSeries); decimal num1 = Math.Round(x.Sum((Documento p) => p.get_Comissao()) / x.Count(), 2); PieSeries pieSeries1 = new PieSeries(); pieSeries1.set_Title(x.Key); ChartValues chartValue2 = new ChartValues(); chartValue2.Add(num1); pieSeries1.set_Values(chartValue2); pieSeries1.set_DataLabels(false); pieSeries1.set_LabelPoint((ChartPoint chartPoint) => string.Format(" Media de Comissão {0}% ", num1)); this.MediaComissao.Series.Add(pieSeries1); }); TimeSpan fim = filtro1.get_Fim() - filtro1.get_Inicio(); double totalDays = fim.TotalDays; ChartValues chartValue3 = new ChartValues(); ChartValues chartValue4 = new ChartValues(); for (int i = 0; (double)i <= totalDays; i++) { inicio = filtro1.get_Inicio(); DateTime dateTime = inicio.AddDays((double)i); DateTime dateTime1 = dateTime.AddYears(-1); IEnumerable vigencia1 = from s in this._documentosFechamento where s.get_Vigencia1() == dateTime1 select s; decimal num4 = vigencia1.Sum((Documento s) => s.get_PremioLiquido()); IEnumerable vigencia11 = from s in this._documentosProducao where s.get_Vigencia1() == dateTime select s; decimal num5 = vigencia11.Sum((Documento s) => s.get_PremioLiquido()); chartValue3.Add(new DateTimePoint(dateTime, (double)((double)num4))); chartValue4.Add(new DateTimePoint(dateTime, (double)((double)num5))); } LineSeries lineSeries = new LineSeries(); inicio = filtro3.get_Inicio(); lineSeries.set_Title(string.Format("{0}", inicio.Year)); lineSeries.set_Values(chartValue3); LineSeries lineSeries1 = lineSeries; LineSeries lineSeries2 = new LineSeries(); inicio = filtro1.get_Inicio(); lineSeries2.set_Title(string.Format("{0}", inicio.Year)); lineSeries2.set_Values(chartValue4); LineSeries lineSeries3 = lineSeries2; this.Fechamento.Series.Add(lineSeries1); this.Fechamento.Series.Add(lineSeries3); PainelBiViewModel str = this; str.XFormatter = (double val) => (new DateTime((long)val)).ToString("dd/MM"); PainelBiViewModel str1 = this; str1.YFormatter = (double val) => val.ToString("C2"); this.IsVisibleProducao = Visibility.Visible; filtro1 = null; filtro3 = null; } public async Task GerarVencimento() { long num; this.IsVisibleVencimento = Visibility.Collapsed; List vendedorUsuarios = await (new VendedorUsuarioServico()).FindByVinculo(Recursos.Usuario); Filtros filtro = new Filtros(); filtro.set_Inicio(this.InicioVencimento); filtro.set_Fim(this.FimVencimento); num = (Recursos.Usuario.get_IdEmpresa() == (long)1 ? (long)0 : Recursos.Usuario.get_IdEmpresa()); filtro.set_IdEmpresa(num); List vendedorUsuarios1 = vendedorUsuarios; filtro.set_Vendedores(( from x in vendedorUsuarios1 select x.get_Vendedor().get_Id()).ToList()); Filtros filtro1 = filtro; List documentos = await this._apoliceServico.BuscarApolicesVigenciaFinal(filtro1, false); PainelBiViewModel list = this; List documentos1 = documentos; list._documentosVencimento = ( from x in documentos1 where x.get_Situacao() != 7 select x).ToList(); this.Vencimentos = this._documentosVencimento.Count; List parcelas = await this._parcelaServico.BuscarParcelas(filtro1, false); PainelBiViewModel painelBiViewModel = this; List parcelas1 = parcelas; painelBiViewModel._parcelasVencimento = ( from x in parcelas1 where x.get_Documento().get_Situacao() != 7 select x).ToList(); this.ParcelasAVencer = this._parcelasVencimento.Count; this.IsVisibleVencimento = Visibility.Visible; filtro1 = null; } private async void LoadInicial() { await this.GerarProducao(); await this.GerarVencimento(); await this.GerarClientes(); } } }