From 1f4e14b2e973ee7de337fd4866d9a5ceff5cb6d1 Mon Sep 17 00:00:00 2001 From: Lucas Faria Mendes Date: Mon, 30 Mar 2026 10:38:18 -0300 Subject: chore: location --- .../ViewModels/Generic/BaseApoliceViewModel.cs | 6893 -------------------- 1 file changed, 6893 deletions(-) delete mode 100644 Gestor.Application/ViewModels/Generic/BaseApoliceViewModel.cs (limited to 'Gestor.Application/ViewModels/Generic/BaseApoliceViewModel.cs') diff --git a/Gestor.Application/ViewModels/Generic/BaseApoliceViewModel.cs b/Gestor.Application/ViewModels/Generic/BaseApoliceViewModel.cs deleted file mode 100644 index 5bb2e93..0000000 --- a/Gestor.Application/ViewModels/Generic/BaseApoliceViewModel.cs +++ /dev/null @@ -1,6893 +0,0 @@ -using Gestor.Application.Actions; -using Gestor.Application.Drawers; -using Gestor.Application.Helpers; -using Gestor.Application.Servicos; -using Gestor.Application.Servicos.Ferramentas; -using Gestor.Application.Servicos.Generic; -using Gestor.Application.Servicos.Seguros; -using Gestor.Application.Servicos.Seguros.Itens; -using Gestor.Application.ViewModels; -using Gestor.Application.ViewModels.Seguros; -using Gestor.Common.Validation; -using Gestor.Model.Common; -using Gestor.Model.Domain.Common; -using Gestor.Model.Domain.Configuracoes; -using Gestor.Model.Domain.Ferramentas; -using Gestor.Model.Domain.Generic; -using Gestor.Model.Domain.Seguros; -using Gestor.Model.Helper; -using System; -using System.Collections; -using System.Collections.Generic; -using System.Collections.ObjectModel; -using System.Diagnostics; -using System.Linq; -using System.Runtime.CompilerServices; -using System.Threading.Tasks; -using System.Windows; - -namespace Gestor.Application.ViewModels.Generic -{ - public class BaseApoliceViewModel : BaseSegurosViewModel - { - internal ApoliceServico Servico; - - internal Gestor.Application.Servicos.Seguros.PerfilServico PerfilServico; - - internal Gestor.Application.Servicos.Ferramentas.RamoServico RamoServico; - - internal Gestor.Application.Servicos.Ferramentas.SeguradoraServico SeguradoraServico; - - internal Gestor.Application.Servicos.Ferramentas.VendedorServico VendedorServico; - - internal Gestor.Application.Servicos.ParcelaServico ParcelaServico; - - internal Gestor.Application.Servicos.Ferramentas.ProdutoServico ProdutoServico; - - internal Gestor.Application.Servicos.Ferramentas.EstipulanteServico EstipulanteServico; - - internal Gestor.Application.Servicos.TarefaServico TarefaServico; - - private bool _invoke = true; - - public bool UpdatePremio; - - private bool _enableControle = true; - - private bool _apelido; - - private bool _controleAdm; - - private Documento _selectedDocumento; - - private Visibility _visibilityExcluirParcela = Visibility.Collapsed; - - private Visibility _visibilityReplicarFatura = Visibility.Collapsed; - - private Visibility _visibilityAlterarVencimento; - - private string _importado = "CLIQUE PARA VER INFORMAÇÕES SOBRE A INCLUSÃO"; - - private string _codigoDocumento; - - private DateTime? _emissaoDocumento; - - private DateTime? _transmissaoDocumento; - - private bool _editandoParcela; - - private bool _botoesParcelaEnabled = true; - - private List _vendedores; - - private List _todosVendedores; - - private ObservableCollection _pagamentos; - - private ObservableCollection _situacao = new ObservableCollection(new List() - { - 1, - 2, - 5 - }); - - private ObservableCollection _tipoEndosso = new ObservableCollection(new List() - { - 0, - 1, - 2, - 4, - 3 - }); - - private Parcela _selectedParcela; - - private bool _coCorretagem; - - private Visibility _baixarParcelaVisibility = Visibility.Collapsed; - - private ObservableCollection _parcelas; - - private decimal _gerada; - - private decimal _comissOriginal; - - private Visibility _comissOriginalVisibility = Visibility.Collapsed; - - private decimal _recebida; - - private decimal _pendente; - - private decimal _repasse; - - private Visibility _recusaVisibility; - - private string _excluirParcelaLabel = "EXCLUIR BAIXA"; - - private bool _isEnableSituacao; - - private List _produtos = Recursos.Produtos; - - private List _status = Recursos.Status; - - private List _ramos; - - private List _seguradorasAnteriores; - - private List _seguradoras; - - private Visibility _isRenovacaoVisibility = Visibility.Collapsed; - - private bool _isEndosso; - - private bool _enableAlterarSituacao; - - private string _assinada = "PROPOSTA ASSINADA"; - - private string _conferida = "APÓLICE CONFERIDA"; - - private string _transmissao = "TRANSMISSÃO DE PROPOSTA"; - - private string _emissao = "EMISSÃO DA APÓLICE"; - - private List _tiposVendedor; - - private List _estipulantes; - - public Documento CancelDocumento; - - private List _repasses; - - private List _repassesVendedores; - - private List _repassesVendedor; - - private VendedorParcela _selectedPagamento; - - private bool _baixarParcelas; - - private bool _isFatura; - - private bool _ultimaFatura; - - private bool _allowEditVendedor; - - private bool _alteracaoEnabled; - - private bool _allowEditEmissao; - - private bool _allowEditApolice; - - private bool _allowVigenciaFinal; - - private bool _novaApolice; - - private bool _renovar; - - public decimal Tolerancia; - - private bool _enableRepasse; - - private bool _bloquearObservacao; - - private string _editarParcelasLabel; - - private string _anotacoes; - - private int _quantidadeFaturas; - - private double _tamanhoGrid; - - private bool _inclusao; - - private bool _criandoParcelaEspecial; - - private bool _visibilityLogAntigo; - - public AcessoApolice Acesso - { - get; - set; - } - - public bool AllowEditApolice - { - get - { - return this._allowEditApolice; - } - set - { - this._allowEditApolice = value; - this.AllowVigenciaFinal = (value ? true : this.IsFatura); - base.OnPropertyChanged("AllowEditApolice"); - } - } - - public bool AllowEditEmissao - { - get - { - return this._allowEditEmissao; - } - set - { - this._allowEditEmissao = value; - base.OnPropertyChanged("AllowEditEmissao"); - } - } - - public bool AllowEditVendedor - { - get - { - return this._allowEditVendedor; - } - set - { - this._allowEditVendedor = this._incluirPermissEnabled & value; - base.OnPropertyChanged("AllowEditVendedor"); - } - } - - public bool AllowVigenciaFinal - { - get - { - return this._allowVigenciaFinal; - } - set - { - this._allowVigenciaFinal = value; - base.OnPropertyChanged("AllowVigenciaFinal"); - } - } - - public bool AlteracaoEnabled - { - get - { - return this._alteracaoEnabled; - } - set - { - this._alteracaoEnabled = value; - base.OnPropertyChanged("AlteracaoEnabled"); - } - } - - public new string Anotacoes - { - get - { - return this._anotacoes; - } - set - { - this._anotacoes = value; - base.OnPropertyChanged("Anotacoes"); - } - } - - public bool Apelido - { - get - { - return this._apelido; - } - set - { - this._apelido = value; - base.OnPropertyChanged("Apelido"); - } - } - - public string Assinada - { - get - { - return this._assinada; - } - set - { - this._assinada = value; - base.OnPropertyChanged("Assinada"); - } - } - - public bool BaixarParcelas - { - get - { - return this._baixarParcelas; - } - set - { - this._baixarParcelas = value; - base.OnPropertyChanged("BaixarParcelas"); - } - } - - public Visibility BaixarParcelaVisibility - { - get - { - return this._baixarParcelaVisibility; - } - set - { - if (base.Restricao(15)) - { - return; - } - this._baixarParcelaVisibility = value; - base.OnPropertyChanged("BaixarParcelaVisibility"); - } - } - - public bool BloquearObservacao - { - get - { - return this._bloquearObservacao; - } - set - { - this._bloquearObservacao = value; - base.OnPropertyChanged("BloquearObservacao"); - } - } - - public bool BotoesParcelaEnabled - { - get - { - return this._botoesParcelaEnabled; - } - set - { - this._botoesParcelaEnabled = value; - base.OnPropertyChanged("BotoesParcelaEnabled"); - } - } - - public bool CoCorretagem - { - get - { - return this._coCorretagem; - } - set - { - if (this.SelectedPagamento != null) - { - this.SelectedPagamento.set_CoCorretagem(value); - } - this._coCorretagem = value; - base.OnPropertyChanged("CoCorretagem"); - } - } - - public string CodigoDocumento - { - get - { - return this._codigoDocumento; - } - set - { - this._codigoDocumento = value; - base.OnPropertyChanged("CodigoDocumento"); - } - } - - public decimal ComissOriginal - { - get - { - return this._comissOriginal; - } - set - { - this.ComissOriginalVisibility = (this.VerificaCoCorretagem() ? Visibility.Visible : Visibility.Collapsed); - this._comissOriginal = value; - base.OnPropertyChanged("ComissOriginal"); - } - } - - public Visibility ComissOriginalVisibility - { - get - { - return this._comissOriginalVisibility; - } - set - { - this._comissOriginalVisibility = value; - base.OnPropertyChanged("ComissOriginalVisibility"); - } - } - - public string Conferida - { - get - { - return this._conferida; - } - set - { - this._conferida = value; - base.OnPropertyChanged("Conferida"); - } - } - - public bool ControleAdm - { - get - { - return this._controleAdm; - } - set - { - this._controleAdm = value; - base.OnPropertyChanged("ControleAdm"); - } - } - - public bool CriandoParcelaEspecial - { - get - { - return this._criandoParcelaEspecial; - } - set - { - this._criandoParcelaEspecial = value; - } - } - - private Documento DocumentoRenovado - { - get; - set; - } - - internal Documento DocumentoSelecionado - { - get; - set; - } - - public bool EditandoParcela - { - get - { - return this._editandoParcela; - } - set - { - this._editandoParcela = value; - base.OnPropertyChanged("EditandoParcela"); - } - } - - public string EditarParcelasLabel - { - get - { - return this._editarParcelasLabel; - } - set - { - this._editarParcelasLabel = value; - base.OnPropertyChanged("EditarParcelasLabel"); - } - } - - public string Emissao - { - get - { - return this._emissao; - } - set - { - this._emissao = value; - base.OnPropertyChanged("Emissao"); - } - } - - public DateTime? EmissaoDocumento - { - get - { - return this._emissaoDocumento; - } - set - { - this._emissaoDocumento = value; - base.OnPropertyChanged("EmissaoDocumento"); - } - } - - public bool EnableAlterarSituacao - { - get - { - return this._enableAlterarSituacao; - } - set - { - this._enableAlterarSituacao = value; - base.OnPropertyChanged("EnableAlterarSituacao"); - } - } - - public bool EnableControle - { - get - { - return this._enableControle; - } - set - { - this._enableControle = value; - base.OnPropertyChanged("EnableControle"); - } - } - - public bool EnableRepasse - { - get - { - return this._enableRepasse; - } - set - { - this._enableRepasse = value; - base.OnPropertyChanged("EnableRepasse"); - } - } - - public List Estipulantes - { - get - { - return this._estipulantes; - } - set - { - this._estipulantes = value; - base.OnPropertyChanged("Estipulantes"); - } - } - - public string ExcluirParcelaLabel - { - get - { - return this._excluirParcelaLabel; - } - set - { - this._excluirParcelaLabel = value; - base.OnPropertyChanged("ExcluirParcelaLabel"); - } - } - - public decimal Gerada - { - get - { - return this._gerada; - } - set - { - this._gerada = value; - base.OnPropertyChanged("Gerada"); - } - } - - public string Importado - { - get - { - return this._importado; - } - set - { - this._importado = value; - base.OnPropertyChanged("Importado"); - } - } - - public Gestor.Model.Domain.Ferramentas.Imposto Imposto - { - get; - set; - } - - public bool Inclusao - { - get - { - return this._inclusao; - } - set - { - this._inclusao = value; - base.OnPropertyChanged("Inclusao"); - } - } - - public bool Invoke - { - get - { - return this._invoke; - } - set - { - this._invoke = value; - base.OnPropertyChanged("Invoke"); - } - } - - public bool IsEnableSituacao - { - get - { - return this._isEnableSituacao; - } - set - { - this._isEnableSituacao = value; - base.OnPropertyChanged("IsEnableSituacao"); - } - } - - public bool IsEndosso - { - get - { - return this._isEndosso; - } - set - { - this._isEndosso = value; - this.WorkOnSelectedTipo(value); - base.OnPropertyChanged("IsEndosso"); - } - } - - public bool IsFatura - { - get - { - return this._isFatura; - } - set - { - this._isFatura = value; - base.OnPropertyChanged("IsFatura"); - } - } - - public Visibility IsRenovacaoVisibility - { - get - { - return this._isRenovacaoVisibility; - } - set - { - this._isRenovacaoVisibility = value; - base.OnPropertyChanged("IsRenovacaoVisibility"); - } - } - - public bool Loaded - { - get; - set; - } - - public bool NovaApolice - { - get - { - return this._novaApolice; - } - set - { - this._novaApolice = value; - base.OnPropertyChanged("NovaApolice"); - } - } - - public ObservableCollection Pagamentos - { - get - { - return this._pagamentos; - } - set - { - this._pagamentos = value; - base.OnPropertyChanged("Pagamentos"); - } - } - - public ObservableCollection Parcelas - { - get - { - return this._parcelas; - } - set - { - this._parcelas = value; - if (value != null && value.Count == 0) - { - this.VisibilityExcluirParcela = Visibility.Collapsed; - this.VisibilityReplicarFatura = Visibility.Collapsed; - this.BaixarParcelaVisibility = Visibility.Collapsed; - this.VisibilityAlterarVencimento = Visibility.Collapsed; - } - base.OnPropertyChanged("Parcelas"); - } - } - - internal long ParcelaSelecionada - { - get; - set; - } - - public decimal Pendente - { - get - { - return this._pendente; - } - set - { - this._pendente = value; - base.OnPropertyChanged("Pendente"); - } - } - - public List Produtos - { - get - { - return this._produtos; - } - set - { - this._produtos = value; - base.OnPropertyChanged("Produtos"); - } - } - - public int QuantidadeFaturas - { - get - { - return this._quantidadeFaturas; - } - set - { - if (value < 0) - { - value = 0; - } - if (value > 12) - { - value = 12; - } - this._quantidadeFaturas = value; - base.OnPropertyChanged("QuantidadeFaturas"); - } - } - - public List Ramos - { - get - { - return this._ramos; - } - set - { - this._ramos = value; - base.OnPropertyChanged("Ramos"); - } - } - - public decimal Recebida - { - get - { - return this._recebida; - } - set - { - this._recebida = value; - base.OnPropertyChanged("Recebida"); - } - } - - public Visibility RecusaVisibility - { - get - { - return this._recusaVisibility; - } - set - { - this._recusaVisibility = (!base.Restricao(18) ? value : Visibility.Collapsed); - base.OnPropertyChanged("RecusaVisibility"); - } - } - - public bool Renovar - { - get - { - return this._renovar; - } - set - { - this._renovar = value; - base.OnPropertyChanged("Renovar"); - } - } - - public decimal Repasse - { - get - { - return this._repasse; - } - set - { - this._repasse = value; - base.OnPropertyChanged("Repasse"); - } - } - - public List Repasses - { - get - { - return this._repasses; - } - set - { - this._repasses = value; - base.OnPropertyChanged("Repasses"); - } - } - - public List RepassesVendedor - { - get - { - return this._repassesVendedor; - } - set - { - this._repassesVendedor = value; - this.EnableRepasse = (value == null ? false : value.Count > 0); - base.OnPropertyChanged("RepassesVendedor"); - } - } - - public List RepassesVendedores - { - get - { - return this._repassesVendedores; - } - set - { - this._repassesVendedores = value; - base.OnPropertyChanged("RepassesVendedores"); - } - } - - public List Seguradoras - { - get - { - return this._seguradoras; - } - set - { - this._seguradoras = value; - base.OnPropertyChanged("Seguradoras"); - } - } - - public List SeguradorasAnteriores - { - get - { - return this._seguradorasAnteriores; - } - set - { - this._seguradorasAnteriores = value; - base.OnPropertyChanged("SeguradorasAnteriores"); - } - } - - public Documento SelectedDocumento - { - get - { - return this._selectedDocumento; - } - set - { - DateTime networkTime; - long? nullable; - bool flag; - DateTime? emissao; - DateTime? remessa; - Visibility visibility; - long? nullable1; - string apolice; - if (value != null && value.get_Id() == 0) - { - this.VisibilityLogAntigo = false; - } - this._selectedDocumento = value; - this.Anotacoes = string.Empty; - base.EnableButtons = (value == null ? false : value.get_Id() > (long)0); - base.EnableIncluir = (value == null ? true : value.get_Id() > (long)0); - bool flag1 = Recursos.Configuracoes.Any((ConfiguracaoSistema x) => x.get_Configuracao() == 13); - if (value == null || value.get_Id() <= (long)0) - { - flag = false; - } - else if (flag1) - { - flag = true; - } - else - { - flag = (string.IsNullOrWhiteSpace(value.get_Apolice()) || string.IsNullOrWhiteSpace(value.get_Proposta()) ? false : value.get_Emissao().HasValue); - } - base.EnableEndossar = flag; - base.EnableRenovar = (value == null || value.get_Id() <= (long)0 || !value.get_Vigencia2().HasValue ? false : !string.IsNullOrWhiteSpace(value.get_Apolice())); - if (value == null || value.get_Id() == 0) - { - this.ZeraComissao(); - } - this.CodigoDocumento = (this.SelectedDocumento == null || this.SelectedDocumento.get_Id() == 0 ? "" : string.Format("{0}", this.SelectedDocumento.get_Id())); - if (value != null && value.get_Status() == null && this.Status.First().get_Nome() == "SEM STATUS") - { - value.set_Status(this.Status.First()); - } - if (value == null || !value.get_Emissao().HasValue) - { - networkTime = Funcoes.GetNetworkTime(); - emissao = new DateTime?(networkTime.Date); - } - else - { - emissao = value.get_Emissao(); - } - this.EmissaoDocumento = emissao; - if (value == null || !value.get_Remessa().HasValue) - { - networkTime = Funcoes.GetNetworkTime(); - remessa = new DateTime?(networkTime.Date); - } - else - { - remessa = value.get_Remessa(); - } - this.TransmissaoDocumento = remessa; - if (Recursos.Configuracoes.Any((ConfiguracaoSistema x) => x.get_Configuracao() == 19)) - { - if (value != null) - { - apolice = value.get_Apolice(); - } - else - { - apolice = null; - } - if (string.IsNullOrWhiteSpace(apolice) || !value.get_Emissao().HasValue) - { - visibility = Visibility.Visible; - this.RecusaVisibility = visibility; - if (value != null) - { - nullable1 = new long?(value.get_Id()); - } - else - { - nullable = null; - nullable1 = nullable; - } - base.VerificarEnables(nullable1); - base.OnPropertyChanged("SelectedDocumento"); - return; - } - visibility = Visibility.Collapsed; - this.RecusaVisibility = visibility; - if (value != null) - { - nullable1 = new long?(value.get_Id()); - } - else - { - nullable = null; - nullable1 = nullable; - } - base.VerificarEnables(nullable1); - base.OnPropertyChanged("SelectedDocumento"); - return; - } - visibility = Visibility.Visible; - this.RecusaVisibility = visibility; - if (value != null) - { - nullable1 = new long?(value.get_Id()); - } - else - { - nullable = null; - nullable1 = nullable; - } - base.VerificarEnables(nullable1); - base.OnPropertyChanged("SelectedDocumento"); - } - } - - public VendedorParcela SelectedPagamento - { - get - { - return this._selectedPagamento; - } - set - { - this._selectedPagamento = value; - base.OnPropertyChanged("SelectedPagamento"); - } - } - - public Parcela SelectedParcela - { - get - { - return this._selectedParcela; - } - set - { - this._selectedParcela = value; - this.WorkOnSelectedParcela(value); - base.OnPropertyChanged("SelectedParcela"); - } - } - - public ObservableCollection Situacao - { - get - { - return this._situacao; - } - set - { - this._situacao = value; - base.OnPropertyChanged("Situacao"); - } - } - - public List Status - { - get - { - return this._status; - } - set - { - if (value.All((Gestor.Model.Domain.Seguros.Status x) => x.get_Nome() != "SEM STATUS")) - { - Gestor.Model.Domain.Seguros.Status statu = new Gestor.Model.Domain.Seguros.Status(); - statu.set_Nome("SEM STATUS"); - statu.set_Id((long)0); - statu.set_Ativo(true); - value.Insert(0, statu); - } - this._status = value; - base.OnPropertyChanged("Status"); - } - } - - public double TamanhoGrid - { - get - { - return this._tamanhoGrid; - } - set - { - this._tamanhoGrid = value; - base.OnPropertyChanged("TamanhoGrid"); - } - } - - public ObservableCollection TipoEndossoList - { - get - { - return this._tipoEndosso; - } - set - { - this._tipoEndosso = value; - base.OnPropertyChanged("TipoEndossoList"); - } - } - - public List TiposVendedor - { - get - { - return this._tiposVendedor; - } - set - { - this._tiposVendedor = value; - base.OnPropertyChanged("TiposVendedor"); - } - } - - public List TodosVendedores - { - get - { - return this._todosVendedores; - } - set - { - this._todosVendedores = value; - base.OnPropertyChanged("TodosVendedores"); - } - } - - public string Transmissao - { - get - { - return this._transmissao; - } - set - { - this._transmissao = value; - base.OnPropertyChanged("Transmissao"); - } - } - - public DateTime? TransmissaoDocumento - { - get - { - return this._transmissaoDocumento; - } - set - { - this._transmissaoDocumento = value; - base.OnPropertyChanged("TransmissaoDocumento"); - } - } - - public bool UltimaFatura - { - get - { - return this._ultimaFatura; - } - set - { - this._ultimaFatura = value; - base.OnPropertyChanged("UltimaFatura"); - } - } - - public List Vendedores - { - get - { - return this._vendedores; - } - set - { - this._vendedores = value; - base.OnPropertyChanged("Vendedores"); - } - } - - public Visibility VisibilityAlterarVencimento - { - get - { - return this._visibilityAlterarVencimento; - } - set - { - this._visibilityAlterarVencimento = value; - base.OnPropertyChanged("VisibilityAlterarVencimento"); - } - } - - public Visibility VisibilityExcluirParcela - { - get - { - return this._visibilityExcluirParcela; - } - set - { - this._visibilityExcluirParcela = value; - base.OnPropertyChanged("VisibilityExcluirParcela"); - } - } - - public bool VisibilityLogAntigo - { - get - { - return this._visibilityLogAntigo; - } - set - { - this._visibilityLogAntigo = value; - base.OnPropertyChanged("VisibilityLogAntigo"); - } - } - - public Visibility VisibilityReplicarFatura - { - get - { - return this._visibilityReplicarFatura; - } - set - { - this._visibilityReplicarFatura = value; - base.OnPropertyChanged("VisibilityReplicarFatura"); - } - } - - public BaseApoliceViewModel() - { - this._invoke = true; - this._enableControle = true; - this._visibilityExcluirParcela = Visibility.Collapsed; - this._visibilityReplicarFatura = Visibility.Collapsed; - this._importado = "CLIQUE PARA VER INFORMAÇÕES SOBRE A INCLUSÃO"; - this._botoesParcelaEnabled = true; - this._situacao = new ObservableCollection(new List() - { - 1, - 2, - 5 - }); - this._tipoEndosso = new ObservableCollection(new List() - { - 0, - 1, - 2, - 4, - 3 - }); - this._baixarParcelaVisibility = Visibility.Collapsed; - this._comissOriginalVisibility = Visibility.Collapsed; - this._excluirParcelaLabel = "EXCLUIR BAIXA"; - this._produtos = Recursos.Produtos; - this._status = Recursos.Status; - this._isRenovacaoVisibility = Visibility.Collapsed; - this._assinada = "PROPOSTA ASSINADA"; - this._conferida = "APÓLICE CONFERIDA"; - this._transmissao = "TRANSMISSÃO DE PROPOSTA"; - this._emissao = "EMISSÃO DA APÓLICE"; - List tipoVendedor = Recursos.TipoVendedor; - if (tipoVendedor != null) - { - list = tipoVendedor.Where((TipoVendedor x) => { - if (!x.get_Ativo().HasValue) - { - return true; - } - return x.get_Ativo().Value; - }).ToList(); - } - else - { - list = null; - } - this._tiposVendedor = list; - this._allowEditVendedor = true; - this._alteracaoEnabled = true; - this._allowEditEmissao = true; - this._allowEditApolice = true; - this._allowVigenciaFinal = true; - this._bloquearObservacao = Recursos.Configuracoes.Any((ConfiguracaoSistema x) => x.get_Configuracao() == 39); - this._editarParcelasLabel = "EDITAR PARCELAS"; - this._visibilityLogAntigo = Recursos.Configuracoes.Any((ConfiguracaoSistema x) => x.get_Configuracao() == 22); - base(); - List list; - this.Servico = new ApoliceServico(); - this.VendedorServico = new Gestor.Application.Servicos.Ferramentas.VendedorServico(); - this.ParcelaServico = new Gestor.Application.Servicos.ParcelaServico(); - this.RamoServico = new Gestor.Application.Servicos.Ferramentas.RamoServico(); - this.SeguradoraServico = new Gestor.Application.Servicos.Ferramentas.SeguradoraServico(); - this.ProdutoServico = new Gestor.Application.Servicos.Ferramentas.ProdutoServico(); - this.EstipulanteServico = new Gestor.Application.Servicos.Ferramentas.EstipulanteServico(); - this.TarefaServico = new Gestor.Application.Servicos.TarefaServico(); - this.PerfilServico = new Gestor.Application.Servicos.Seguros.PerfilServico(); - this.Apelido = Recursos.Configuracoes.Any((ConfiguracaoSistema x) => x.get_Configuracao() == 6); - this.ControleAdm = (Recursos.Configuracoes.All((ConfiguracaoSistema x) => x.get_Configuracao() != 33) ? true : Recursos.Usuario.get_Administrador()); - } - - public Documento AbrirDetalhes() - { - Documento selectedDocumento = this.SelectedDocumento; - selectedDocumento.set_Parcelas(this.Parcelas); - selectedDocumento.set_Pagamentos(this.Repasses); - return selectedDocumento; - } - - public Parcela AbrirDetalhesParcela() - { - Parcela selectedParcela = this.SelectedParcela; - selectedParcela.set_Vendedores(this.Pagamentos); - return selectedParcela; - } - - public async void AbrirLogAntigo() - { - base.Loading(true); - string str = await this.Servico.BuscarLogAntigo(this.SelectedDocumento.get_Id()); - base.Loading(false); - if (!string.IsNullOrEmpty(str)) - { - base.ShowDrawer(new LogSistemaAntigo(this.SelectedDocumento.get_Id(), str), 0, false); - } - else - { - await base.ShowMessage("NÃO HÁ LOG PARA ESSE DOCUMENTO", "OK", "", false); - } - } - - public async void AbrirLogAntigoParcela() - { - base.Loading(true); - string str = ""; - foreach (Parcela parcela in await this.ParcelaServico.BuscarParcelas(this.SelectedDocumento.get_Id())) - { - string str1 = str; - string str2 = await this.ParcelaServico.BuscarLogAntigo(parcela.get_Id()); - str = string.Concat(str1, str2); - str1 = null; - } - base.Loading(false); - if (!string.IsNullOrEmpty(str)) - { - base.ShowDrawer(new LogSistemaAntigo(this.SelectedDocumento.get_Id(), str), 0, false); - } - else - { - await base.ShowMessage("NÃO HÁ LOG PARA PARCELAS", "OK", "", false); - } - str = null; - } - - public async Task AdicionarParcelaEspecial() - { - long num; - DateTime? nullable; - DateTime valueOrDefault; - string str; - long num1; - DateTime? nullable1; - DateTime? nullable2; - DateTime? nullable3; - DateTime? nullable4; - DateTime? nullable5; - DateTime? nullable6; - string str1; - string str2; - string str3; - if (this.SelectedParcela != null && !this.CriandoParcelaEspecial) - { - this.CriandoParcelaEspecial = true; - if (this.SelectedPagamento == null || this.SelectedPagamento.get_Vendedor().get_Corretora()) - { - this.SelectedPagamento = this.PropriaCorretora(); - } - else - { - List> keyValuePairs = await this.AdicionarVendedorParcelaEspecial(); - if (keyValuePairs.Count > 0) - { - this._criandoParcelaEspecial = false; - await base.ShowMessage(keyValuePairs, " PROCESSO INTERROMPIDO, PARCELA/FATURA SEM VENDENDEDOR", "OK", ""); - return; - } - } - this.SelectedParcela.set_Documento(this.SelectedDocumento); - DateTime vencimento = this.SelectedParcela.get_Vencimento(); - DateTime? dataRecebimento = this.SelectedParcela.get_DataRecebimento(); - DateTime? dataCredito = this.SelectedParcela.get_DataCredito(); - DateTime? dataControle = this.SelectedParcela.get_DataControle(); - int numeroParcela = this.SelectedParcela.get_NumeroParcela(); - DateTime? vigenciaIncial = this.SelectedParcela.get_VigenciaIncial(); - DateTime? vigenciaFinal = this.SelectedParcela.get_VigenciaFinal(); - DateTime? emissao = this.SelectedParcela.get_Emissao(); - str = (string.IsNullOrWhiteSpace(Gestor.Common.Validation.ValidationHelper.OnlyNumber(this.SelectedParcela.get_Fatura())) ? "1" : Gestor.Common.Validation.ValidationHelper.OnlyNumber(this.SelectedParcela.get_Fatura())); - num1 = (long.TryParse(str, out num) ? num : (long)1); - long num2 = num1; - if (this.QuantidadeFaturas == 0 || !this.IsFatura) - { - this.QuantidadeFaturas = 1; - } - if (this.QuantidadeFaturas <= 12) - { - for (int i = 0; i < this.QuantidadeFaturas; i++) - { - this.SelectedParcela.set_Vencimento(vencimento.AddMonths(i)); - Parcela selectedParcela = this.SelectedParcela; - ref Nullable nullablePointer = ref vigenciaIncial; - if (nullablePointer.HasValue) - { - valueOrDefault = nullablePointer.GetValueOrDefault(); - nullable1 = new DateTime?(valueOrDefault.AddMonths(i)); - } - else - { - nullable = null; - nullable1 = nullable; - } - selectedParcela.set_VigenciaIncial(nullable1); - Parcela parcela = this.SelectedParcela; - ref Nullable nullablePointer1 = ref vigenciaFinal; - if (nullablePointer1.HasValue) - { - valueOrDefault = nullablePointer1.GetValueOrDefault(); - nullable2 = new DateTime?(valueOrDefault.AddMonths(i)); - } - else - { - nullable = null; - nullable2 = nullable; - } - parcela.set_VigenciaFinal(nullable2); - Parcela selectedParcela1 = this.SelectedParcela; - ref Nullable nullablePointer2 = ref emissao; - if (nullablePointer2.HasValue) - { - valueOrDefault = nullablePointer2.GetValueOrDefault(); - nullable3 = new DateTime?(valueOrDefault.AddMonths(i)); - } - else - { - nullable = null; - nullable3 = nullable; - } - selectedParcela1.set_Emissao(nullable3); - Parcela parcela1 = this.SelectedParcela; - ref Nullable nullablePointer3 = ref dataRecebimento; - if (nullablePointer3.HasValue) - { - valueOrDefault = nullablePointer3.GetValueOrDefault(); - nullable4 = new DateTime?(valueOrDefault.AddMonths(i)); - } - else - { - nullable = null; - nullable4 = nullable; - } - parcela1.set_DataRecebimento(nullable4); - Parcela selectedParcela2 = this.SelectedParcela; - ref Nullable nullablePointer4 = ref dataCredito; - if (nullablePointer4.HasValue) - { - valueOrDefault = nullablePointer4.GetValueOrDefault(); - nullable5 = new DateTime?(valueOrDefault.AddMonths(i)); - } - else - { - nullable = null; - nullable5 = nullable; - } - selectedParcela2.set_DataCredito(nullable5); - Parcela parcela2 = this.SelectedParcela; - ref Nullable nullablePointer5 = ref dataControle; - if (nullablePointer5.HasValue) - { - valueOrDefault = nullablePointer5.GetValueOrDefault(); - nullable6 = new DateTime?(valueOrDefault.AddMonths(i)); - } - else - { - nullable = null; - nullable6 = nullable; - } - parcela2.set_DataControle(nullable6); - this.SelectedParcela.set_NumeroParcela(numeroParcela + i); - if (i > 0) - { - num2 += (long)1; - this.SelectedParcela.set_Fatura(string.Format("{0}", num2)); - nullable = null; - this.SelectedParcela.set_DataQuitacao(nullable); - } - List repasses = this.Repasses; - if (repasses != null) - { - repasses.ForEach((VendedorParcela x) => { - if (x.get_Repasse() == null) - { - return; - } - if (x.get_Repasse().get_Forma().GetValueOrDefault() == 1) - { - x.set_DataPrePagamento(this.SelectedParcela.get_DataRecebimento()); - } - x.set_Parcela(this.SelectedParcela); - BaseRepasse? @base = x.get_Repasse().get_Base(); - if (@base.HasValue) - { - switch (@base.GetValueOrDefault()) - { - case 1: - { - x.set_DataPrePagamento((this.SelectedDocumento.get_TipoRecebimento().GetValueOrDefault() == 2 ? x.get_Parcela().get_VigenciaIncial() : new DateTime?(this.SelectedDocumento.get_Vigencia1()))); - return; - } - case 2: - { - x.set_DataPrePagamento(x.get_Parcela().get_DataCriacao()); - return; - } - case 3: - { - x.set_DataPrePagamento(new DateTime?((x.get_Parcela().get_Vencimento() == DateTime.MinValue ? this.SelectedDocumento.get_Vigencia1() : x.get_Parcela().get_Vencimento()))); - return; - } - case 4: - { - x.set_DataPrePagamento((this.SelectedDocumento.get_TipoRecebimento().GetValueOrDefault() == 2 ? x.get_Parcela().get_Emissao() : this.SelectedDocumento.get_Emissao())); - return; - } - case 5: - { - x.set_DataPrePagamento((this.SelectedDocumento.get_TipoRecebimento().GetValueOrDefault() == 2 ? x.get_Parcela().get_Emissao() : this.SelectedDocumento.get_Remessa())); - break; - } - default: - { - return; - } - } - } - }); - } - else - { - } - if (this.Repasses == null) - { - this.Repasses = new List() - { - this.PropriaCorretora() - }; - } - List vendedorParcelas = this.Repasses; - if (vendedorParcelas.All((VendedorParcela x) => x.get_TipoVendedor().get_Id() != (long)1)) - { - this.Repasses.Add(this.PropriaCorretora()); - } - Parcela parcela3 = await this.ParcelaServico.Save(this.SelectedParcela, this.Parcelas.ToList(), this.Repasses, true); - if (i == this.QuantidadeFaturas - 1) - { - this.SelectedParcela = parcela3; - } - } - this.QuantidadeFaturas = 0; - if (this.SelectedDocumento.get_Tipo() == 0 && string.IsNullOrEmpty(this.SelectedDocumento.get_Apolice())) - { - str1 = string.Concat("NA PROPOSTA \"", this.SelectedDocumento.get_Proposta(), "\""); - } - else if (this.SelectedDocumento.get_Tipo() != 0 || string.IsNullOrEmpty(this.SelectedDocumento.get_Apolice())) - { - str1 = (string.IsNullOrEmpty(this.SelectedDocumento.get_Endosso()) ? string.Concat("NA PROPOSTA DE ENDOSSO \"", this.SelectedDocumento.get_PropostaEndosso(), "\"") : string.Concat("NO ENDOSSO \"", this.SelectedDocumento.get_Endosso(), "\"")); - } - else - { - str1 = string.Concat("NA APÓLICE \"", this.SelectedDocumento.get_Apolice(), "\""); - } - string str4 = str1; - str2 = (this.SelectedDocumento.get_TipoRecebimento().GetValueOrDefault() == 1 ? string.Concat("PARCELA ESPECIAL ADICIONADA, ", str4) : string.Concat("FATURA ", this.SelectedParcela.get_Fatura(), " ADICIONADA, ", str4)); - string str5 = str2; - base.RegistrarAcao(str5, this.SelectedParcela.get_Id(), new TipoTela?(5), this.GerarObs(this.SelectedDocumento)); - if (this.ParcelaServico.Sucesso) - { - BaseApoliceViewModel baseApoliceViewModel = this; - str3 = (this.SelectedDocumento.get_TipoRecebimento().GetValueOrDefault() == 1 ? "PARCELA ESPECIAL ADICIONADA COM SUCESSO" : "FATURA ADICIONADA COM SUCESSO"); - baseApoliceViewModel.ToggleSnackBar(str3, true); - } - await this.CarregarParcelas(this.SelectedDocumento); - await this.CarregaRepasse(this.SelectedDocumento.get_Id()); - BaseApoliceViewModel baseApoliceViewModel1 = this; - Parcela selectedParcela3 = this.SelectedParcela; - if (selectedParcela3 == null) - { - selectedParcela3 = this.Parcelas.FirstOrDefault(); - } - await baseApoliceViewModel1.SelecionaParcela(selectedParcela3); - this.CalculaComissao(this.SelectedDocumento, this.Parcelas); - this.BaixarParcelas = false; - this.CriandoParcelaEspecial = false; - } - else - { - this.CriandoParcelaEspecial = false; - await base.ShowMessage("NÃO É POSSIVEL REPLICAR MAIS QUE 12 VEZES A MESMA FATURA. PROCESSO CANCELADO", "OK", "", false); - } - } - } - - public async Task>> AdicionarVendedor() - { - // - // Current member / type: System.Threading.Tasks.Task`1>> Gestor.Application.ViewModels.Generic.BaseApoliceViewModel::AdicionarVendedor() - // File path: C:\AggerSeguros\Gestor.Application.exe - // - // Product version: 0.0.0.0 - // Exception in: System.Threading.Tasks.Task>> AdicionarVendedor() - // - // Object reference not set to an instance of an object. - // at Telerik.JustDecompiler.Decompiler.TypeInference.TypeInferer.FindLowestCommonAncestor(ICollection`1 typeNodes) in D:\a\CodemerxDecompile\CodemerxDecompile\src\JustDecompileEngine\src\JustDecompiler.Shared\Decompiler\TypeInference\TypeInferer.cs:line 515 - // at Telerik.JustDecompiler.Decompiler.TypeInference.TypeInferer.MergeWithLowestCommonAncestor() in D:\a\CodemerxDecompile\CodemerxDecompile\src\JustDecompileEngine\src\JustDecompiler.Shared\Decompiler\TypeInference\TypeInferer.cs:line 459 - // at Telerik.JustDecompiler.Decompiler.TypeInference.TypeInferer.ProcessSingleConstraints() in D:\a\CodemerxDecompile\CodemerxDecompile\src\JustDecompileEngine\src\JustDecompiler.Shared\Decompiler\TypeInference\TypeInferer.cs:line 378 - // at Telerik.JustDecompiler.Decompiler.TypeInference.TypeInferer.InferTypes() in D:\a\CodemerxDecompile\CodemerxDecompile\src\JustDecompileEngine\src\JustDecompiler.Shared\Decompiler\TypeInference\TypeInferer.cs:line 331 - // at Telerik.JustDecompiler.Decompiler.ExpressionDecompilerStep.Process(DecompilationContext theContext, BlockStatement body) in D:\a\CodemerxDecompile\CodemerxDecompile\src\JustDecompileEngine\src\JustDecompiler.Shared\Decompiler\ExpressionDecompilerStep.cs:line 104 - // at Telerik.JustDecompiler.Decompiler.DecompilationPipeline.RunInternal(MethodBody body, BlockStatement block, ILanguage language) in D:\a\CodemerxDecompile\CodemerxDecompile\src\JustDecompileEngine\src\JustDecompiler.Shared\Decompiler\DecompilationPipeline.cs:line 100 - // at Telerik.JustDecompiler.Decompiler.DecompilationPipeline.Run(MethodBody body, ILanguage language) in D:\a\CodemerxDecompile\CodemerxDecompile\src\JustDecompileEngine\src\JustDecompiler.Shared\Decompiler\DecompilationPipeline.cs:line 72 - // at Telerik.JustDecompiler.Decompiler.Extensions.DecompileStateMachine(MethodBody body, DecompilationContext enclosingContext, BaseStateMachineRemoverStep removeStateMachineStep, Func`2 stateMachineDataSelector, DecompilationContext& decompilationContext) in D:\a\CodemerxDecompile\CodemerxDecompile\src\JustDecompileEngine\src\JustDecompiler.Shared\Decompiler\Extensions.cs:line 104 - // at Telerik.JustDecompiler.Decompiler.Extensions.DecompileAsyncStateMachine(MethodBody body, DecompilationContext enclosingContext, AsyncData& asyncData) in D:\a\CodemerxDecompile\CodemerxDecompile\src\JustDecompileEngine\src\JustDecompiler.Shared\Decompiler\Extensions.cs:line 150 - // at Telerik.JustDecompiler.Steps.RebuildAsyncStatementsStep.GetMoveNextStatements() in D:\a\CodemerxDecompile\CodemerxDecompile\src\JustDecompileEngine\src\JustDecompiler.Shared\Steps\RebuildAsyncStatementsStep.cs:line 155 - // at Telerik.JustDecompiler.Steps.RebuildAsyncStatementsStep.Match() in D:\a\CodemerxDecompile\CodemerxDecompile\src\JustDecompileEngine\src\JustDecompiler.Shared\Steps\RebuildAsyncStatementsStep.cs:line 60 - // at Telerik.JustDecompiler.Steps.RebuildAsyncStatementsStep.Process(DecompilationContext context, BlockStatement body) in D:\a\CodemerxDecompile\CodemerxDecompile\src\JustDecompileEngine\src\JustDecompiler.Shared\Steps\RebuildAsyncStatementsStep.cs:line 31 - // at Telerik.JustDecompiler.Decompiler.DecompilationPipeline.RunInternal(MethodBody body, BlockStatement block, ILanguage language) in D:\a\CodemerxDecompile\CodemerxDecompile\src\JustDecompileEngine\src\JustDecompiler.Shared\Decompiler\DecompilationPipeline.cs:line 100 - // at Telerik.JustDecompiler.Decompiler.DecompilationPipeline.Run(MethodBody body, ILanguage language) in D:\a\CodemerxDecompile\CodemerxDecompile\src\JustDecompileEngine\src\JustDecompiler.Shared\Decompiler\DecompilationPipeline.cs:line 72 - // at Telerik.JustDecompiler.Decompiler.Extensions.RunPipeline(DecompilationPipeline pipeline, ILanguage language, MethodBody body, DecompilationContext& context) in D:\a\CodemerxDecompile\CodemerxDecompile\src\JustDecompileEngine\src\JustDecompiler.Shared\Decompiler\Extensions.cs:line 95 - // at Telerik.JustDecompiler.Decompiler.Extensions.Decompile(MethodBody body, ILanguage language, DecompilationContext& context, TypeSpecificContext typeContext) in D:\a\CodemerxDecompile\CodemerxDecompile\src\JustDecompileEngine\src\JustDecompiler.Shared\Decompiler\Extensions.cs:line 61 - // at Telerik.JustDecompiler.Decompiler.WriterContextServices.BaseWriterContextService.DecompileMethod(ILanguage language, MethodDefinition method, TypeSpecificContext typeContext) in D:\a\CodemerxDecompile\CodemerxDecompile\src\JustDecompileEngine\src\JustDecompiler.Shared\Decompiler\WriterContextServices\BaseWriterContextService.cs:line 118 - // - // mailto: JustDecompilePublicFeedback@telerik.com - - } - - public async Task>> AdicionarVendedorParcelaEspecial() - { - List> keyValuePairs; - List list; - bool valueOrDefault; - bool flag; - bool flag1; - string str1; - DateTime? nullable; - DateTime dateTime; - DateTime? nullable1; - DateTime? nullable2; - bool flag2; - decimal num; - List vinculoRepasses; - List vendedorParcelas; - List> keyValuePairs1 = new List>(); - if (this.SelectedPagamento == null) - { - keyValuePairs1.Add(new KeyValuePair("SelectedPagamento|PAGAMENTO", "ERRO AO INCLUIR VENDEDOR.")); - keyValuePairs = keyValuePairs1; - } - else if (this.SelectedPagamento.get_Repasse() != null) - { - this.SelectedPagamento.set_Parcela(this.SelectedParcela); - if (this.SelectedDocumento.get_TipoRecebimento().GetValueOrDefault() != 2 || this.SelectedPagamento.get_Repasse().get_Forma().GetValueOrDefault() != 3) - { - Gestor.Model.Domain.Seguros.Repasse repasse = this.SelectedPagamento.get_Repasse(); - if (repasse != null) - { - List vinculo = repasse.get_Vinculo(); - if (vinculo != null) - { - list = ( - from x in vinculo - where x.get_TipoVendedor().get_Id() == this.SelectedPagamento.get_TipoVendedor().get_Id() - select x).ToList(); - } - else - { - list = null; - } - } - else - { - list = null; - } - vinculoRepasses = list; - vendedorParcelas = new List() - { - this.SelectedPagamento - }; - if (this.SelectedDocumento.get_NegocioCorretora().HasValue) - { - NegocioCorretora? negocioCorretora = this.SelectedDocumento.get_NegocioCorretora(); - valueOrDefault = negocioCorretora.GetValueOrDefault() == 1; - } - else if (this.SelectedDocumento.get_Situacao() != 2 || !this.SelectedDocumento.get_Negocio().HasValue) - { - valueOrDefault = false; - } - else - { - Negocio? negocio = this.SelectedDocumento.get_Negocio(); - valueOrDefault = negocio.GetValueOrDefault() == 1; - } - bool flag3 = valueOrDefault; - flag = (vinculoRepasses == null ? false : vinculoRepasses.Count > 0); - bool flag4 = flag; - if (flag4) - { - flag4 = await base.ShowMessage("DESEJA ADICIONAR OS REPASSES VINCULADOS?", "SIM", "NÃO", false); - } - if (flag4) - { - foreach (VinculoRepasse vinculoRepasse in vinculoRepasses) - { - Gestor.Model.Domain.Seguros.Repasse repasseVinculo = vinculoRepasse.get_RepasseVinculo(); - Parcela parcela = this.SelectedPagamento.get_Parcela(); - flag2 = (this.SelectedPagamento.get_Parcela() == null ? true : this.SelectedPagamento.get_Parcela().get_SubTipo() == 1); - decimal num1 = Funcoes.CalculaRepasse(repasseVinculo, parcela, flag2); - VendedorParcela vendedorParcela = new VendedorParcela(); - vendedorParcela.set_TipoVendedor(vinculoRepasse.get_TipoVendedorVinculo()); - vendedorParcela.set_Vendedor(vinculoRepasse.get_RepasseVinculo().get_Vendedor()); - vendedorParcela.set_Repasse(vinculoRepasse.get_RepasseVinculo()); - vendedorParcela.set_Documento(this.SelectedPagamento.get_Documento()); - vendedorParcela.set_Parcela(this.SelectedPagamento.get_Parcela()); - num = (flag3 ? vinculoRepasse.get_RepasseVinculo().get_ValorRenovacao() : vinculoRepasse.get_RepasseVinculo().get_ValorNovo()); - vendedorParcela.set_PorcentagemRepasse(new decimal?(num)); - vendedorParcela.set_ValorRepasse(new decimal?(num1)); - vendedorParcela.set_ValorTotal(new decimal?(num1)); - vendedorParcelas.Add(vendedorParcela); - } - } - foreach (VendedorParcela vendedorParcela1 in vendedorParcelas) - { - VendedorParcela vendedorParcela2 = vendedorParcela1; - keyValuePairs1 = vendedorParcela2.Validate(); - keyValuePairs1.AddRange(this.ValidateEspecial(vendedorParcela2)); - if (keyValuePairs1.Count <= 0) - { - if (vendedorParcela2.get_Repasse() != null) - { - BaseRepasse? @base = vendedorParcela2.get_Repasse().get_Base(); - if (@base.HasValue) - { - switch (@base.GetValueOrDefault()) - { - case 1: - { - VendedorParcela vendedorParcela3 = vendedorParcela2; - nullable = (this.SelectedDocumento.get_TipoRecebimento().GetValueOrDefault() == 2 ? vendedorParcela2.get_Parcela().get_VigenciaIncial() : new DateTime?(this.SelectedDocumento.get_Vigencia1())); - vendedorParcela3.set_DataPrePagamento(nullable); - break; - } - case 2: - { - vendedorParcela2.set_DataPrePagamento(vendedorParcela2.get_Parcela().get_DataCriacao()); - break; - } - case 3: - { - VendedorParcela vendedorParcela4 = vendedorParcela2; - dateTime = (vendedorParcela2.get_Parcela().get_Vencimento() == DateTime.MinValue ? this.SelectedDocumento.get_Vigencia1() : vendedorParcela2.get_Parcela().get_Vencimento()); - vendedorParcela4.set_DataPrePagamento(new DateTime?(dateTime)); - break; - } - case 4: - { - VendedorParcela vendedorParcela5 = vendedorParcela2; - nullable1 = (this.SelectedDocumento.get_TipoRecebimento().GetValueOrDefault() == 2 ? vendedorParcela2.get_Parcela().get_Emissao() : this.SelectedDocumento.get_Emissao()); - vendedorParcela5.set_DataPrePagamento(nullable1); - break; - } - case 5: - { - VendedorParcela vendedorParcela6 = vendedorParcela2; - nullable2 = (this.SelectedDocumento.get_TipoRecebimento().GetValueOrDefault() == 2 ? vendedorParcela2.get_Parcela().get_Emissao() : this.SelectedDocumento.get_Remessa()); - vendedorParcela6.set_DataPrePagamento(nullable2); - break; - } - } - } - } - if (this.Pagamentos == null) - { - this.Pagamentos = new ObservableCollection(); - } - VendedorParcela vendedorParcela7 = this.Repasses.FirstOrDefault((VendedorParcela x) => { - if (x.get_Parcela().get_Id() != this.SelectedParcela.get_Id() || x.get_TipoVendedor().get_Id() != (long)1) - { - return false; - } - return x.get_Vendedor().get_Corretora(); - }); - flag1 = (vendedorParcela2.get_TipoVendedor().get_Id() != (long)1 ? false : vendedorParcela7 != null); - bool flag5 = flag1; - if (this.SelectedParcela.get_Id() != 0) - { - if (vendedorParcela2.get_Repasse().get_Forma().GetValueOrDefault() == 1) - { - vendedorParcela2.set_DataPrePagamento(this.SelectedParcela.get_DataRecebimento()); - } - List vendedorParcelas1 = new List() - { - vendedorParcela2 - }; - vendedorParcelas1 = await this.Servico.IncluirVendedores(vendedorParcelas1); - if (this.SelectedDocumento.get_Tipo() == 0 && string.IsNullOrEmpty(this.SelectedDocumento.get_Apolice())) - { - str1 = string.Concat("NA PROPOSTA \"", this.SelectedDocumento.get_Proposta(), "\""); - } - else if (this.SelectedDocumento.get_Tipo() != 0 || string.IsNullOrEmpty(this.SelectedDocumento.get_Apolice())) - { - str1 = (string.IsNullOrEmpty(this.SelectedDocumento.get_Endosso()) ? string.Concat("NA PROPOSTA DE ENDOSSO \"", this.SelectedDocumento.get_PropostaEndosso(), "\"") : string.Concat("NO ENDOSSO \"", this.SelectedDocumento.get_Endosso(), "\"")); - } - else - { - str1 = string.Concat("NA APÓLICE \"", this.SelectedDocumento.get_Apolice(), "\""); - } - string str2 = str1; - if (vendedorParcelas1 != null) - { - vendedorParcelas1.ForEach((VendedorParcela x) => { - string str = string.Concat("VENDEDOR ", x.get_Vendedor().get_Nome(), " ADICIONADO A PARCELA ESPECIAL, ", str2); - base.RegistrarAcao(str, x.get_Id(), new TipoTela?(37), string.Format("{0}{1}VENDEDOR: {2}{3}COMISSÃO TOTAL: {4:C2}", new object[] { this.GerarObs(this.SelectedDocumento), Environment.NewLine, x.get_Vendedor().get_Nome(), Environment.NewLine, x.get_ValorTotal() })); - }); - } - this.Repasses.AddRange(vendedorParcelas1); - if (flag5) - { - await this.ExcluirVendedor(vendedorParcela7, false); - } - this.Repasses = await this.VendedorServico.BuscaRepasse(this.SelectedDocumento.get_Id()); - BaseApoliceViewModel baseApoliceViewModel = this; - Parcela selectedParcela = this.SelectedParcela; - if (selectedParcela == null) - { - selectedParcela = this.Parcelas.FirstOrDefault(); - } - await baseApoliceViewModel.SelecionaParcela(selectedParcela); - this.SelectedPagamento = null; - vendedorParcela7 = null; - } - else - { - this.Repasses.Add(vendedorParcela2); - this.Pagamentos.Add(vendedorParcela2); - this.SelectedPagamento = null; - if (!this.IsFatura && this.SelectedParcela.get_SubTipo() == 1 || !flag5) - { - continue; - } - await this.ExcluirVendedor(vendedorParcela7, false); - } - } - else - { - if (this.SelectedPagamento == null) - { - this.SelectedPagamento = vendedorParcela2; - } - keyValuePairs = keyValuePairs1; - vinculoRepasses = null; - vendedorParcelas = null; - return keyValuePairs; - } - } - base.ToggleSnackBar("VENDEDOR ADICIONADO COM SUCESSO", true); - keyValuePairs = null; - } - else - { - base.ShowMessage("NÃO É POSSÍVEL ADICIONAR UM VENDEDOR COM A FORMA DE PAGAMENTO À PRAZO EM DOCUMENTOS DO TIPO FATURA", "OK", "", false); - keyValuePairs = null; - } - } - else - { - keyValuePairs1.Add(new KeyValuePair("Repasse|REPASSE", "ERRO AO INCLUIR VENDEDOR.")); - keyValuePairs = keyValuePairs1; - } - vinculoRepasses = null; - vendedorParcelas = null; - return keyValuePairs; - } - - public async void AjustaParcelasCoCorretagem() - { - int num = 0; - try - { - ObservableCollection parcelas = this.Parcelas; - foreach (Parcela parcela in parcelas) - { - if (parcela.get_NumeroParcela() != 999) - { - parcela.set_Comissao(this.SelectedDocumento.get_Comissao()); - } - else - { - return; - } - } - this.Parcelas = new ObservableCollection(await this.ParcelaServico.SaveRange(parcelas.ToList())); - await this.CarregarParcelas(this.SelectedDocumento); - } - catch - { - num = 1; - } - if (num == 1) - { - await base.ShowMessage("NÃO FOI POSSÍVEL SALVAR AS PARCELAS", "OK", "", false); - } - } - - public async Task AjusteComissãoCoCorretagem(bool removido = false) - { - decimal? nullable; - decimal valorNovo; - decimal? comissaoTotal; - int num = 0; - try - { - if (!removido) - { - VendedorParcela selectedPagamento = this.SelectedPagamento; - if (selectedPagamento != null) - { - valorNovo = selectedPagamento.get_Repasse().get_ValorNovo(); - } - else - { - valorNovo = decimal.Zero; - } - decimal num1 = valorNovo; - decimal comissao = this.SelectedDocumento.get_Comissao(); - this.SelectedDocumento.set_ComissaoTotal(new decimal?(comissao)); - this.SelectedDocumento.set_Comissao(Math.Round(comissao - (comissao * num1 * new decimal(1, 0, 0, false, 2)), 2)); - this.SelectedDocumento = await this.Servico.Save(this.SelectedDocumento, false, false); - this.AjustaParcelasCoCorretagem(); - this.CalculaComissao(this.SelectedDocumento, this.Parcelas); - } - else - { - Documento selectedDocumento = this.SelectedDocumento; - Documento documento = this.SelectedDocumento; - if (documento != null) - { - comissaoTotal = documento.get_ComissaoTotal(); - } - else - { - nullable = null; - comissaoTotal = nullable; - } - nullable = comissaoTotal; - selectedDocumento.set_Comissao(nullable.GetValueOrDefault()); - this.SelectedDocumento = await this.Servico.Save(this.SelectedDocumento, false, false); - this.AjustaParcelasCoCorretagem(); - this.CalculaComissao(this.SelectedDocumento, this.Parcelas); - return; - } - } - catch - { - num = 1; - } - if (num == 1) - { - await base.ShowMessage("NÃO FOI POSSÍVEL ALTERAR A COMISSÃO DA CO-CORRETAGEM", "OK", "", false); - } - } - - public async Task AlterarVencimento() - { - // - // Current member / type: System.Threading.Tasks.Task Gestor.Application.ViewModels.Generic.BaseApoliceViewModel::AlterarVencimento() - // File path: C:\AggerSeguros\Gestor.Application.exe - // - // Product version: 0.0.0.0 - // Exception in: System.Threading.Tasks.Task AlterarVencimento() - // - // An item with the same key has already been added. Key: Label0 - // at System.Collections.Generic.Dictionary`2.TryInsert(TKey key, TValue value, InsertionBehavior behavior) - // at System.Collections.Generic.Dictionary`2.System.Collections.Generic.ICollection>.Add(KeyValuePair`2 keyValuePair) - // at Telerik.JustDecompiler.Common.Extensions.AddRange[TKey,TValue](IDictionary`2 self, IDictionary`2 source) in D:\a\CodemerxDecompile\CodemerxDecompile\src\JustDecompileEngine\src\JustDecompiler.Shared\Common\Extensions.cs:line 99 - // at Telerik.JustDecompiler.Steps.RebuildAnonymousDelegatesStep.AnonymousDelegateRebuilder.VisitObjectCreationExpression(ObjectCreationExpression node) in D:\a\CodemerxDecompile\CodemerxDecompile\src\JustDecompileEngine\src\JustDecompiler.Shared\Steps\RebuildAnonymousDelegatesStep.cs:line 332 - // at Telerik.JustDecompiler.Ast.BaseCodeTransformer.Visit(ICodeNode node) in D:\a\CodemerxDecompile\CodemerxDecompile\src\JustDecompileEngine\src\JustDecompiler.Shared\Ast\BaseCodeTransformer.cs:line 273 - // at Telerik.JustDecompiler.Ast.BaseCodeTransformer.Visit[TCollection,TElement](TCollection original) in D:\a\CodemerxDecompile\CodemerxDecompile\src\JustDecompileEngine\src\JustDecompiler.Shared\Ast\BaseCodeTransformer.cs:line 312 - // at Telerik.JustDecompiler.Ast.BaseCodeTransformer.VisitMethodInvocationExpression(MethodInvocationExpression node) in D:\a\CodemerxDecompile\CodemerxDecompile\src\JustDecompileEngine\src\JustDecompiler.Shared\Ast\BaseCodeTransformer.cs:line 500 - // at Telerik.JustDecompiler.Ast.BaseCodeTransformer.Visit(ICodeNode node) in D:\a\CodemerxDecompile\CodemerxDecompile\src\JustDecompileEngine\src\JustDecompiler.Shared\Ast\BaseCodeTransformer.cs:line 273 - // at Telerik.JustDecompiler.Ast.BaseCodeTransformer.VisitExpressionStatement(ExpressionStatement node) in D:\a\CodemerxDecompile\CodemerxDecompile\src\JustDecompileEngine\src\JustDecompiler.Shared\Ast\BaseCodeTransformer.cs:line 384 - // at Telerik.JustDecompiler.Ast.BaseCodeTransformer.Visit(ICodeNode node) in D:\a\CodemerxDecompile\CodemerxDecompile\src\JustDecompileEngine\src\JustDecompiler.Shared\Ast\BaseCodeTransformer.cs:line 273 - // at Telerik.JustDecompiler.Steps.RebuildAnonymousDelegatesStep.AnonymousDelegateRebuilder.Match(BlockStatement theBlock, Int32 index) in D:\a\CodemerxDecompile\CodemerxDecompile\src\JustDecompileEngine\src\JustDecompiler.Shared\Steps\RebuildAnonymousDelegatesStep.cs:line 74 - // at Telerik.JustDecompiler.Steps.RebuildAnonymousDelegatesStep.VisitBlockStatement(BlockStatement node) in D:\a\CodemerxDecompile\CodemerxDecompile\src\JustDecompileEngine\src\JustDecompiler.Shared\Steps\RebuildAnonymousDelegatesStep.cs:line 30 - // at Telerik.JustDecompiler.Ast.BaseCodeVisitor.Visit(ICodeNode node) in D:\a\CodemerxDecompile\CodemerxDecompile\src\JustDecompileEngine\src\JustDecompiler.Shared\Ast\BaseCodeVisitor.cs:line 351 - // at Telerik.JustDecompiler.Ast.BaseCodeVisitor.VisitIfStatement(IfStatement node) in D:\a\CodemerxDecompile\CodemerxDecompile\src\JustDecompileEngine\src\JustDecompiler.Shared\Ast\BaseCodeVisitor.cs:line 409 - // at Telerik.JustDecompiler.Ast.BaseCodeVisitor.Visit(ICodeNode node) in D:\a\CodemerxDecompile\CodemerxDecompile\src\JustDecompileEngine\src\JustDecompiler.Shared\Ast\BaseCodeVisitor.cs:line 351 - // at Telerik.JustDecompiler.Ast.BaseCodeVisitor.Visit(IEnumerable collection) in D:\a\CodemerxDecompile\CodemerxDecompile\src\JustDecompileEngine\src\JustDecompiler.Shared\Ast\BaseCodeVisitor.cs:line 384 - // at Telerik.JustDecompiler.Steps.RebuildAnonymousDelegatesStep.VisitBlockStatement(BlockStatement node) in D:\a\CodemerxDecompile\CodemerxDecompile\src\JustDecompileEngine\src\JustDecompiler.Shared\Steps\RebuildAnonymousDelegatesStep.cs:line 33 - // at Telerik.JustDecompiler.Ast.BaseCodeVisitor.Visit(ICodeNode node) in D:\a\CodemerxDecompile\CodemerxDecompile\src\JustDecompileEngine\src\JustDecompiler.Shared\Ast\BaseCodeVisitor.cs:line 351 - // at Telerik.JustDecompiler.Ast.BaseCodeVisitor.VisitIfStatement(IfStatement node) in D:\a\CodemerxDecompile\CodemerxDecompile\src\JustDecompileEngine\src\JustDecompiler.Shared\Ast\BaseCodeVisitor.cs:line 408 - // at Telerik.JustDecompiler.Ast.BaseCodeVisitor.Visit(ICodeNode node) in D:\a\CodemerxDecompile\CodemerxDecompile\src\JustDecompileEngine\src\JustDecompiler.Shared\Ast\BaseCodeVisitor.cs:line 351 - // at Telerik.JustDecompiler.Ast.BaseCodeVisitor.Visit(IEnumerable collection) in D:\a\CodemerxDecompile\CodemerxDecompile\src\JustDecompileEngine\src\JustDecompiler.Shared\Ast\BaseCodeVisitor.cs:line 384 - // at Telerik.JustDecompiler.Steps.RebuildAnonymousDelegatesStep.VisitBlockStatement(BlockStatement node) in D:\a\CodemerxDecompile\CodemerxDecompile\src\JustDecompileEngine\src\JustDecompiler.Shared\Steps\RebuildAnonymousDelegatesStep.cs:line 33 - // at Telerik.JustDecompiler.Steps.RebuildAnonymousDelegatesStep.Process(DecompilationContext context, BlockStatement body) in D:\a\CodemerxDecompile\CodemerxDecompile\src\JustDecompileEngine\src\JustDecompiler.Shared\Steps\RebuildAnonymousDelegatesStep.cs:line 21 - // at Telerik.JustDecompiler.Decompiler.DecompilationPipeline.RunInternal(MethodBody body, BlockStatement block, ILanguage language) in D:\a\CodemerxDecompile\CodemerxDecompile\src\JustDecompileEngine\src\JustDecompiler.Shared\Decompiler\DecompilationPipeline.cs:line 100 - // at Telerik.JustDecompiler.Decompiler.DecompilationPipeline.Run(MethodBody body, ILanguage language) in D:\a\CodemerxDecompile\CodemerxDecompile\src\JustDecompileEngine\src\JustDecompiler.Shared\Decompiler\DecompilationPipeline.cs:line 72 - // at Telerik.JustDecompiler.Decompiler.Extensions.RunPipeline(DecompilationPipeline pipeline, ILanguage language, MethodBody body, DecompilationContext& context) in D:\a\CodemerxDecompile\CodemerxDecompile\src\JustDecompileEngine\src\JustDecompiler.Shared\Decompiler\Extensions.cs:line 95 - // at Telerik.JustDecompiler.Decompiler.Extensions.Decompile(MethodBody body, ILanguage language, DecompilationContext& context, TypeSpecificContext typeContext) in D:\a\CodemerxDecompile\CodemerxDecompile\src\JustDecompileEngine\src\JustDecompiler.Shared\Decompiler\Extensions.cs:line 61 - // at Telerik.JustDecompiler.Decompiler.WriterContextServices.BaseWriterContextService.DecompileMethod(ILanguage language, MethodDefinition method, TypeSpecificContext typeContext) in D:\a\CodemerxDecompile\CodemerxDecompile\src\JustDecompileEngine\src\JustDecompiler.Shared\Decompiler\WriterContextServices\BaseWriterContextService.cs:line 118 - // - // mailto: JustDecompilePublicFeedback@telerik.com - - } - - private void AtualizaValores(bool renovacao) - { - this.Repasses.ForEach((VendedorParcela x) => { - decimal? nullable; - decimal? comissaoTotal; - if (x.get_Repasse() == null) - { - return; - } - if (x.get_Repasse().get_Tipo().GetValueOrDefault() == 1) - { - return; - } - Parcela parcela = x.get_Parcela(); - if (parcela.get_SubTipo() != 1) - { - return; - } - parcela.set_Documento(this.SelectedDocumento); - decimal numeroParcelas = Funcoes.CalculaRepasse(x.get_Repasse(), parcela, true); - decimal valorNovo = (renovacao ? x.get_Repasse().get_ValorRenovacao() : x.get_Repasse().get_ValorNovo()); - if (x.get_CoCorretagem()) - { - valorNovo = x.get_Repasse().get_ValorNovo(); - } - if (x.get_Repasse().get_Forma().GetValueOrDefault() == 3) - { - numeroParcelas /= this.SelectedDocumento.get_NumeroParcelas(); - } - if (x.get_CoCorretagem()) - { - decimal comissao = this.SelectedDocumento.get_Comissao(); - Documento selectedDocumento = this.SelectedDocumento; - if (selectedDocumento != null) - { - comissaoTotal = selectedDocumento.get_ComissaoTotal(); - } - else - { - nullable = null; - comissaoTotal = nullable; - } - nullable = comissaoTotal; - decimal valueOrDefault = nullable.GetValueOrDefault(); - numeroParcelas = this.SelectedDocumento.get_PremioLiquido() * ((valueOrDefault - comissao) / new decimal(100)); - } - x.set_PorcentagemRepasse(new decimal?(valorNovo)); - x.set_ValorRepasse(new decimal?(numeroParcelas)); - x.set_ValorTotal(new decimal?(numeroParcelas)); - }); - decimal num = (this.Parcelas.Count((Parcela x) => x.get_SubTipo() == 1) > 0 ? this.SelectedDocumento.get_PremioTotal() / this.Parcelas.Count((Parcela x) => x.get_SubTipo() == 1) : decimal.Zero); - ( - from x in this.Parcelas - where x.get_SubTipo() == 1 - select x).ToList().ForEach((Parcela x) => { - x.set_Valor(num); - x.set_Comissao(this.SelectedDocumento.get_Comissao()); - x.set_Vendedores(new ObservableCollection( - from r in this.Repasses - where r.get_Parcela().get_Id() == x.get_Id() - select r)); - }); - } - - internal async Task BaixarComissao() - { - decimal? nullable; - bool valueOrDefault; - decimal? tolerancia; - decimal num; - bool tipo; - bool flag; - string endosso; - string propostaEndosso; - string str; - bool valueOrDefault1; - string str1; - bool flag1; - long? nullable1; - if (this.SelectedParcela != null) - { - base.Loading(true); - if (!this.IsFatura) - { - valueOrDefault = false; - } - else - { - ObservableCollection parcelas = this.Parcelas; - IOrderedEnumerable numeroParcela = - from x in parcelas - orderby x.get_NumeroParcela() - select x; - Parcela parcela = numeroParcela.LastOrDefault((Parcela x) => x.get_SubTipo() == 1); - if (parcela != null) - { - nullable1 = new long?(parcela.get_Id()); - } - else - { - nullable1 = null; - } - long? nullable2 = nullable1; - long id = this.SelectedParcela.get_Id(); - valueOrDefault = nullable2.GetValueOrDefault() == id & nullable2.HasValue; - } - bool flag2 = valueOrDefault; - this.SelectedParcela.set_Documento(this.SelectedDocumento); - Parcela selectedParcela = this.SelectedParcela; - List list = this.Parcelas.ToList(); - List repasses = this.Repasses; - Documento selectedDocumento = this.SelectedDocumento; - if (selectedDocumento != null) - { - Controle controle = selectedDocumento.get_Controle(); - if (controle != null) - { - Seguradora seguradora = controle.get_Seguradora(); - if (seguradora != null) - { - tolerancia = seguradora.get_Tolerancia(); - } - else - { - nullable = null; - tolerancia = nullable; - } - } - else - { - nullable = null; - tolerancia = nullable; - } - } - else - { - nullable = null; - tolerancia = nullable; - } - decimal? nullable3 = tolerancia; - num = (nullable3.HasValue ? nullable3.GetValueOrDefault() : this.Tolerancia); - this.SelectedParcela = await Funcoes.BaixarComissao(selectedParcela, list, repasses, num, false); - Documento documento = this.SelectedDocumento; - if (documento != null) - { - tipo = documento.get_Tipo() == 0; - } - else - { - tipo = false; - } - if (!tipo || !string.IsNullOrEmpty(this.SelectedDocumento.get_Apolice())) - { - Documento selectedDocumento1 = this.SelectedDocumento; - if (selectedDocumento1 != null) - { - flag = selectedDocumento1.get_Tipo() == 0; - } - else - { - flag = false; - } - if (!flag || string.IsNullOrEmpty(this.SelectedDocumento.get_Apolice())) - { - Documento documento1 = this.SelectedDocumento; - if (documento1 != null) - { - endosso = documento1.get_Endosso(); - } - else - { - endosso = null; - } - if (string.IsNullOrEmpty(endosso)) - { - Documento selectedDocumento2 = this.SelectedDocumento; - if (selectedDocumento2 != null) - { - propostaEndosso = selectedDocumento2.get_PropostaEndosso(); - } - else - { - propostaEndosso = null; - } - str = string.Concat("PROPOSTA DE ENDOSSO ", propostaEndosso); - } - else - { - str = string.Concat("ENDOSSO ", this.SelectedDocumento.get_Endosso()); - } - } - else - { - str = string.Concat("APÓLICE ", this.SelectedDocumento.get_Apolice()); - } - } - else - { - str = string.Concat("PROPOSTA ", this.SelectedDocumento.get_Proposta()); - } - string str2 = str; - Documento documento2 = this.SelectedDocumento; - if (documento2 != null) - { - valueOrDefault1 = documento2.get_TipoRecebimento().GetValueOrDefault() == 1; - } - else - { - valueOrDefault1 = false; - } - str1 = (valueOrDefault1 ? string.Format("PARCELA {0} BAIXADA, {1}", this.SelectedParcela.get_NumeroParcela(), str2) : string.Concat("FATURA ", this.SelectedParcela.get_Fatura(), " BAIXADA, ", str2)); - string str3 = str1; - base.RegistrarAcao(str3, this.SelectedParcela.get_Id(), new TipoTela?(5), this.GerarObs(this.SelectedDocumento)); - if (this.SelectedDocumento != null) - { - await this.CarregarParcelas(this.SelectedDocumento); - await this.CarregaRepasse(this.SelectedDocumento.get_Id()); - this.CalculaComissao(this.SelectedDocumento, this.Parcelas); - } - BaseApoliceViewModel baseApoliceViewModel = this; - Parcela selectedParcela1 = this.SelectedParcela; - if (selectedParcela1 == null) - { - selectedParcela1 = this.Parcelas.FirstOrDefault(); - } - await baseApoliceViewModel.SelecionaParcela(selectedParcela1); - this.BaixarParcelas = false; - BaseApoliceViewModel baseApoliceViewModel1 = this; - ObservableCollection observableCollection = this.Parcelas; - IEnumerable subTipo = - from x in observableCollection - where x.get_SubTipo() == 1 - select x; - if (!subTipo.All((Parcela x) => !x.get_DataRecebimento().HasValue)) - { - flag1 = false; - } - else - { - List vendedorParcelas = this.Repasses; - IEnumerable subTipo1 = - from x in vendedorParcelas - where x.get_Parcela().get_SubTipo() == 1 - select x; - flag1 = subTipo1.All((VendedorParcela x) => !x.get_DataPagamento().HasValue); - } - baseApoliceViewModel1.AllowEditApolice = flag1; - base.Loading(false); - bool flag3 = flag2; - if (flag3) - { - flag3 = await base.ShowMessage("DESEJA INCLUIR A PRÓXIMA FATURA?", "SIM", "NÃO", false); - } - if (flag3) - { - this.UltimaFatura = true; - } - base.ToggleSnackBar("PARCELA BAIXADA COM SUCESSO", true); - } - } - - public async Task BuscarVendedores(bool verificarRamo = true) - { - List vendedors1; - List vendedores; - bool ramo; - bool id; - Func func = null; - if (this.RepassesVendedores == null) - { - this.RepassesVendedores = await this.VendedorServico.BuscaRepasses(); - BaseApoliceViewModel list = this; - List repassesVendedores = this.RepassesVendedores; - IEnumerable> groupings = - from x in repassesVendedores - group x by x.get_Vendedor().get_Id(); - IEnumerable vendedor = - from x in groupings - select x.First().get_Vendedor(); - list.TodosVendedores = ( - from x in vendedor - orderby x.get_Nome() - select x).ToList(); - } - Documento selectedDocumento = this.SelectedDocumento; - if (selectedDocumento != null) - { - vendedores = selectedDocumento.get_Vendedores(); - } - else - { - vendedores = null; - } - List vendedors2 = vendedores; - if (vendedors2 == null) - { - Documento documento = this.SelectedDocumento; - if (documento != null) - { - id = documento.get_Id() > (long)0; - } - else - { - id = false; - } - if (!id) - { - vendedors1 = new List(); - } - else - { - vendedors1 = await this.ParcelaServico.BuscarVendedores(this.SelectedDocumento.get_Id()); - } - vendedors2 = vendedors1; - } - List vendedors3 = vendedors2; - this.Vendedores = this.TodosVendedores.Where((Vendedor x) => { - if (x.get_IdEmpresa() != Recursos.Usuario.get_IdEmpresa()) - { - List vendedors = vendedors3; - Func u003cu003e9_1475 = BaseApoliceViewModel.u003cu003ec.u003cu003e9__147_5; - if (u003cu003e9_1475 == null) - { - u003cu003e9_1475 = (Vendedor y) => y.get_Id(); - BaseApoliceViewModel.u003cu003ec.u003cu003e9__147_5 = u003cu003e9_1475; - } - if (!vendedors.Select(u003cu003e9_1475).Contains(x.get_Id())) - { - return false; - } - } - if (x.get_Ativo()) - { - return !x.get_Corretora(); - } - return false; - }).ToList(); - List vendedorUsuarios = await base.VerificaVinculoVendedor(Recursos.Usuario); - if (vendedorUsuarios.Count > 0) - { - vendedorUsuarios.ForEach((VendedorUsuario x) => vendedors3.Add(x.get_Vendedor())); - this.Vendedores = vendedors3; - } - if (verificarRamo) - { - Documento selectedDocumento1 = this.SelectedDocumento; - if (selectedDocumento1 != null) - { - Controle controle = selectedDocumento1.get_Controle(); - if (controle != null) - { - ramo = controle.get_Ramo(); - } - else - { - ramo = false; - } - } - else - { - ramo = false; - } - if (ramo) - { - for (int i = this.Vendedores.Count - 1; i >= 0; i--) - { - List repasses = this.GetRepasses(this.Vendedores[i]); - List repasses1 = repasses; - if (!repasses1.Any((Gestor.Model.Domain.Seguros.Repasse x) => x.get_Ramo() == null)) - { - List repasses2 = repasses; - Func func1 = func; - if (func1 == null) - { - Func id1 = (Gestor.Model.Domain.Seguros.Repasse x) => x.get_Ramo().get_Id() != this.SelectedDocumento.get_Controle().get_Ramo().get_Id(); - Func func2 = id1; - func = id1; - func1 = func2; - } - if (repasses2.All(func1)) - { - this.Vendedores.Remove(this.Vendedores[i]); - } - } - } - } - } - } - - private void CalculaComissao(Documento documento, ObservableCollection parcelas) - { - decimal? nullable; - decimal? comissaoTotal; - decimal num = (documento.get_AdicionalComiss() ? documento.get_PremioLiquido() + documento.get_PremioAdicional() : documento.get_PremioLiquido()); - decimal comissao = documento.get_Comissao() * new decimal(1, 0, 0, false, 2); - this.Gerada = num * comissao; - this.Recebida = (Recursos.Configuracoes.Any((ConfiguracaoSistema x) => x.get_Configuracao() == 32) ? parcelas.Where((Parcela x) => { - if (x.get_SubTipo() == 1) - { - return true; - } - return x.get_SubTipo() == 6; - }).Sum((Parcela x) => x.get_ValorComissao()) : ( - from x in parcelas - where x.get_SubTipo() == 1 - select x).Sum((Parcela x) => x.get_ValorComissao())); - this.Pendente = this.Gerada - this.Recebida; - this.Pendente = (this.Pendente < new decimal(1, 0, 0, false, 2) ? new decimal(0, 0, 0, false, 2) : this.Pendente); - this.Repasse = this.Repasses.Where((VendedorParcela x) => { - if (!x.get_DataPrePagamento().HasValue) - { - return false; - } - return !x.get_CoCorretagem(); - }).Sum((VendedorParcela x) => x.get_ValorRepasse().GetValueOrDefault()); - if (this.Pendente < this.Tolerancia) - { - this.Pendente = decimal.Zero; - } - if (this.VerificaCoCorretagem()) - { - Documento selectedDocumento = this.SelectedDocumento; - if (selectedDocumento != null) - { - comissaoTotal = selectedDocumento.get_ComissaoTotal(); - } - else - { - nullable = null; - comissaoTotal = nullable; - } - nullable = comissaoTotal; - this.ComissOriginal = nullable.GetValueOrDefault(); - } - } - - public VendedorParcela CalculaRepasse(Gestor.Model.Domain.Seguros.Repasse repasse, TipoVendedor tipoVendedor) - { - NegocioCorretora? negocioCorretora = this.SelectedDocumento.get_NegocioCorretora(); - bool valueOrDefault = negocioCorretora.GetValueOrDefault() == 1; - if (this.SelectedParcela == null) - { - Parcela parcela = new Parcela(); - parcela.set_SubTipo(1); - parcela.set_IdEmpresa(this.SelectedDocumento.get_Controle().get_IdEmpresa()); - this.SelectedParcela = parcela; - } - this.SelectedParcela.set_Documento(this.SelectedDocumento); - decimal num = Funcoes.CalculaRepasse(repasse, this.SelectedParcela, true); - VendedorParcela vendedorParcela = new VendedorParcela(); - vendedorParcela.set_Repasse(repasse); - vendedorParcela.set_ValorRepasse(new decimal?(num)); - vendedorParcela.set_ValorTotal(new decimal?(num)); - vendedorParcela.set_Vendedor(repasse.get_Vendedor()); - vendedorParcela.set_PorcentagemRepasse(new decimal?((valueOrDefault ? repasse.get_ValorRenovacao() : repasse.get_ValorNovo()))); - vendedorParcela.set_TipoVendedor(tipoVendedor); - vendedorParcela.set_CoCorretagem((repasse != null ? repasse.get_Tipo().GetValueOrDefault() == 3 : false)); - return vendedorParcela; - } - - public async Task CancelarAlteracao() - { - this.Acesso = 0; - if (this.CancelDocumento == null || this.CancelDocumento.get_Id() == 0) - { - this.SelectedDocumento = null; - } - else - { - await this.SelecionaDocumento(this.CancelDocumento); - } - this.Anotacoes = string.Empty; - base.EnableFields = false; - Action enableMainMenu = Gestor.Application.Actions.Actions.EnableMainMenu; - if (enableMainMenu != null) - { - enableMainMenu(true); - } - else - { - } - Action enableMenu = Gestor.Application.Actions.Actions.EnableMenu; - if (enableMenu != null) - { - enableMenu(true); - } - else - { - } - Action enablePesquisarClientes = Gestor.Application.Actions.Actions.EnablePesquisarClientes; - if (enablePesquisarClientes != null) - { - enablePesquisarClientes(true); - } - else - { - } - } - - public async void CancelPagamento() - { - ObservableCollection observableCollection; - this.BaixarParcelas = false; - this.SelectedParcela.set_Baixando(false); - ObservableCollection observableCollection1 = await this.ParcelaServico.BuscarParcelasAsync(this.SelectedDocumento.get_Id()); - BaseApoliceViewModel baseApoliceViewModel = this; - if (this.IsFatura) - { - ObservableCollection observableCollection2 = observableCollection1; - observableCollection = new ObservableCollection( - from x in observableCollection2 - orderby x.get_NumeroParcela() descending - select x); - } - else - { - observableCollection = observableCollection1; - } - baseApoliceViewModel.Parcelas = observableCollection; - await this.CarregaRepasse(this.SelectedDocumento.get_Id()); - await this.SelecionaParcela(this.Parcelas.FirstOrDefault()); - } - - public async Task CarregaRepasse(long id) - { - this.Repasses = await this.VendedorServico.BuscaRepasse(id); - BaseApoliceViewModel baseApoliceViewModel = this; - Parcela selectedParcela = this.SelectedParcela; - if (selectedParcela == null) - { - selectedParcela = this.Parcelas.FirstOrDefault(); - } - await baseApoliceViewModel.SelecionaParcela(selectedParcela); - } - - public async Task CarregarImposto() - { - List impostos = await (new ImpostoServico()).Buscar(new bool?(true)); - Gestor.Model.Domain.Ferramentas.Imposto imposto = impostos.FirstOrDefault((Gestor.Model.Domain.Ferramentas.Imposto x) => { - if (x.get_Seguradora() == null || x.get_Seguradora().get_Id() != this.SelectedDocumento.get_Controle().get_Seguradora().get_Id() || x.get_Ramo() == null) - { - return false; - } - return x.get_Ramo().get_Id() == this.SelectedDocumento.get_Controle().get_Ramo().get_Id(); - }); - if (imposto == null) - { - imposto = impostos.FirstOrDefault((Gestor.Model.Domain.Ferramentas.Imposto x) => { - if (x.get_Seguradora() == null || x.get_Seguradora().get_Id() != this.SelectedDocumento.get_Controle().get_Seguradora().get_Id()) - { - return false; - } - return x.get_Ramo() == null; - }); - } - if (imposto == null) - { - imposto = impostos.FirstOrDefault((Gestor.Model.Domain.Ferramentas.Imposto x) => { - if (x.get_Seguradora() != null || x.get_Ramo() == null) - { - return false; - } - return x.get_Ramo().get_Id() == this.SelectedDocumento.get_Controle().get_Ramo().get_Id(); - }); - } - if (imposto == null) - { - List impostos1 = impostos; - imposto = impostos1.FirstOrDefault((Gestor.Model.Domain.Ferramentas.Imposto x) => { - if (x.get_Seguradora() != null) - { - return false; - } - return x.get_Ramo() == null; - }); - } - Gestor.Model.Domain.Ferramentas.Imposto imposto1 = imposto; - BaseApoliceViewModel baseApoliceViewModel = this; - Gestor.Model.Domain.Ferramentas.Imposto imposto2 = imposto1; - if (imposto2 == null) - { - imposto2 = new Gestor.Model.Domain.Ferramentas.Imposto(); - } - baseApoliceViewModel.Imposto = imposto2; - } - - public async Task CarregarParcelas(Documento documento) - { - ObservableCollection observableCollection; - if (documento != null) - { - ObservableCollection observableCollection1 = await this.ParcelaServico.BuscarParcelasPorDocumento(documento); - BaseApoliceViewModel baseApoliceViewModel = this; - if (this.IsFatura) - { - ObservableCollection observableCollection2 = observableCollection1; - observableCollection = new ObservableCollection( - from x in observableCollection2 - orderby x.get_NumeroParcela() descending - select x); - } - else - { - observableCollection = observableCollection1; - } - baseApoliceViewModel.Parcelas = observableCollection; - if (this.Invoke) - { - Action recarregarParcelas = Gestor.Application.Actions.Actions.RecarregarParcelas; - if (recarregarParcelas != null) - { - recarregarParcelas(this.SelectedDocumento); - } - else - { - } - } - } - } - - public bool CompararValores() - { - if (this.SelectedDocumento.get_Id() == 0 || this.SelectedDocumento.HasChange("PremioLiquido") || this.SelectedDocumento.HasChange("PremioAdicional") || this.SelectedDocumento.HasChange("Comissao") || this.SelectedDocumento.HasChange("Iof")) - { - return true; - } - return this.SelectedDocumento.HasChange("AdicionalComiss"); - } - - private void CriarParcelas(bool insert) - { - if (this.Repasses == null) - { - this.Repasses = new List(); - } - var list = this.Repasses.Where((VendedorParcela x) => { - if (insert) - { - return true; - } - return x.get_Parcela().get_SubTipo() == 1; - }).GroupBy((VendedorParcela x) => new { Repasse = x.get_Repasse(), TipoVendedor = x.get_TipoVendedor() }).Distinct().ToList(); - List vendedorParcelas = new List(); - list.ForEach((x) => { - decimal num; - if (x.Key.Repasse == null) - { - return; - } - VendedorParcela vendedorParcela = this.CalculaRepasse(x.Key.Repasse, x.Key.TipoVendedor); - if (vendedorParcela.get_Repasse().get_Forma().GetValueOrDefault() == 3) - { - VendedorParcela vendedorParcela1 = vendedorParcela; - decimal? valorRepasse = vendedorParcela1.get_ValorRepasse(); - num = (this.SelectedDocumento.get_NumeroParcelas() > decimal.Zero ? this.SelectedDocumento.get_NumeroParcelas() : decimal.One); - vendedorParcela1.set_ValorRepasse((valorRepasse.HasValue ? new decimal?(valorRepasse.GetValueOrDefault() / num) : null)); - } - vendedorParcelas.Add(vendedorParcela); - }); - if (vendedorParcelas.All((VendedorParcela x) => x.get_TipoVendedor().get_Id() != (long)1)) - { - vendedorParcelas.Add(this.PropriaCorretora()); - } - this.Parcelas = new ObservableCollection(this.CriarParcelas(vendedorParcelas)); - } - - private List CriarParcelas(List vendedores) - { - TipoPagamento tipoPagamento; - List parcelas = new List(); - if (this.SelectedDocumento.get_NumeroParcelas() == decimal.Zero) - { - return parcelas; - } - decimal premioTotal = this.SelectedDocumento.get_PremioTotal() / this.SelectedDocumento.get_NumeroParcelas(); - FormaPagamento? formaPagamento = this.SelectedDocumento.get_FormaPagamento(); - if (!formaPagamento.HasValue) - { - this.SelectedDocumento.set_FormaPagamento(new FormaPagamento?(0)); - } - for (int i = 1; i <= this.SelectedDocumento.get_NumeroParcelas(); i++) - { - Parcela parcela = new Parcela(); - parcela.set_IdEmpresa(this.SelectedDocumento.get_Controle().get_IdEmpresa()); - parcela.set_NumeroParcela(i); - parcela.set_Valor(premioTotal); - parcela.set_Comissao(this.SelectedDocumento.get_Comissao()); - DateTime vigencia1 = this.SelectedDocumento.get_Vigencia1(); - parcela.set_Vencimento(vigencia1.AddMonths(i - 1)); - parcela.set_SubTipo(1); - parcela.set_Vendedores(new ObservableCollection((i == 1 ? vendedores : vendedores.Where((VendedorParcela x) => { - Gestor.Model.Domain.Seguros.Repasse repasse = x.get_Repasse(); - if (repasse == null) - { - return false; - } - return repasse.get_Forma().GetValueOrDefault() == 3; - }).ToList()))); - formaPagamento = this.SelectedDocumento.get_FormaPagamento(); - if (formaPagamento.GetValueOrDefault() == 0 & formaPagamento.HasValue) - { - tipoPagamento = 7; - } - else - { - formaPagamento = this.SelectedDocumento.get_FormaPagamento(); - if (formaPagamento.GetValueOrDefault() == 1) - { - tipoPagamento = 3; - } - else - { - formaPagamento = this.SelectedDocumento.get_FormaPagamento(); - if (formaPagamento.GetValueOrDefault() == 2) - { - tipoPagamento = 15; - } - else - { - formaPagamento = this.SelectedDocumento.get_FormaPagamento(); - tipoPagamento = (formaPagamento.GetValueOrDefault() != 3 || i != 1 ? 7 : 15); - } - } - } - parcela.set_TipoPagamento(tipoPagamento); - parcela.set_DataCriacao(new DateTime?(Funcoes.GetNetworkTime())); - parcela.set_UsuarioCriacao(Recursos.Usuario.get_Id()); - parcelas.Add(parcela); - } - return parcelas; - } - - private List CriarRepasses(VendedorParcela repasse) - { - decimal? nullable; - if (this.Parcelas == null || this.Parcelas.Count == 0 || this.SelectedDocumento == null) - { - return null; - } - List vendedorParcelas = new List(); - VendedorParcela vendedorParcela1 = repasse; - if (repasse.get_Repasse().get_Forma().GetValueOrDefault() == 3) - { - decimal? valorRepasse = repasse.get_ValorRepasse(); - decimal numeroParcelas = this.SelectedDocumento.get_NumeroParcelas(); - if (valorRepasse.HasValue) - { - nullable = new decimal?(valorRepasse.GetValueOrDefault() / numeroParcelas); - } - else - { - nullable = null; - } - } - else - { - nullable = repasse.get_ValorRepasse(); - } - vendedorParcela1.set_ValorRepasse(nullable); - this.Parcelas.ToList().ForEach((Parcela x) => { - if (repasse.get_Repasse().get_Forma().GetValueOrDefault() != 3 && x.get_NumeroParcela() > 1) - { - return; - } - VendedorParcela vendedorParcela = (VendedorParcela)repasse.Clone(); - if (repasse.get_Repasse().get_Forma().GetValueOrDefault() == 3) - { - vendedorParcela.set_DataPrePagamento(new DateTime?(x.get_Vencimento())); - } - vendedorParcela.set_Parcela(x); - vendedorParcelas.Add(vendedorParcela); - }); - return vendedorParcelas; - } - - private async Task DesfazerAlteracoes() - { - IEnumerable list; - ItemServico itemServico = new ItemServico(); - IList documentos = this.SelectedDocumento.get_Controle().get_Documentos(); - ObservableCollection observableCollection = await itemServico.BuscarItems(documentos.FirstOrDefault((Documento x) => { - if (x.get_Excluido() || x.get_Situacao() == 7) - { - return false; - } - return x.get_Ordem() == 0; - }).get_Id(), 2, false); - ObservableCollection observableCollection1 = await (new ItemServico()).BuscarItems(this.SelectedDocumento.get_Id(), 2, false); - ObservableCollection observableCollection2 = observableCollection1; - List items = observableCollection.Where((Item x) => { - long? idDocumentoCancelado = x.get_IdDocumentoCancelado(); - long id = this.SelectedDocumento.get_Id(); - return idDocumentoCancelado.GetValueOrDefault() == id & idDocumentoCancelado.HasValue; - }).ToList(); - List items1 = items; - IEnumerable items2 = observableCollection.Where((Item x) => { - long? nullable; - long? nullable1 = x.get_Substituido(); - if (!nullable1.HasValue) - { - return false; - } - nullable1 = x.get_Substituido(); - Item item = observableCollection2.FirstOrDefault((Item d) => { - long id = d.get_Id(); - long? substituido = x.get_Substituido(); - return id == substituido.GetValueOrDefault() & substituido.HasValue; - }); - if (item != null) - { - nullable = new long?(item.get_Id()); - } - else - { - nullable = null; - } - long? nullable2 = nullable; - return nullable1.GetValueOrDefault() == nullable2.GetValueOrDefault() & nullable1.HasValue == nullable2.HasValue; - }); - if (items2 != null) - { - list = items2.ToList(); - } - else - { - list = null; - } - items1.AddRange(list); - if (items.Count == 0) - { - items = observableCollection.Where((Item x) => { - if (x.get_Status() == null || Gestor.Common.Validation.ValidationHelper.IsNullOrEmpty(x.get_Status()) || !x.get_Status().Contains("ORDEM")) - { - return false; - } - return x.get_Status().Replace("ORDEM", "-").Split(new char[] { '-' })[1].Trim().Equals(string.Format("{0}", this.SelectedDocumento.get_Ordem())); - }).ToList(); - } - foreach (Item item1 in items) - { - await (new ItemServico()).Reativar(item1, ""); - } - observableCollection = null; - } - - public void EditarParcelaEspecial() - { - this.AllowEditVendedor = true; - } - - public async Task EditarParcelas() - { - if (this.DocumentoSelecionado == null) - { - this.DocumentoSelecionado = this.SelectedDocumento; - } - await base.ShowEditarParcelasDialog(this.DocumentoSelecionado); - await this.CarregarParcelas(this.DocumentoSelecionado); - } - - public async Task ExcluirApolice() - { - string str; - int ordem; - string str1; - string str2; - TipoSeguro value; - int? nullable; - Documento selectedDocumento; - string str3; - string str4; - if (this.SelectedDocumento != null) - { - if (this.AllowEditApolice) - { - ObservableCollection parcelas = this.Parcelas; - if (!parcelas.Any((Parcela x) => x.get_DataRecebimento().HasValue)) - { - List repasses = this.Repasses; - if (!repasses.Any((VendedorParcela x) => x.get_DataPagamento().HasValue)) - { - if (this.SelectedDocumento.get_Tipo() <= 0 || !this.SelectedDocumento.get_Sinistro()) - { - selectedDocumento = this.SelectedDocumento; - if (selectedDocumento.get_Tipo() != 0 || !string.IsNullOrEmpty(selectedDocumento.get_Apolice())) - { - str = (selectedDocumento.get_Tipo() != 0 || string.IsNullOrEmpty(selectedDocumento.get_Apolice()) ? "O ENDOSSO SELECIONADO" : "A APÓLICE SELECIONADA"); - } - else - { - str = "A PROPOSTA SELECIONADA"; - } - str3 = str; - int num = this.SelectedDocumento.get_Ordem(); - IList documentos = this.SelectedDocumento.get_Controle().get_Documentos(); - Documento documento = ( - from x in documentos - orderby x.get_Ordem() descending - select x).FirstOrDefault((Documento x) => { - if (!x.get_Excluido() && x.get_Situacao() != 7) - { - return true; - } - return x.get_Id() == this.SelectedDocumento.get_Id(); - }); - if (documento != null) - { - ordem = documento.get_Ordem(); - } - else - { - ordem = this.SelectedDocumento.get_Ordem(); - } - if (num == ordem) - { - string[] newLine = new string[] { "DESEJA REALMENTE EXCLUIR ", str3, "?", Environment.NewLine, "ESSE PROCEDIMENTO É IRREVERSÍVEL." }; - if (await base.ShowMessage(string.Concat(newLine), "SIM", "NÃO", false)) - { - bool hasValue = selectedDocumento.get_TipoEndosso().HasValue; - if (hasValue) - { - hasValue = await base.ShowMessage("DESEJA DESFAZER AS ALTERAÇOES NOS ITENS VINCULADOS A ESSE ENDOSSO ?", "SIM", "NÃO", false); - } - if (hasValue) - { - IList documentos1 = this.SelectedDocumento.get_Controle().get_Documentos(); - Documento documento1 = ( - from x in documentos1 - orderby x.get_Ordem() descending - select x).FirstOrDefault((Documento x) => { - if (x.get_Excluido() || x.get_Situacao() == 7) - { - return false; - } - return x.get_Ordem() > this.SelectedDocumento.get_Ordem(); - }); - if (documento1 != null) - { - nullable = new int?(documento1.get_Ordem()); - } - else - { - nullable = null; - } - int? nullable1 = nullable; - int ordem1 = this.SelectedDocumento.get_Ordem(); - if (!(nullable1.GetValueOrDefault() > ordem1 & nullable1.HasValue)) - { - await this.DesfazerAlteracoes(); - } - else - { - await base.ShowMessage(string.Concat("NÃO É POSSIVEL DESFAZER AS ALTERAÇÕES, POIS ", str3, " POSSUE ENDOSSOS ATIVOS ACIMA."), "OK", "", false); - selectedDocumento = null; - str3 = null; - str4 = null; - return; - } - } - if (selectedDocumento.get_Tipo() == 0 && string.IsNullOrEmpty(selectedDocumento.get_Apolice())) - { - str1 = string.Concat("EXCLUIU PROPOSTA ", selectedDocumento.get_Proposta()); - } - else if (selectedDocumento.get_Tipo() != 0 || string.IsNullOrEmpty(selectedDocumento.get_Apolice())) - { - str1 = (string.IsNullOrEmpty(selectedDocumento.get_Endosso()) ? string.Concat("EXCLUIU PROPOSTA DE ENDOSSO ", selectedDocumento.get_PropostaEndosso()) : string.Concat("EXCLUIU ENDOSSO ", selectedDocumento.get_Endosso())); - } - else - { - str1 = string.Concat("EXCLUIU APÓLICE ", selectedDocumento.get_Apolice()); - } - string str5 = str1; - base.RegistrarAcao(str5, this.SelectedDocumento.get_Id(), new TipoTela?(2), this.GerarObs(selectedDocumento)); - base.Loading(true); - if (selectedDocumento.get_Tipo() != 0 || !string.IsNullOrEmpty(selectedDocumento.get_Apolice())) - { - str2 = (selectedDocumento.get_Tipo() != 0 || string.IsNullOrEmpty(selectedDocumento.get_Apolice()) ? "ENDOSSO EXCLUÍDO" : "APÓLICE EXCLUÍDA"); - } - else - { - str2 = "PROPOSTA EXCLUÍDA"; - } - str4 = str2; - selectedDocumento.set_Excluido(true); - this.Servico.Sucesso = true; - await this.Servico.ExcluirCritica(selectedDocumento.get_Id()); - if (this.Servico.Sucesso) - { - Gestor.Application.Servicos.TarefaServico tarefaServico = this.TarefaServico; - hasValue = await this.TarefaServico.ExcluirTarefasDocumento(selectedDocumento.get_Id()); - tarefaServico.Sucesso = hasValue; - tarefaServico = null; - if (this.TarefaServico.Sucesso) - { - this.Servico.Sucesso = true; - if (selectedDocumento.get_TipoEndosso().HasValue && selectedDocumento.get_TipoEndosso().GetValueOrDefault() == 2) - { - IList documentos2 = this.CancelDocumento.get_Controle().get_Documentos(); - Documento documento2 = documentos2.FirstOrDefault((Documento x) => { - if (x.get_Tipo() != 0) - { - return false; - } - return !x.get_Excluido(); - }); - IList documentos3 = this.CancelDocumento.get_Controle().get_Documentos(); - List list = documentos3.Where((Documento x) => { - if (x.get_Tipo() != 1) - { - return false; - } - return !x.get_Excluido(); - }).ToList(); - if (documento2 != null) - { - Documento documento3 = documento2; - if (!documento2.get_SituacaoAnterior().HasValue || documento2.get_SituacaoAnterior().GetValueOrDefault() == 3) - { - value = (documento2.get_NegocioCorretora().GetValueOrDefault() == 1 ? 2 : 1); - } - else - { - value = documento2.get_SituacaoAnterior().Value; - } - documento3.set_Situacao(value); - await this.Servico.Save(documento2, false, false); - foreach (Documento documento4 in list) - { - documento4.set_Situacao(documento2.get_Situacao()); - await this.Servico.Save(documento4, false, false); - } - } - documento2 = null; - list = null; - } - await this.Servico.Excluir(selectedDocumento); - if (this.Servico.Sucesso) - { - if (selectedDocumento.get_Tipo() > 0) - { - await Funcoes.OrganizarDocumentos(selectedDocumento.get_Controle().get_Id()); - await Funcoes.InativarItens(selectedDocumento.get_Id(), selectedDocumento.get_Controle().get_Ramo().get_Id(), true); - } - if (this.Invoke) - { - ConsultaViewModel.DocumentoSelecionado = null; - Action recarregarDocumentos = Gestor.Application.Actions.Actions.RecarregarDocumentos; - if (recarregarDocumentos != null) - { - recarregarDocumentos(null); - } - else - { - } - } - base.Loading(false); - base.ToggleSnackBar(string.Concat(str4, " COM SUCESSO"), true); - if (this.Invoke) - { - Action acessaTela = Gestor.Application.Actions.Actions.AcessaTela; - if (acessaTela != null) - { - acessaTela(21, ""); - } - else - { - } - } - selectedDocumento = null; - str3 = null; - str4 = null; - return; - } - else - { - base.Loading(false); - selectedDocumento = null; - str3 = null; - str4 = null; - return; - } - } - else - { - base.Loading(false); - selectedDocumento = null; - str3 = null; - str4 = null; - return; - } - } - else - { - base.Loading(false); - selectedDocumento = null; - str3 = null; - str4 = null; - return; - } - } - else - { - selectedDocumento = null; - str3 = null; - str4 = null; - return; - } - } - else - { - await base.ShowMessage(string.Concat(str3, " NÃO PODE SER EXCLUÍDO(A) POIS POSSUEM DOCUMENTOS ATIVOS ACIMA."), "OK", "", false); - selectedDocumento = null; - str3 = null; - str4 = null; - return; - } - } - else - { - await base.ShowMessage("DOCUMENTO NÃO PODE SER EXCLUÍDO POIS POSSUI SINISTROS PARA UM OU MAIS DE SEUS ITENS.", "OK", "", false); - selectedDocumento = null; - str3 = null; - str4 = null; - return; - } - } - } - } - await base.ShowMessage("DOCUMENTO NÃO PODE SER EXCLUÍDO POIS POSSUI BAIXAS DE COMISSÃO OU PAGAMENTO DE VENDEDORES.", "OK", "", false); - } - selectedDocumento = null; - str3 = null; - str4 = null; - } - - internal async Task ExcluirBaixa() - { - string str; - string str1; - bool flag; - if (this.SelectedParcela != null) - { - if (await base.ShowMessage(string.Concat("DESEJA REALMENTE EXCLUIR A BAIXA DA PARCELA SELECIONADA?", Environment.NewLine, "ESSE PROCEDIMENTO É IRREVERSÍVEL."), "SIM", "NÃO", false)) - { - base.Loading(true); - this.SelectedParcela.set_Documento(this.SelectedDocumento); - this.SelectedParcela = await Funcoes.ExcluirBaixa(this.SelectedParcela, this.Repasses, this.Parcelas.ToList()); - if (this.SelectedDocumento.get_Tipo() == 0 && string.IsNullOrEmpty(this.SelectedDocumento.get_Apolice())) - { - str = string.Concat("PROPOSTA ", this.SelectedDocumento.get_Proposta()); - } - else if (this.SelectedDocumento.get_Tipo() != 0 || string.IsNullOrEmpty(this.SelectedDocumento.get_Apolice())) - { - str = (string.IsNullOrEmpty(this.SelectedDocumento.get_Endosso()) ? string.Concat("PROPOSTA DE ENDOSSO ", this.SelectedDocumento.get_PropostaEndosso()) : string.Concat("ENDOSSO ", this.SelectedDocumento.get_Endosso())); - } - else - { - str = string.Concat("APÓLICE ", this.SelectedDocumento.get_Apolice()); - } - string str2 = str; - str1 = (this.SelectedDocumento.get_TipoRecebimento().GetValueOrDefault() == 1 ? string.Format("BAIXA DA PARCELA {0} EXCLUÍDA, {1}", this.SelectedParcela.get_NumeroParcela(), str2) : string.Concat("BAIXA DA FATURA ", this.SelectedParcela.get_Fatura(), " EXCLUÍDA, ", str2)); - string str3 = str1; - base.RegistrarAcao(str3, this.SelectedParcela.get_Id(), new TipoTela?(5), this.GerarObs(this.SelectedDocumento)); - await this.CarregarParcelas(this.SelectedDocumento); - await this.CarregaRepasse(this.SelectedDocumento.get_Id()); - this.CalculaComissao(this.SelectedDocumento, this.Parcelas); - BaseApoliceViewModel baseApoliceViewModel = this; - Parcela selectedParcela = this.SelectedParcela; - if (selectedParcela == null) - { - selectedParcela = this.Parcelas.FirstOrDefault(); - } - await baseApoliceViewModel.SelecionaParcela(selectedParcela); - this.BaixarParcelas = false; - BaseApoliceViewModel baseApoliceViewModel1 = this; - ObservableCollection parcelas = this.Parcelas; - IEnumerable subTipo = - from x in parcelas - where x.get_SubTipo() == 1 - select x; - if (!subTipo.All((Parcela x) => !x.get_DataRecebimento().HasValue)) - { - flag = false; - } - else - { - List repasses = this.Repasses; - IEnumerable vendedorParcelas = - from x in repasses - where x.get_Parcela().get_SubTipo() == 1 - select x; - flag = vendedorParcelas.All((VendedorParcela x) => !x.get_DataPagamento().HasValue); - } - baseApoliceViewModel1.AllowEditApolice = flag; - base.Loading(false); - base.ToggleSnackBar("BAIXA EXCLUÍDA COM SUCESSO", true); - } - } - } - - public async Task ExcluirPagamento(VendedorParcela pagamento) - { - bool flag; - string str; - base.Loading(true); - if (await Funcoes.ExcluirPagamento(pagamento)) - { - base.ToggleSnackBar("PAGAMENTO EXCLUÍDO COM SUCESSO", true); - if (this.SelectedDocumento.get_Tipo() == 0 && string.IsNullOrEmpty(this.SelectedDocumento.get_Apolice())) - { - str = string.Concat("NA PROPOSTA \"", this.SelectedDocumento.get_Proposta(), "\""); - } - else if (this.SelectedDocumento.get_Tipo() != 0 || string.IsNullOrEmpty(this.SelectedDocumento.get_Apolice())) - { - str = (string.IsNullOrEmpty(this.SelectedDocumento.get_Endosso()) ? string.Concat("NA PROPOSTA DE ENDOSSO \"", this.SelectedDocumento.get_PropostaEndosso(), "\"") : string.Concat("NO ENDOSSO \"", this.SelectedDocumento.get_Endosso(), "\"")); - } - else - { - str = string.Concat("NA APÓLICE \"", this.SelectedDocumento.get_Apolice(), "\""); - } - string str1 = str; - string str2 = string.Concat("PAGAMENTO DO VENDEDOR ", pagamento.get_Vendedor().get_Nome(), " EXCLUÍDO, ", str1); - long id = pagamento.get_Id(); - TipoTela? nullable = new TipoTela?(37); - object[] objArray = new object[] { this.GerarObs(this.SelectedDocumento), Environment.NewLine, pagamento.get_Vendedor().get_Nome(), Environment.NewLine, pagamento.get_ValorTotal() }; - base.RegistrarAcao(str2, id, nullable, string.Format("{0}{1}VENDEDOR: {2}{3}COMISSÃO TOTAL: {4:C2}", objArray)); - } - await this.CarregarParcelas(this.SelectedDocumento); - await this.CarregaRepasse(this.SelectedDocumento.get_Id()); - await this.SelecionaParcela(this.Parcelas.FirstOrDefault()); - BaseApoliceViewModel baseApoliceViewModel = this; - ObservableCollection parcelas = this.Parcelas; - IEnumerable subTipo = - from x in parcelas - where x.get_SubTipo() == 1 - select x; - if (!subTipo.All((Parcela x) => !x.get_DataRecebimento().HasValue)) - { - flag = false; - } - else - { - List repasses = this.Repasses; - IEnumerable vendedorParcelas = - from x in repasses - where x.get_Parcela().get_SubTipo() == 1 - select x; - flag = vendedorParcelas.All((VendedorParcela x) => !x.get_DataPagamento().HasValue); - } - baseApoliceViewModel.AllowEditApolice = flag; - this.BaixarParcelas = false; - base.Loading(false); - } - - public async Task ExcluirParcela() - { - string str; - string str1; - string str2; - if (this.SelectedParcela != null) - { - if (this.SelectedParcela.get_SubTipo() != 1 || this.SelectedDocumento.get_TipoRecebimento().GetValueOrDefault() != 1) - { - if (this.SelectedParcela.get_SubTipo() == 1) - { - ObservableCollection parcelas = this.Parcelas; - IOrderedEnumerable numeroParcela = - from x in parcelas - orderby x.get_NumeroParcela() - select x; - Parcela parcela = numeroParcela.Last((Parcela x) => x.get_SubTipo() == 1); - if (this.SelectedParcela.get_Id() != parcela.get_Id()) - { - await base.ShowMessage("A FATURA NÃO PODE SER EXCLUÍDA POIS HÁ FATURAS CADASTRADAS ACIMA DA SELECIONADA.", "OK", "", false); - return; - } - } - if (await base.ShowMessage(string.Concat("DESEJA REALMENTE EXCLUIR A PARCELA SELECIONADA?", Environment.NewLine, "ESSE PROCEDIMENTO É IRREVERSÍVEL."), "SIM", "NÃO", false)) - { - base.Loading(true); - if (await this.ParcelaServico.Delete(this.SelectedParcela, this.Parcelas.ToList())) - { - BaseApoliceViewModel baseApoliceViewModel = this; - str = (this.SelectedDocumento.get_TipoRecebimento().GetValueOrDefault() == 1 ? "PARCELA EXCLUÍDA COM SUCESSO" : "FATURA EXCLUÍDA COM SUCESSO"); - baseApoliceViewModel.ToggleSnackBar(str, true); - if (this.SelectedDocumento.get_Tipo() == 0 && string.IsNullOrEmpty(this.SelectedDocumento.get_Apolice())) - { - str1 = string.Concat("PROPOSTA ", this.SelectedDocumento.get_Proposta()); - } - else if (this.SelectedDocumento.get_Tipo() != 0 || string.IsNullOrEmpty(this.SelectedDocumento.get_Apolice())) - { - str1 = (string.IsNullOrEmpty(this.SelectedDocumento.get_Endosso()) ? string.Concat("PROPOSTA DE ENDOSSO ", this.SelectedDocumento.get_PropostaEndosso()) : string.Concat("ENDOSSO ", this.SelectedDocumento.get_Endosso())); - } - else - { - str1 = string.Concat("APÓLICE ", this.SelectedDocumento.get_Apolice()); - } - string str3 = str1; - str2 = (this.SelectedDocumento.get_TipoRecebimento().GetValueOrDefault() == 1 ? string.Format("PARCELA {0} EXCLUÍDA, {1}", this.SelectedParcela.get_NumeroParcela(), str3) : string.Concat("FATURA ", this.SelectedParcela.get_Fatura(), " EXCLUÍDA, ", str3)); - string str4 = str2; - base.RegistrarAcao(str4, this.SelectedParcela.get_Id(), new TipoTela?(5), this.GerarObs(this.SelectedDocumento)); - } - await this.CarregarParcelas(this.SelectedDocumento); - await this.CarregaRepasse(this.SelectedDocumento.get_Id()); - await this.SelecionaParcela(this.Parcelas.FirstOrDefault()); - this.BaixarParcelas = false; - if (this.Parcelas == null || this.Parcelas.Count == 0) - { - this.VisibilityExcluirParcela = Visibility.Collapsed; - this.VisibilityReplicarFatura = Visibility.Collapsed; - this.BaixarParcelaVisibility = Visibility.Collapsed; - } - base.Loading(false); - this.AllowEditVendedor = this.Parcelas.Any(); - } - } - } - } - - public async Task ExcluirVendedor(VendedorParcela pagamento, bool incluirCorretora = true) - { - List vendedorParcelas; - bool flag; - Vendedor vendedor; - string str1; - List list; - if (this.IsEndosso && this.SelectedDocumento.get_Id() == 0) - { - this.RemoverVendedor(pagamento.get_Vendedor().get_Id()); - base.ToggleSnackBar("VENDEDOR EXCLUÍDO COM SUCESSO", true); - } - else if (!this.AllowEditApolice && !this.IsFatura && this.SelectedParcela.get_SubTipo() == 1) - { - string[] upper = new string[] { "O VENDEDOR ", pagamento.get_Vendedor().get_Nome().ToUpper(), " NÃO PODE SER EXCLUÍDO.", Environment.NewLine, "JÁ EXISTEM RECEBIMENTOS OU PAGAMENTOS DE COMISSÃO PARA ESSE DOCUMENTO." }; - await base.ShowMessage(string.Concat(upper), "OK", "", false); - } - else if (this.SelectedDocumento.get_Id() > (long)0 && (this.IsFatura || this.SelectedParcela.get_SubTipo() != 1) && (this.SelectedParcela.get_Id() > (long)0 && this.SelectedParcela.get_DataRecebimento().HasValue || this.Repasses.Any((VendedorParcela x) => { - if (x.get_Parcela().get_Id() != this.SelectedParcela.get_Id()) - { - return false; - } - return x.get_DataPagamento().HasValue; - }))) - { - string[] strArrays = new string[] { "O VENDEDOR ", pagamento.get_Vendedor().get_Nome().ToUpper(), " NÃO PODE SER EXCLUÍDO.", Environment.NewLine, "JÁ EXISTEM RECEBIMENTOS OU PAGAMENTOS DE COMISSÃO PARA ESSA FATURA." }; - await base.ShowMessage(string.Concat(strArrays), "OK", "", false); - } - else if (this.SelectedDocumento.get_Id() != 0) - { - vendedorParcelas = (this.SelectedParcela.get_SubTipo() != 1 || this.IsFatura ? this.Repasses.Where((VendedorParcela x) => { - if (x.get_Vendedor().get_Id() != pagamento.get_Vendedor().get_Id()) - { - return false; - } - return x.get_Parcela().get_Id() == this.SelectedParcela.get_Id(); - }).ToList() : this.Repasses.Where((VendedorParcela x) => { - if (x.get_Vendedor().get_Id() != pagamento.get_Vendedor().get_Id()) - { - return false; - } - return x.get_Parcela().get_NumeroParcela() != 999; - }).ToList()); - list = vendedorParcelas.Distinct().ToList(); - if (await this.Servico.ExcluirPagamento(list)) - { - if (this.SelectedParcela.get_Id() > (long)0) - { - if (this.SelectedDocumento.get_Tipo() == 0 && string.IsNullOrEmpty(this.SelectedDocumento.get_Apolice())) - { - str1 = string.Concat("NA PROPOSTA \"", this.SelectedDocumento.get_Proposta(), "\""); - } - else if (this.SelectedDocumento.get_Tipo() != 0 || string.IsNullOrEmpty(this.SelectedDocumento.get_Apolice())) - { - str1 = (string.IsNullOrEmpty(this.SelectedDocumento.get_Endosso()) ? string.Concat("NA PROPOSTA DE ENDOSSO \"", this.SelectedDocumento.get_PropostaEndosso(), "\"") : string.Concat("NO ENDOSSO \"", this.SelectedDocumento.get_Endosso(), "\"")); - } - else - { - str1 = string.Concat("NA APÓLICE \"", this.SelectedDocumento.get_Apolice(), "\""); - } - string str2 = str1; - list.ForEach((VendedorParcela x) => { - string str = string.Concat("VENDEDOR ", x.get_Vendedor().get_Nome(), " EXCLUÍDO, ", str2); - base.RegistrarAcao(str, x.get_Id(), new TipoTela?(37), string.Format("{0}{1}VENDEDOR: {2}{3}COMISSÃO TOTAL: {4:C2}", new object[] { this.GerarObs(this.SelectedDocumento), Environment.NewLine, x.get_Vendedor().get_Nome(), Environment.NewLine, x.get_ValorTotal() })); - }); - } - this.RemoverVendedor(pagamento.get_Vendedor().get_Id()); - if (this.IsFatura || this.SelectedParcela.get_SubTipo() != 1) - { - flag = this.Repasses.Any((VendedorParcela x) => { - if (x.get_Parcela().get_Id() != this.SelectedParcela.get_Id()) - { - return false; - } - return x.get_TipoVendedor().get_Id() == (long)1; - }); - } - else - { - List repasses = this.Repasses; - flag = repasses.Any((VendedorParcela x) => { - if (x.get_Parcela().get_SubTipo() != 1 || x.get_TipoVendedor().get_Id() != (long)1) - { - return false; - } - return !x.get_CoCorretagem(); - }); - } - bool flag1 = flag; - if (pagamento.get_TipoVendedor().get_Id() == (long)1 & incluirCorretora && !flag1) - { - VendedorParcela vendedorParcela = await this.IncluirPropriaCorretora(); - if (vendedorParcela != null) - { - this.Repasses.Add(vendedorParcela); - Documento selectedDocumento = this.SelectedDocumento; - List repasses1 = this.Repasses; - VendedorParcela vendedorParcela1 = repasses1.FirstOrDefault((VendedorParcela x) => x.get_TipoVendedor().get_Id() == (long)1); - if (vendedorParcela1 != null) - { - vendedor = vendedorParcela1.get_Vendedor(); - } - else - { - vendedor = null; - } - selectedDocumento.set_VendedorPrincipal(vendedor); - } - } - if (this.Repasses != null) - { - this.Pagamentos = new ObservableCollection(( - from x in this.Repasses - where x.get_Parcela().get_Id() == this.SelectedParcela.get_Id() - select x).ToList()); - } - base.ToggleSnackBar("VENDEDOR EXCLUÍDO COM SUCESSO", true); - this.CalculaComissao(this.SelectedDocumento, this.Parcelas); - } - else - { - BaseApoliceViewModel baseApoliceViewModel = this; - Parcela selectedParcela = this.SelectedParcela; - if (selectedParcela == null) - { - selectedParcela = this.Parcelas.FirstOrDefault(); - } - await baseApoliceViewModel.SelecionaParcela(selectedParcela); - } - } - else - { - this.RemoverVendedor(pagamento.get_Vendedor().get_Id()); - base.ToggleSnackBar("VENDEDOR EXCLUÍDO COM SUCESSO", true); - } - list = null; - } - - public void FiltrarRepasse(Vendedor vendedor) - { - if (this.SelectedPagamento == null) - { - this.SelectedPagamento = new VendedorParcela(); - } - this.SelectedPagamento.set_Vendedor(vendedor); - this.RepassesVendedor = this.GetRepasses(vendedor); - } - - public string GerarObs(Documento doc) - { - if (doc.get_Tipo() == 0) - { - return string.Format("CLIENTE: {0}{1}CÓDIGO: {2}{3}PROPOSTA: {4}{5}APÓLICE: {6}", new object[] { doc.get_Controle().get_Cliente().get_Nome(), Environment.NewLine, doc.get_Id(), Environment.NewLine, doc.get_Proposta(), Environment.NewLine, doc.get_Apolice() }); - } - return string.Format("CLIENTE: {0}{1}CÓDIGO: {2}{3}PROPOSTA: {4}{5}APÓLICE: {6}{7}PROPOSTA DE ENDOSSO: {8}{9}ENDOSSO: {10}", new object[] { doc.get_Controle().get_Cliente().get_Nome(), Environment.NewLine, doc.get_Id(), Environment.NewLine, doc.get_Proposta(), Environment.NewLine, doc.get_Apolice(), Environment.NewLine, doc.get_PropostaEndosso(), Environment.NewLine, doc.get_Endosso() }); - } - - public List GetRepasses(Vendedor vendedor) - { - List repasses; - if (this.CoCorretagem) - { - IEnumerable repassesVendedores = - from x in this.RepassesVendedores - where x.get_Vendedor().get_Id() == vendedor.get_Id() - select x; - if (repassesVendedores == null) - { - return null; - } - IEnumerable valueOrDefault = - from x in repassesVendedores - where x.get_Tipo().GetValueOrDefault() == 3 - select x; - if (valueOrDefault == null) - { - return null; - } - return ( - from x in valueOrDefault - orderby x.get_ValorNovo() - select x).ToList(); - } - if (Recursos.Configuracoes.All((ConfiguracaoSistema x) => x.get_Configuracao() != 20)) - { - IEnumerable repassesVendedores1 = - from x in this.RepassesVendedores - where x.get_Vendedor().get_Id() == vendedor.get_Id() - select x; - if (repassesVendedores1 == null) - { - return null; - } - return ( - from x in repassesVendedores1 - where x.get_Tipo().GetValueOrDefault() != 3 - orderby x.get_ValorNovo() - select x).ToList(); - } - repasses = (!this.RepassesVendedores.Any((Gestor.Model.Domain.Seguros.Repasse x) => { - if (x.get_Vendedor().get_Id() != vendedor.get_Id() || x.get_Ramo() == null) - { - return false; - } - return x.get_Ramo().get_Id() == this.SelectedDocumento.get_Controle().get_Ramo().get_Id(); - }) ? this.RepassesVendedores.Where((Gestor.Model.Domain.Seguros.Repasse x) => { - if (x.get_Vendedor().get_Id() != vendedor.get_Id()) - { - return false; - } - return x.get_Ramo() == null; - }).OrderBy((Gestor.Model.Domain.Seguros.Repasse x) => x.get_ValorNovo()).ToList() : this.RepassesVendedores.Where((Gestor.Model.Domain.Seguros.Repasse x) => { - if (x.get_Vendedor().get_Id() != vendedor.get_Id() || x.get_Ramo() == null) - { - return false; - } - return x.get_Ramo().get_Id() == this.SelectedDocumento.get_Controle().get_Ramo().get_Id(); - }).OrderBy((Gestor.Model.Domain.Seguros.Repasse x) => x.get_ValorNovo()).ToList()); - return repasses; - } - - public List> HabilitarVendedor(int editarParcelaTipo = 0) - { - IEnumerable u00210s; - List> keyValuePairs = new List>(); - if (editarParcelaTipo != 4) - { - keyValuePairs.AddRange(this.SelectedDocumento.Validate(this.IsEndosso, Recursos.Configuracoes.Any((ConfiguracaoSistema c) => c.get_Configuracao() == 11))); - } - else if (this.SelectedParcela != null) - { - List> keyValuePairs1 = keyValuePairs; - Parcela selectedParcela = this.SelectedParcela; - if (selectedParcela != null) - { - u00210s = selectedParcela.Validate(Recursos.Configuracoes.Any((ConfiguracaoSistema x) => x.get_Configuracao() == 9), Recursos.Configuracoes.Any((ConfiguracaoSistema y) => y.get_Configuracao() == 11), this.EditandoParcela, Recursos.Configuracoes.Any((ConfiguracaoSistema x) => x.get_Configuracao() == 16)); - } - else - { - u00210s = null; - } - keyValuePairs1.AddRange(u00210s); - } - return keyValuePairs; - } - - public async Task Importacao() - { - DateTime? dataCriacao; - DateTime? dataImportacao; - RegistroLog registroLog; - DateTime? nullable; - object nome; - string str; - object obj; - string str1; - bool flag; - string str2; - DateTime? nullable1; - object nome1; - bool flag1; - string str3; - DateTime? nullable2; - object obj1; - string str4; - string str5; - List criticaApolices = await (new CriticaApoliceServico()).BuscarImportacao(this.SelectedDocumento.get_Id()); - List list = await (new LogServico()).FindByEntityId(2, this.SelectedDocumento.get_Id()).ToList(); - if (list.Count > 0) - { - registroLog = list.Last(); - } - else - { - registroLog = null; - } - RegistroLog registroLog1 = registroLog; - switch (criticaApolices.Count) - { - case 0: - { - BaseApoliceViewModel baseApoliceViewModel = this; - dataCriacao = this.SelectedDocumento.get_DataCriacao(); - if (!dataCriacao.HasValue) - { - if (registroLog1 != null) - { - nome = registroLog1.get_Usuario().get_Nome(); - } - else - { - nome = null; - } - if (registroLog1 != null) - { - nullable = new DateTime?(registroLog1.get_DataHora()); - } - else - { - dataCriacao = null; - nullable = dataCriacao; - } - str = string.Format("CADASTRO MANUAL: {0} - {1:dd/MM/yyyy 'ÀS' HH:mm:ss}", nome, nullable); - } - else - { - Usuario usuarioCriacao = this.SelectedDocumento.get_UsuarioCriacao(); - if (usuarioCriacao != null) - { - obj = usuarioCriacao.get_Nome(); - } - else - { - obj = null; - } - str = string.Format("CADASTRO MANUAL: {0} - {1:dd/MM/yyyy 'ÀS' HH:mm:ss}", obj, this.SelectedDocumento.get_DataCriacao()); - } - baseApoliceViewModel.Importado = str; - break; - } - case 1: - { - if (string.IsNullOrWhiteSpace(criticaApolices[0].get_Tipo()) || criticaApolices[0].get_Tipo() == "0") - { - BaseApoliceViewModel baseApoliceViewModel1 = this; - str1 = (!criticaApolices[0].get_Aggilizador().HasValue || !criticaApolices[0].get_Aggilizador().Value ? string.Format("IMPORTAÇÃO DA PROPOSTA: {0} - {1:dd/MM/yyyy 'ÀS' HH:mm:ss}", criticaApolices[0].get_UsuarioImportacao().get_Nome(), criticaApolices[0].get_DataImportacao()) : string.Format("IMPORTAÇÃO DA PROPOSTA VIA AGGILIZADOR: {0} - {1:dd/MM/yyyy 'ÀS' HH:mm:ss}", criticaApolices[0].get_UsuarioImportacao().get_Nome(), criticaApolices[0].get_DataImportacao())); - baseApoliceViewModel1.Importado = str1; - } - if (criticaApolices[0].get_Tipo() == "1") - { - dataCriacao = this.SelectedDocumento.get_DataCriacao(); - if (dataCriacao.HasValue) - { - dataCriacao = criticaApolices[0].get_DataImportacao(); - if (dataCriacao.HasValue) - { - dataCriacao = this.SelectedDocumento.get_DataCriacao(); - DateTime value = dataCriacao.Value; - dataCriacao = criticaApolices[0].get_DataImportacao(); - if (DateTime.Compare(value, dataCriacao.Value) < 0) - { - this.Importado = string.Format("CADASTRO MANUAL DA PROPOSTA: {0} - {1:dd/MM/yyyy 'ÀS' HH:mm:ss}\n", this.SelectedDocumento.get_UsuarioCriacao(), this.SelectedDocumento.get_DataCriacao()); - } - } - } - else - { - BaseApoliceViewModel baseApoliceViewModel2 = this; - if (registroLog1 != null) - { - obj1 = registroLog1.get_Usuario().get_Nome(); - } - else - { - obj1 = null; - } - if (registroLog1 != null) - { - nullable2 = new DateTime?(registroLog1.get_DataHora()); - } - else - { - dataCriacao = null; - nullable2 = dataCriacao; - } - baseApoliceViewModel2.Importado = string.Format("CADASTRO MANUAL DA PROPOSTA: {0} - {1:dd/MM/yyyy 'ÀS' HH:mm:ss}\n", obj1, nullable2); - } - dataCriacao = this.SelectedDocumento.get_DataCriacao(); - dataImportacao = criticaApolices[0].get_DataImportacao(); - flag1 = (dataCriacao.HasValue & dataImportacao.HasValue ? dataCriacao.GetValueOrDefault() <= dataImportacao.GetValueOrDefault() : false); - if (flag1) - { - BaseApoliceViewModel baseApoliceViewModel3 = this; - str3 = (!criticaApolices[0].get_Aggilizador().HasValue || !criticaApolices[0].get_Aggilizador().Value ? string.Format("IMPORTAÇÃO DA APÓLICE: {0} - {1:dd/MM/yyyy 'ÀS' HH:mm:ss}", criticaApolices[0].get_UsuarioImportacao().get_Nome(), criticaApolices[0].get_DataImportacao()) : string.Format("IMPORTAÇÃO DA APÓLICE VIA AGGILIZADOR: {0} - {1:dd/MM/yyyy 'ÀS' HH:mm:ss}", criticaApolices[0].get_UsuarioImportacao().get_Nome(), criticaApolices[0].get_DataImportacao())); - baseApoliceViewModel3.Importado = str3; - } - } - if (criticaApolices[0].get_Tipo() != "2") - { - break; - } - dataImportacao = this.SelectedDocumento.get_DataCriacao(); - if (dataImportacao.HasValue) - { - dataImportacao = criticaApolices[0].get_DataImportacao(); - if (dataImportacao.HasValue) - { - dataImportacao = this.SelectedDocumento.get_DataCriacao(); - DateTime dateTime = dataImportacao.Value; - dataImportacao = criticaApolices[0].get_DataImportacao(); - if (DateTime.Compare(dateTime, dataImportacao.Value) < 0) - { - this.Importado = string.Format("CADASTRO MANUAL DA PROPOSTA: {0} - {1:dd/MM/yyyy 'ÀS' HH:mm:ss}\n", this.SelectedDocumento.get_UsuarioCriacao(), this.SelectedDocumento.get_DataCriacao()); - } - } - } - else - { - BaseApoliceViewModel baseApoliceViewModel4 = this; - if (registroLog1 != null) - { - nome1 = registroLog1.get_Usuario().get_Nome(); - } - else - { - nome1 = null; - } - if (registroLog1 != null) - { - nullable1 = new DateTime?(registroLog1.get_DataHora()); - } - else - { - dataImportacao = null; - nullable1 = dataImportacao; - } - baseApoliceViewModel4.Importado = string.Format("CADASTRO MANUAL DA PROPOSTA: {0} - {1:dd/MM/yyyy 'ÀS' HH:mm:ss}\n", nome1, nullable1); - } - dataImportacao = this.SelectedDocumento.get_DataCriacao(); - dataCriacao = criticaApolices[0].get_DataImportacao(); - flag = (dataImportacao.HasValue & dataCriacao.HasValue ? dataImportacao.GetValueOrDefault() <= dataCriacao.GetValueOrDefault() : false); - if (!flag) - { - break; - } - BaseApoliceViewModel baseApoliceViewModel5 = this; - str2 = (!criticaApolices[0].get_Aggilizador().HasValue || !criticaApolices[0].get_Aggilizador().Value ? string.Format("IMPORTAÇÃO DO ENDOSSO: {0} - {1:dd/MM/yyyy 'ÀS' HH:mm:ss}", criticaApolices[0].get_UsuarioImportacao().get_Nome(), criticaApolices[0].get_DataImportacao()) : string.Format("IMPORTAÇÃO DO ENDOSSO VIA AGGILIZADOR: {0} - {1:dd/MM/yyyy 'ÀS' HH:mm:ss}", criticaApolices[0].get_UsuarioImportacao().get_Nome(), criticaApolices[0].get_DataImportacao())); - baseApoliceViewModel5.Importado = str2; - break; - } - case 2: - case 3: - { - List criticaApolices1 = criticaApolices; - CriticaApolice criticaApolouse = criticaApolices1.Find((CriticaApolice x) => { - if (string.IsNullOrWhiteSpace(x.get_Tipo())) - { - return true; - } - return x.get_Tipo() == "0"; - }); - List criticaApolices2 = criticaApolices; - CriticaApolice criticaApolouse1 = criticaApolices2.Find((CriticaApolice x) => x.get_Tipo() == "1"); - BaseApoliceViewModel baseApoliceViewModel6 = this; - str4 = (!criticaApolouse.get_Aggilizador().HasValue || !criticaApolouse.get_Aggilizador().Value ? string.Format("IMPORTAÇÃO DA PROPOSTA: {0} - {1:dd/MM/yyyy 'ÀS' HH:mm:ss}\n", criticaApolouse.get_UsuarioImportacao().get_Nome(), criticaApolouse.get_DataImportacao()) : string.Format("IMPORTAÇÃO DA PROPOSTA VIA AGGILIZADOR: {0} - {1:dd/MM/yyyy 'ÀS' HH:mm:ss}\n", criticaApolouse.get_UsuarioImportacao().get_Nome(), criticaApolouse.get_DataImportacao())); - baseApoliceViewModel6.Importado = str4; - if (criticaApolouse1 == null) - { - break; - } - BaseApoliceViewModel baseApoliceViewModel7 = this; - string importado = this.Importado; - str5 = (!criticaApolouse1.get_Aggilizador().HasValue || !criticaApolouse1.get_Aggilizador().Value ? string.Format("IMPORTAÇÃO DA APÓLICE: {0} - {1:dd/MM/yyyy 'ÀS' HH:mm:ss}", criticaApolouse1.get_UsuarioImportacao().get_Nome(), criticaApolouse1.get_DataImportacao()) : string.Format("IMPORTAÇÃO DA APÓLICE VIA AGGILIZADOR: {0} - {1:dd/MM/yyyy 'ÀS' HH:mm:ss}", criticaApolouse1.get_UsuarioImportacao().get_Nome(), criticaApolouse1.get_DataImportacao())); - baseApoliceViewModel7.Importado = string.Concat(importado, str5); - break; - } - } - criticaApolices = null; - } - - public async Task IncluirApolice(bool renovar = false) - { - bool flag; - DateTime? emissao; - FormaPagamento? nullable1; - List list; - List vendedors; - DateTime dateTime; - ObservableCollection observableCollection; - Documento documento; - if (renovar) - { - if (!string.IsNullOrWhiteSpace(this.SelectedDocumento.get_Apolice())) - { - emissao = this.SelectedDocumento.get_Emissao(); - if (emissao.HasValue) - { - goto Label1; - } - } - await base.ShowMessage("PROPOSTA NÃO PODE SER RENOVADA. NECESSÁRIO PREENCHER O NÚMERO DA APÓLICE E DATA DE EMISSÃO ANTES DE PROSSEGUIR.", "OK", "", false); - flag = false; - documento = null; - return flag; - } - Label1: - List seguradoras = Recursos.Seguradoras; - IEnumerable ativo = - from x in seguradoras - where x.get_Ativo() - select x; - List list1 = ( - from x in ativo - orderby x.get_Nome() - select x).ToList(); - this.Seguradoras = list1; - this.SeguradorasAnteriores = Recursos.Seguradoras; - List ramos = Recursos.Ramos; - IEnumerable ativo1 = - from x in ramos - where x.get_Ativo() - select x; - List ramos1 = ( - from x in ativo1 - orderby x.get_Nome() - select x).ToList(); - this.Ramos = ramos1; - List produtos = Recursos.Produtos; - List produtos1 = ( - from x in produtos - where x.get_Ativo() - select x).ToList(); - this.Produtos = produtos1; - List status = Recursos.Status; - List statuses = ( - from x in status - where x.get_Ativo() - select x).ToList(); - this.Status = statuses; - DateTime date = Funcoes.GetNetworkTime().Date; - if (!renovar) - { - this.Inclusao = true; - BaseApoliceViewModel baseApoliceViewModel = this; - List configuracoes = Recursos.Configuracoes; - if (configuracoes.All((ConfiguracaoSistema x) => x.get_Configuracao() != 20)) - { - List todosVendedores = this.TodosVendedores; - list = todosVendedores.Where((Vendedor x) => { - if (x.get_IdEmpresa() != MainViewModel.ClienteSelecionado.get_IdEmpresa() || !x.get_Ativo()) - { - return false; - } - return !x.get_Corretora(); - }).ToList(); - } - else - { - list = new List(); - } - baseApoliceViewModel.Vendedores = list; - BaseApoliceViewModel baseApoliceViewModel1 = this; - List estipulantes = Recursos.Estipulantes; - baseApoliceViewModel1.Estipulantes = estipulantes.Where((Estipulante x) => { - if (x.get_IdEmpresa() != MainViewModel.ClienteSelecionado.get_IdEmpresa()) - { - return false; - } - return x.get_Ativo(); - }).ToList(); - Documento documento1 = new Documento(); - Controle controle = new Controle(); - controle.set_Cliente(MainViewModel.ClienteSelecionado); - controle.set_IdEmpresa(MainViewModel.ClienteSelecionado.get_IdEmpresa()); - documento1.set_Controle(controle); - documento1.set_Ordem(0); - documento1.set_Tipo(0); - documento1.set_NegocioCorretora(new NegocioCorretora?(0)); - documento1.set_Situacao(1); - documento1.set_TipoRecebimento(new TipoRecebimento?(1)); - documento1.set_Vigencia1(date); - documento1.set_Vigencia2(new DateTime?(date.AddYears(1))); - documento1.set_ApoliceConferida(false); - documento1.set_PropostaAssinada(false); - documento1.set_AdicionalComiss(false); - documento1.set_Excluido(false); - nullable1 = null; - documento1.set_FormaPagamento(nullable1); - documento = documento1; - this.Pagamentos = null; - this.Repasses = null; - } - else - { - this.SelectedDocumento = await this.Servico.BuscarApoliceAsync(this.SelectedDocumento.get_Id(), false, false); - this.DocumentoRenovado = this.SelectedDocumento; - if (this.Seguradoras.All((Seguradora x) => x.get_Id() != this.SelectedDocumento.get_Controle().get_Seguradora().get_Id())) - { - this.Seguradoras.Add(this.SelectedDocumento.get_Controle().get_Seguradora()); - } - if (this.SelectedDocumento.get_Controle().get_Produto() != null && this.Produtos.All((Produto x) => x.get_Id() != this.SelectedDocumento.get_Controle().get_Produto().get_Id())) - { - this.Seguradoras.Add(this.SelectedDocumento.get_Controle().get_Seguradora()); - } - if (this.SelectedDocumento.get_Controle().get_Ramo() != null && this.Ramos.All((Ramo x) => x.get_Id() != this.SelectedDocumento.get_Controle().get_Ramo().get_Id())) - { - this.Seguradoras.Add(this.SelectedDocumento.get_Controle().get_Seguradora()); - } - BaseApoliceViewModel baseApoliceViewModel2 = this; - List configuracaoSistemas = Recursos.Configuracoes; - vendedors = (configuracaoSistemas.All((ConfiguracaoSistema x) => x.get_Configuracao() != 20) ? this.TodosVendedores.Where((Vendedor x) => { - if (x.get_IdEmpresa() != this.SelectedDocumento.get_Controle().get_IdEmpresa() || !x.get_Ativo()) - { - return false; - } - return !x.get_Corretora(); - }).ToList() : new List()); - baseApoliceViewModel2.Vendedores = vendedors; - this.Estipulantes = Recursos.Estipulantes.Where((Estipulante x) => { - if (x.get_IdEmpresa() != this.SelectedDocumento.get_Controle().get_IdEmpresa()) - { - return false; - } - return x.get_Ativo(); - }).ToList(); - Documento documento2 = new Documento(); - Controle controle1 = new Controle(); - controle1.set_Cliente(MainViewModel.ClienteSelecionado); - controle1.set_IdEmpresa(this.SelectedDocumento.get_Controle().get_IdEmpresa()); - controle1.set_Ramo(this.SelectedDocumento.get_Controle().get_Ramo()); - controle1.set_Seguradora(this.SelectedDocumento.get_Controle().get_Seguradora()); - controle1.set_SeguradoraAnterior(this.SelectedDocumento.get_Controle().get_Seguradora()); - documento2.set_Controle(controle1); - documento2.set_Ordem(0); - documento2.set_Tipo(0); - documento2.set_NegocioCorretora(new NegocioCorretora?(1)); - documento2.set_Situacao(2); - documento2.set_Negocio(new Negocio?(1)); - documento2.set_TipoRecebimento(new TipoRecebimento?(1)); - emissao = this.SelectedDocumento.get_Vigencia2(); - documento2.set_Vigencia1(emissao.GetValueOrDefault(date)); - emissao = this.SelectedDocumento.get_Vigencia2(); - dateTime = (emissao.HasValue ? emissao.GetValueOrDefault().AddYears(1) : date.AddYears(1)); - documento2.set_Vigencia2(new DateTime?(dateTime)); - documento2.set_ApoliceConferida(false); - documento2.set_PropostaAssinada(false); - documento2.set_AdicionalComiss(false); - documento2.set_Excluido(false); - documento2.set_ApoliceAnterior(this.SelectedDocumento.get_Apolice()); - nullable1 = null; - documento2.set_FormaPagamento(nullable1); - documento = documento2; - this.EmissaoDocumento = new DateTime?(date); - this.TransmissaoDocumento = new DateTime?(date); - if (!await base.ShowMessage("DESEJA MANTER OS VENDEDORES DA APÓLICE ANTERIOR?", "SIM", "NÃO", false)) - { - this.Pagamentos = new ObservableCollection() - { - this.PropriaCorretora() - }; - this.Repasses = null; - } - else - { - ObservableCollection pagamentos = this.Pagamentos; - if (pagamentos != null) - { - List vendedorParcelas = pagamentos.ToList(); - vendedorParcelas.ForEach((VendedorParcela x) => { - x.set_Documento(null); - x.set_ValorRepasse(new decimal?(new decimal())); - x.set_ValorTotal(null); - DateTime? nullable = null; - x.set_DataPagamento(nullable); - nullable = null; - x.set_DataPagamento(nullable); - }); - } - else - { - } - } - BaseApoliceViewModel baseApoliceViewModel3 = this; - observableCollection = (this.Pagamentos != null ? new ObservableCollection(this.Pagamentos) : new ObservableCollection()); - baseApoliceViewModel3.Pagamentos = observableCollection; - } - this.IsFatura = false; - this.SelectedParcela = null; - this.SelectedDocumento = null; - this.SelectedPagamento = null; - this.Parcelas = null; - this.SelectedDocumento = documento; - this.IsEndosso = false; - this.NovaApolice = true; - this.Renovar = renovar; - this.EnableAlterarSituacao = true; - this.AllowEditVendedor = !renovar; - this.AllowEditApolice = true; - base.IsEnabledEdit = true; - base.IsEnabledEditEndosso = true; - base.AllowEditParcela = false; - base.EnableFields = true; - base.EnableIncluir = false; - Action enableMainMenu = Gestor.Application.Actions.Actions.EnableMainMenu; - if (enableMainMenu != null) - { - enableMainMenu(false); - } - else - { - } - flag = true; - documento = null; - return flag; - } - - public async Task IncluirEndosso() - { - bool flag; - ObservableCollection observableCollection; - NegocioCorretora valueOrDefault; - TipoEndosso tipoEndosso; - List configuracoes = Recursos.Configuracoes; - if (configuracoes.Any((ConfiguracaoSistema x) => x.get_Configuracao() == 13) || !string.IsNullOrWhiteSpace(this.SelectedDocumento.get_Apolice())) - { - if (this.SelectedDocumento.get_TipoRecebimento().GetValueOrDefault() == 2) - { - observableCollection = new ObservableCollection(new List() - { - 2, - 1, - 4 - }); - } - else - { - List tipoEndossos = new List() - { - 0, - 1, - 2, - 4 - }; - observableCollection = new ObservableCollection(tipoEndossos); - } - ObservableCollection observableCollection1 = observableCollection; - if (this.SelectedDocumento.get_Situacao() == 3) - { - observableCollection1 = new ObservableCollection(new List() - { - 3 - }); - } - this.TipoEndossoList = observableCollection1; - Documento documento = new Documento(); - documento.set_Controle(this.SelectedDocumento.get_Controle()); - documento.set_Tipo(1); - IList documentos = this.SelectedDocumento.get_Controle().get_Documentos(); - IEnumerable excluido = - from x in documentos - where !x.get_Excluido() - select x; - documento.set_Ordem(excluido.Max((Documento x) => x.get_Ordem()) + 1); - NegocioCorretora? negocioCorretora = this.SelectedDocumento.get_NegocioCorretora(); - if (negocioCorretora.HasValue) - { - valueOrDefault = negocioCorretora.GetValueOrDefault(); - } - else - { - valueOrDefault = (this.SelectedDocumento.get_Situacao() != 2 || !this.SelectedDocumento.get_Negocio().HasValue || this.SelectedDocumento.get_Negocio().GetValueOrDefault() != 1 ? 0 : 1); - } - documento.set_NegocioCorretora(new NegocioCorretora?(valueOrDefault)); - documento.set_Situacao(this.SelectedDocumento.get_Situacao()); - documento.set_Negocio(this.SelectedDocumento.get_Negocio()); - documento.set_TipoRecebimento(this.SelectedDocumento.get_TipoRecebimento()); - documento.set_Vigencia1(Funcoes.GetNetworkTime().Date); - documento.set_Vigencia2(this.SelectedDocumento.get_Vigencia2()); - documento.set_ApoliceConferida(false); - documento.set_PropostaAssinada(false); - documento.set_AdicionalComiss(false); - documento.set_Excluido(false); - documento.set_Apolice(this.SelectedDocumento.get_Apolice()); - documento.set_Proposta(this.SelectedDocumento.get_Proposta()); - tipoEndosso = (this.SelectedDocumento.get_TipoRecebimento().GetValueOrDefault() == 2 ? 2 : 0); - documento.set_TipoEndosso(new TipoEndosso?(tipoEndosso)); - documento.set_Comissao(this.SelectedDocumento.get_Comissao()); - documento.set_Estipulante1(this.SelectedDocumento.get_Estipulante1()); - documento.set_Estipulante2(this.SelectedDocumento.get_Estipulante2()); - documento.set_Estipulante3(this.SelectedDocumento.get_Estipulante3()); - documento.set_Estipulante4(this.SelectedDocumento.get_Estipulante4()); - documento.set_Estipulante5(this.SelectedDocumento.get_Estipulante5()); - Documento documento1 = documento; - this.SelectedParcela = null; - this.SelectedDocumento = null; - this.SelectedPagamento = null; - if (documento1.get_TipoRecebimento().GetValueOrDefault() != 1) - { - this.Pagamentos = null; - this.Repasses = null; - } - else - { - List repasses = this.Repasses; - List list = ( - from x in repasses - where x.get_Parcela().get_SubTipo() == 1 - select x).ToList(); - List vendedorParcelas = ( - from x in list - group x by x.get_Vendedor().get_Id()).Select, VendedorParcela>((IGrouping x) => { - VendedorParcela vendedorParcela = new VendedorParcela(); - vendedorParcela.set_Repasse(x.First().get_Repasse()); - vendedorParcela.set_Parcela(this.SelectedParcela); - vendedorParcela.set_Documento(this.SelectedDocumento); - vendedorParcela.set_ValorRepasse(new decimal?(new decimal())); - vendedorParcela.set_Vendedor(x.First().get_Vendedor()); - vendedorParcela.set_PorcentagemRepasse(x.First().get_PorcentagemRepasse()); - vendedorParcela.set_TipoVendedor(x.First().get_TipoVendedor()); - return vendedorParcela; - }).ToList(); - this.Pagamentos = new ObservableCollection(vendedorParcelas); - this.Repasses = vendedorParcelas; - } - this.Parcelas = null; - this.SelectedDocumento = documento1; - this.NovaApolice = true; - this.AllowEditVendedor = false; - this.AllowEditApolice = true; - this.IsEndosso = true; - base.IsEnabledEditEndosso = true; - base.EnableFields = true; - base.EnableIncluir = false; - this.AllowEditEmissao = true; - Action enableMainMenu = Gestor.Application.Actions.Actions.EnableMainMenu; - if (enableMainMenu != null) - { - enableMainMenu(false); - } - else - { - } - flag = true; - } - else - { - await base.ShowMessage("PROPOSTA NÃO PODE SER ENDOSSADA. NECESSÁRIO PREENCHER O NÚMERO DA APÓLICE E DATA DE EMISSÃO ANTES DE PROSSEGUIR.", "OK", "", false); - flag = false; - } - return flag; - } - - public void IncluirFatura() - { - long? nullable1; - int numeroParcela; - decimal comissao; - long id; - long? nullable2; - Parcela parcela = ( - from x in this.Parcelas - orderby x.get_NumeroParcela() - select x).LastOrDefault((Parcela x) => x.get_SubTipo() == 1); - if (parcela != null) - { - numeroParcela = parcela.get_NumeroParcela(); - } - else - { - numeroParcela = 0; - } - int num = numeroParcela + 1; - if (parcela != null) - { - comissao = parcela.get_Comissao(); - } - else - { - comissao = decimal.Zero; - } - decimal num1 = comissao; - Parcela selectedParcela = this.SelectedParcela; - if (selectedParcela != null) - { - id = selectedParcela.get_Id(); - } - else - { - ObservableCollection parcelas = this.Parcelas; - if (parcelas != null) - { - Parcela parcela1 = ( - from x in parcelas - orderby x.get_NumeroParcela() - select x).LastOrDefault((Parcela x) => x.get_SubTipo() == 1); - if (parcela1 != null) - { - nullable2 = new long?(parcela1.get_Id()); - } - else - { - nullable1 = null; - nullable2 = nullable1; - } - } - else - { - nullable1 = null; - nullable2 = nullable1; - } - nullable1 = nullable2; - id = nullable1.GetValueOrDefault(); - } - long num2 = id; - DateTime networkTime = Funcoes.GetNetworkTime(); - Parcela parcela2 = new Parcela(); - parcela2.set_IdEmpresa(this.SelectedDocumento.get_Controle().get_IdEmpresa()); - parcela2.set_Documento(this.SelectedDocumento); - parcela2.set_Vencimento(Funcoes.GetNetworkTime().Date); - parcela2.set_Comissao(num1); - parcela2.set_SubTipo(1); - parcela2.set_NumeroParcela(num); - parcela2.set_DataCriacao(new DateTime?(networkTime)); - parcela2.set_UsuarioCriacao(Recursos.Usuario.get_Id()); - this.SelectedParcela = parcela2; - if (num2 == 0) - { - return; - } - List list = ( - from x in this.Repasses - where x.get_Parcela().get_Id() == num2 - select x).ToList(); - list.ForEach((VendedorParcela x) => { - decimal zero; - x.set_Id((long)0); - x.set_Parcela(this.SelectedParcela); - DateTime? nullable = null; - x.set_DataPrePagamento(nullable); - nullable = null; - x.set_DataPagamento(nullable); - VendedorParcela vendedorParcela = x; - if (x.get_Repasse() != null) - { - NegocioCorretora? negocioCorretora = this.SelectedDocumento.get_NegocioCorretora(); - zero = (negocioCorretora.GetValueOrDefault() == 0 & negocioCorretora.HasValue ? x.get_Repasse().get_ValorNovo() : x.get_Repasse().get_ValorRenovacao()); - } - else - { - zero = decimal.Zero; - } - vendedorParcela.set_PorcentagemRepasse(new decimal?(zero)); - }); - this.Repasses = list; - this.RecalculaRepasse(); - } - - public void IncluirParcelaEspecial() - { - Parcela parcela; - Parcela parcela1 = new Parcela(); - parcela1.set_IdEmpresa(this.SelectedDocumento.get_Controle().get_IdEmpresa()); - parcela1.set_Documento(this.SelectedDocumento); - parcela1.set_Vencimento(Funcoes.GetNetworkTime().Date); - parcela1.set_Comissao(new decimal(100)); - parcela1.set_SubTipo(3); - parcela1.set_NumeroParcela(999); - parcela1.set_DataCriacao(new DateTime?(Funcoes.GetNetworkTime())); - parcela1.set_UsuarioCriacao(Recursos.Usuario.get_Id()); - this.SelectedParcela = parcela1; - ObservableCollection parcelas = this.Parcelas; - if (parcelas != null) - { - parcela = parcelas.FirstOrDefault((Parcela x) => x.get_SubTipo() == 1); - } - else - { - parcela = null; - } - Parcela parcela2 = parcela; - if (parcela2 == null) - { - this.Repasses = new List(); - return; - } - List list = ( - from x in this.Repasses - where x.get_Parcela().get_Id() == parcela2.get_Id() - select x).ToList(); - list.ForEach((VendedorParcela x) => { - x.set_Id((long)0); - x.set_Parcela(this.SelectedParcela); - DateTime? nullable = null; - x.set_DataPrePagamento(nullable); - nullable = null; - x.set_DataPagamento(nullable); - x.set_ValorRepasse(new decimal?(new decimal())); - nullable = null; - x.set_DataPagamento(nullable); - }); - this.Repasses = list; - this.RecalculaRepasse(); - } - - private async Task IncluirPropriaCorretora() - { - VendedorParcela vendedorParcela; - Parcela selectedParcela; - if (this.Parcelas.Count != 0) - { - VendedorParcela vendedorParcela1 = this.PropriaCorretora(); - if (this.SelectedParcela.get_SubTipo() != 1 || this.IsFatura) - { - selectedParcela = this.SelectedParcela; - } - else - { - ObservableCollection parcelas = this.Parcelas; - selectedParcela = parcelas.FirstOrDefault((Parcela x) => x.get_NumeroParcela() == 1); - } - Parcela parcela = selectedParcela; - vendedorParcela1.set_Parcela(parcela); - vendedorParcela1.set_Documento(this.SelectedDocumento); - if (parcela == null || parcela.get_Id() != 0) - { - vendedorParcela = await this.Servico.IncluirVendedor(vendedorParcela1); - } - else - { - vendedorParcela = vendedorParcela1; - } - } - else - { - vendedorParcela = null; - } - return vendedorParcela; - } - - public void IncluirVendedor() - { - VendedorParcela vendedorParcela = new VendedorParcela(); - vendedorParcela.set_Documento(this.SelectedDocumento); - this.SelectedPagamento = vendedorParcela; - } - - public async Task LimparRepasses() - { - bool count; - bool flag; - if (this.Pagamentos != null) - { - ObservableCollection pagamentos = this.Pagamentos; - if (pagamentos != null) - { - count = pagamentos.Count == 0; - } - else - { - count = false; - } - if (!count && this.Repasses != null) - { - List repasses = this.Repasses; - if (repasses != null) - { - flag = repasses.Count == 0; - } - else - { - flag = false; - } - if (!flag && this.SelectedDocumento.get_Id() == 0) - { - if (!base.EnableFields || !this.AllowEditApolice || !this.AlteracaoEnabled) - { - return; - } - else - { - await base.ShowMessage("REPASSES ADICIONADOS NÃO PERTENCEM AO RAMO SELECIONADO E SERÃO EXCLUÍDOS.", "OK", "", false); - this.Pagamentos.Clear(); - this.Repasses.Clear(); - return; - } - } - } - } - } - - public void ManutecaoItens() - { - if (!this.Invoke) - { - return; - } - Action acessaTela = Gestor.Application.Actions.Actions.AcessaTela; - if (acessaTela == null) - { - return; - } - acessaTela(3, "Manutencao"); - } - - public async Task PagamentoVendedor(Parcela parcela) - { - return await this.ParcelaServico.TemPagamento(parcela.get_Id()); - } - - private void PreLoad() - { - this.Ramos = Recursos.Ramos; - this.Seguradoras = Recursos.Seguradoras; - this.Produtos = Recursos.Produtos; - this.Status = Recursos.Status; - this.SeguradorasAnteriores = Recursos.Seguradoras; - this.TipoEndossoList = new ObservableCollection(new List() - { - 0, - 1, - 2, - 4, - 3 - }); - } - - private VendedorParcela PropriaCorretora() - { - VendedorParcela vendedorParcela = new VendedorParcela(); - vendedorParcela.set_Repasse(null); - decimal num = new decimal(); - vendedorParcela.set_ValorRepasse(new decimal?(num)); - vendedorParcela.set_Documento(this.SelectedDocumento); - vendedorParcela.set_Vendedor(Recursos.Vendedores.FirstOrDefault((Vendedor x) => { - long? nullable; - long? nullable1; - long idEmpresa = x.get_IdEmpresa(); - Documento selectedDocumento = this.SelectedDocumento; - if (selectedDocumento != null) - { - Controle controle = selectedDocumento.get_Controle(); - if (controle != null) - { - nullable1 = new long?(controle.get_IdEmpresa()); - } - else - { - nullable = null; - nullable1 = nullable; - } - } - else - { - nullable = null; - nullable1 = nullable; - } - long? nullable2 = nullable1; - if (idEmpresa != (nullable2.HasValue ? nullable2.GetValueOrDefault() : Recursos.Empresa.get_Id())) - { - return false; - } - return x.get_Corretora(); - })); - num = new decimal(); - vendedorParcela.set_PorcentagemRepasse(new decimal?(num)); - vendedorParcela.set_TipoVendedor(Recursos.TipoVendedor.First((TipoVendedor x) => x.get_Id() == (long)1)); - return vendedorParcela; - } - - public void RecalculaRepasse() - { - List list; - if (!this.IsFatura && this.BaixarParcelas && this.SelectedParcela.get_SubTipo() == 1) - { - return; - } - if (this.Repasses == null || this.Repasses.Count == 0) - { - return; - } - if (this.SelectedParcela.get_Id() == 0) - { - this.Repasses.ForEach((VendedorParcela x) => { - decimal? porcentagemRepasse; - bool valueOrDefault; - decimal? nullable; - bool flag; - if (x.get_DataPagamento().HasValue) - { - return; - } - Gestor.Model.Domain.Seguros.Repasse repasse = x.get_Repasse(); - valueOrDefault = (repasse != null ? repasse.get_Tipo().GetValueOrDefault() == 3 : false); - if (valueOrDefault) - { - return; - } - Parcela parcela = x.get_Parcela() ?? this.SelectedParcela; - parcela.set_Documento(this.SelectedDocumento); - if (x.get_Repasse() != null) - { - Gestor.Model.Domain.Seguros.Repasse repasse1 = x.get_Repasse(); - porcentagemRepasse = x.get_PorcentagemRepasse(); - repasse1.set_ValorNovo((porcentagemRepasse.HasValue ? porcentagemRepasse.GetValueOrDefault() : x.get_Repasse().get_ValorNovo())); - Gestor.Model.Domain.Seguros.Repasse repasse2 = x.get_Repasse(); - porcentagemRepasse = x.get_PorcentagemRepasse(); - repasse2.set_ValorRenovacao((porcentagemRepasse.HasValue ? porcentagemRepasse.GetValueOrDefault() : x.get_Repasse().get_ValorRenovacao())); - } - decimal num = Funcoes.CalculaRepasse(x.get_Repasse(), parcela, true); - VendedorParcela vendedorParcela = x; - if (this.SelectedDocumento.get_NumeroParcelas() > decimal.Zero && !this.SelectedParcela.get_NumeroParcela().Equals(999)) - { - Gestor.Model.Domain.Seguros.Repasse repasse3 = x.get_Repasse(); - flag = (repasse3 != null ? repasse3.get_Forma().GetValueOrDefault() == 3 : false); - if (!flag) - { - nullable = new decimal?(num); - vendedorParcela.set_ValorRepasse(nullable); - x.set_ValorTotal(new decimal?(num)); - return; - } - porcentagemRepasse = x.get_ValorTotal(); - decimal numeroParcelas = this.SelectedDocumento.get_NumeroParcelas(); - if (porcentagemRepasse.HasValue) - { - nullable = new decimal?(porcentagemRepasse.GetValueOrDefault() / numeroParcelas); - vendedorParcela.set_ValorRepasse(nullable); - x.set_ValorTotal(new decimal?(num)); - return; - } - else - { - nullable = null; - vendedorParcela.set_ValorRepasse(nullable); - x.set_ValorTotal(new decimal?(num)); - return; - } - } - nullable = new decimal?(num); - vendedorParcela.set_ValorRepasse(nullable); - x.set_ValorTotal(new decimal?(num)); - }); - this.Pagamentos = new ObservableCollection(this.Repasses); - return; - } - List repasses = this.Repasses; - if (repasses != null) - { - repasses.Where((VendedorParcela x) => { - if (this.SelectedParcela.get_Id() <= (long)0) - { - return false; - } - return x.get_Parcela().get_Id() == this.SelectedParcela.get_Id(); - }).ToList().ForEach((VendedorParcela x) => { - decimal? porcentagemRepasse; - bool valueOrDefault; - decimal? nullable; - VendedorParcela vendedorParcela; - decimal? nullable1; - bool flag; - if (x.get_DataPagamento().HasValue) - { - return; - } - Gestor.Model.Domain.Seguros.Repasse repasse = x.get_Repasse(); - valueOrDefault = (repasse != null ? repasse.get_Tipo().GetValueOrDefault() == 3 : false); - if (valueOrDefault) - { - return; - } - Parcela selectedParcela = this.SelectedParcela; - selectedParcela.set_Documento(this.SelectedDocumento); - if (x.get_Repasse() != null) - { - Gestor.Model.Domain.Seguros.Repasse repasse1 = x.get_Repasse(); - porcentagemRepasse = x.get_PorcentagemRepasse(); - repasse1.set_ValorNovo((porcentagemRepasse.HasValue ? porcentagemRepasse.GetValueOrDefault() : x.get_Repasse().get_ValorNovo())); - Gestor.Model.Domain.Seguros.Repasse repasse2 = x.get_Repasse(); - porcentagemRepasse = x.get_PorcentagemRepasse(); - repasse2.set_ValorRenovacao((porcentagemRepasse.HasValue ? porcentagemRepasse.GetValueOrDefault() : x.get_Repasse().get_ValorRenovacao())); - } - decimal num = Funcoes.CalculaRepasse(x.get_Repasse(), selectedParcela, true); - VendedorParcela vendedorParcela1 = x; - if (this.SelectedDocumento.get_NumeroParcelas() > decimal.Zero && !this.SelectedParcela.get_NumeroParcela().Equals(999)) - { - Gestor.Model.Domain.Seguros.Repasse repasse3 = x.get_Repasse(); - flag = (repasse3 != null ? repasse3.get_Forma().GetValueOrDefault() == 3 : false); - if (!flag) - { - nullable = new decimal?(num); - vendedorParcela1.set_ValorRepasse(nullable); - vendedorParcela = x; - nullable1 = (this.SelectedDocumento.get_TipoRecebimento().GetValueOrDefault() != 1 || this.SelectedParcela.get_SubTipo() != 1 ? x.get_ValorTotal() : new decimal?(num)); - vendedorParcela.set_ValorTotal(nullable1); - return; - } - porcentagemRepasse = x.get_ValorTotal(); - decimal numeroParcelas = this.SelectedDocumento.get_NumeroParcelas(); - if (porcentagemRepasse.HasValue) - { - nullable = new decimal?(porcentagemRepasse.GetValueOrDefault() / numeroParcelas); - vendedorParcela1.set_ValorRepasse(nullable); - vendedorParcela = x; - nullable1 = (this.SelectedDocumento.get_TipoRecebimento().GetValueOrDefault() != 1 || this.SelectedParcela.get_SubTipo() != 1 ? x.get_ValorTotal() : new decimal?(num)); - vendedorParcela.set_ValorTotal(nullable1); - return; - } - else - { - nullable = null; - vendedorParcela1.set_ValorRepasse(nullable); - vendedorParcela = x; - nullable1 = (this.SelectedDocumento.get_TipoRecebimento().GetValueOrDefault() != 1 || this.SelectedParcela.get_SubTipo() != 1 ? x.get_ValorTotal() : new decimal?(num)); - vendedorParcela.set_ValorTotal(nullable1); - return; - } - } - nullable = new decimal?(num); - vendedorParcela1.set_ValorRepasse(nullable); - vendedorParcela = x; - nullable1 = (this.SelectedDocumento.get_TipoRecebimento().GetValueOrDefault() != 1 || this.SelectedParcela.get_SubTipo() != 1 ? x.get_ValorTotal() : new decimal?(num)); - vendedorParcela.set_ValorTotal(nullable1); - }); - } - else - { - } - List vendedorParcelas = this.Repasses; - if (vendedorParcelas != null) - { - list = vendedorParcelas.Where((VendedorParcela x) => { - if (this.SelectedParcela.get_Id() <= (long)0) - { - return false; - } - return x.get_Parcela().get_Id() == this.SelectedParcela.get_Id(); - }).ToList(); - } - else - { - list = null; - } - this.Pagamentos = new ObservableCollection(list); - } - - public async void RecalculaRepasses() - { - bool flag; - if (this.Repasses != null) - { - if (this.SelectedDocumento.get_NegocioCorretora().HasValue) - { - NegocioCorretora? negocioCorretora = this.SelectedDocumento.get_NegocioCorretora(); - flag = negocioCorretora.GetValueOrDefault() == 1; - } - else if (this.SelectedDocumento.get_Situacao() != 2 || !this.SelectedDocumento.get_Negocio().HasValue) - { - flag = false; - } - else - { - Negocio? negocio = this.SelectedDocumento.get_Negocio(); - flag = negocio.GetValueOrDefault() == 1; - } - bool flag1 = flag; - List repasses = this.Repasses; - if (repasses != null) - { - repasses.Where((VendedorParcela x) => { - if (this.NovaApolice) - { - return true; - } - return x.get_Parcela().get_SubTipo() == 1; - }).ToList().ForEach((VendedorParcela x) => { - decimal? valorTotal; - decimal numeroParcelas; - decimal? nullable; - decimal valorRenovacao; - decimal? nullable1; - decimal? nullable2; - decimal? nullable3; - bool valueOrDefault; - if (x.get_Parcela() == null) - { - return; - } - if (x.get_Repasse() == null) - { - return; - } - if (x.get_DataPagamento().HasValue) - { - return; - } - Parcela parcela = x.get_Parcela(); - parcela.set_Documento(this.SelectedDocumento); - decimal num = Funcoes.CalculaRepasse(x.get_Repasse(), parcela, true); - VendedorParcela vendedorParcela = x; - if (flag1) - { - Gestor.Model.Domain.Seguros.Repasse repasse = x.get_Repasse(); - valueOrDefault = (repasse != null ? repasse.get_Tipo().GetValueOrDefault() != 3 : true); - if (!valueOrDefault) - { - goto Label1; - } - valorRenovacao = x.get_Repasse().get_ValorRenovacao(); - goto Label0; - } - Label1: - valorRenovacao = x.get_Repasse().get_ValorNovo(); - Label0: - vendedorParcela.set_PorcentagemRepasse(new decimal?(valorRenovacao)); - if (x.get_Repasse().get_Forma().GetValueOrDefault() == 3) - { - valorTotal = x.get_ValorTotal(); - numeroParcelas = this.SelectedDocumento.get_NumeroParcelas(); - if (valorTotal.HasValue) - { - nullable1 = new decimal?(valorTotal.GetValueOrDefault() / numeroParcelas); - } - else - { - nullable = null; - nullable1 = nullable; - } - } - else - { - nullable1 = new decimal?(num); - } - decimal? nullable4 = nullable1; - if (x.get_CoCorretagem()) - { - numeroParcelas = this.SelectedDocumento.get_PremioLiquido(); - decimal? comissaoTotal = this.SelectedDocumento.get_ComissaoTotal(); - decimal comissao = this.SelectedDocumento.get_Comissao(); - nullable = (comissaoTotal.HasValue ? new decimal?(comissaoTotal.GetValueOrDefault() - comissao) : null); - decimal num1 = 100; - if (nullable.HasValue) - { - nullable2 = new decimal?(nullable.GetValueOrDefault() / num1); - } - else - { - comissaoTotal = null; - nullable2 = comissaoTotal; - } - valorTotal = nullable2; - if (valorTotal.HasValue) - { - nullable3 = new decimal?(numeroParcelas * valorTotal.GetValueOrDefault()); - } - else - { - nullable = null; - nullable3 = nullable; - } - nullable4 = nullable3; - } - x.set_ValorRepasse(nullable4); - x.set_ValorTotal(new decimal?(num)); - }); - } - else - { - } - if (!this.NovaApolice) - { - BaseApoliceViewModel baseApoliceViewModel = this; - Parcela selectedParcela = this.SelectedParcela; - if (selectedParcela == null) - { - selectedParcela = this.Parcelas.FirstOrDefault(); - } - await baseApoliceViewModel.SelecionaParcela(selectedParcela); - this.CalculaComissao(this.SelectedDocumento, this.Parcelas); - } - else - { - BaseApoliceViewModel observableCollection = this; - List vendedorParcelas = this.Repasses; - observableCollection.Pagamentos = new ObservableCollection( - from x in vendedorParcelas - orderby x.get_TipoVendedor().get_Id() - select x); - } - } - } - - public async Task RecusarApolice() - { - bool flag; - IList list; - string str; - string str1; - string str2; - if (this.SelectedDocumento != null) - { - bool[] flagArray = await Funcoes.VerificarPagamento(this.SelectedDocumento.get_Id()); - List configuracoes = Recursos.Configuracoes; - if (configuracoes.All((ConfiguracaoSistema x) => x.get_Configuracao() != 23)) - { - bool[] flagArray1 = flagArray; - if (((IEnumerable)flagArray1).Any((bool x) => x)) - { - await base.ShowMessage("NÃO É POSSÍVEL RECURSAR UM APÓLICE ENQUANTO HOUVER RECEBIMENTO DE COMISSÃO OU PAGAMENTO DE VENDEDORES PARA A APÓLICE", "OK", "", false); - str2 = null; - return; - } - } - List configuracaoSistemas = Recursos.Configuracoes; - flag = (!configuracaoSistemas.Any((ConfiguracaoSistema x) => x.get_Configuracao() == 23) ? false : flagArray[1]); - bool flag1 = flag; - if (flag1) - { - flag1 = await base.ShowMessage("EXISTEM PAGAMENTOS PARA OS VENDEDORES DO CONTRATO, DESEJA CRIAR ESTORNOS PARA ESSES PAGAMENTOS?", "SIM", "NÃO", false); - } - bool flag2 = flag1; - Documento documento = await this.Servico.BuscarApoliceAsync(this.DocumentoSelecionado.get_Id(), false, false); - if (documento.get_Controle().get_Documentos().Count > 1) - { - IList documentos = documento.get_Controle().get_Documentos(); - IEnumerable excluido = - from x in documentos - where !x.get_Excluido() - select x; - list = ( - from x in excluido - orderby x.get_Ordem() - select x).ToList(); - } - else - { - list = documento.get_Controle().get_Documentos(); - } - IList documentos1 = list; - if (documentos1.Count > 1) - { - IList documentos2 = documentos1; - if (documentos2.Last((Documento x) => x.get_Situacao() != 7).get_Id() != this.DocumentoSelecionado.get_Id()) - { - await base.ShowMessage("NÃO É POSSÍVEL RECUSAR UM DOCUMENTO ENQUANTO HOUVER ENDOSSOS EM CIMA DO MESMO.", "OK", "", false); - str2 = null; - return; - } - } - if (documento.get_Situacao() != 7) - { - if (this.SelectedDocumento.get_Tipo() != 0 || !string.IsNullOrEmpty(this.SelectedDocumento.get_Apolice())) - { - str = (this.SelectedDocumento.get_Tipo() != 0 || string.IsNullOrEmpty(this.SelectedDocumento.get_Apolice()) ? "O ENDOSSO SELECIONADO" : "A APÓLICE SELECIONADA"); - } - else - { - str = "A PROPOSTA SELECIONADA"; - } - string str3 = str; - string[] newLine = new string[] { "DESEJA REALMENTE RECUSAR ", str3, "? ", Environment.NewLine, "ESSE PROCEDIMENTO É IRREVERSÍVEL." }; - if (await base.ShowMessage(string.Concat(newLine), "SIM", "NÃO", false)) - { - str2 = null; - str2 = await base.ShowObservacaoDialog(); - if (str2 != null) - { - base.Loading(true); - await Funcoes.RecusarApolice(this.SelectedDocumento, str2, flag2); - if (this.SelectedDocumento.get_Tipo() == 0 && string.IsNullOrEmpty(this.SelectedDocumento.get_Apolice())) - { - str1 = string.Concat("A PROPOSTA \"", this.SelectedDocumento.get_Proposta(), "\""); - } - else if (this.SelectedDocumento.get_Tipo() != 0 || string.IsNullOrEmpty(this.SelectedDocumento.get_Apolice())) - { - str1 = (string.IsNullOrEmpty(this.SelectedDocumento.get_Endosso()) ? string.Concat("A PROPOSTA DE ENDOSSO \"", this.SelectedDocumento.get_PropostaEndosso(), "\"") : string.Concat("O ENDOSSO \"", this.SelectedDocumento.get_Endosso(), "\"")); - } - else - { - str1 = string.Concat("A APÓLICE \"", this.SelectedDocumento.get_Apolice(), "\""); - } - string str4 = str1; - base.RegistrarAcao(string.Concat("RECUSOU ", str4), this.SelectedDocumento.get_Id(), new TipoTela?(2), string.Concat(this.GerarObs(this.SelectedDocumento), Environment.NewLine, "MOTIVO: ", str2)); - base.Loading(false); - } - } - } - else - { - await base.ShowMessage("NÃO É POSSÍVEL RECUSAR UM DOCUMENTO JÁ RECUSADO.", "OK", "", false); - } - } - str2 = null; - } - - private void RemoverVendedor(long id) - { - ((this.SelectedDocumento.get_Id() == 0 || this.SelectedParcela.get_SubTipo() == 1 && !this.IsFatura ? ( - from x in this.Repasses - where x.get_Vendedor().get_Id() == id - select x).ToList() : this.Repasses.Where((VendedorParcela x) => { - if (x.get_Vendedor().get_Id() != id) - { - return false; - } - return x.get_Parcela().get_Id() == this.SelectedParcela.get_Id(); - }).ToList())).ForEach((VendedorParcela x) => this.Repasses.Remove(x)); - ((this.SelectedDocumento.get_Id() == 0 || this.SelectedParcela.get_SubTipo() == 1 && !this.IsFatura ? ( - from x in this.Pagamentos - where x.get_Vendedor().get_Id() == id - select x).ToList() : this.Pagamentos.Where((VendedorParcela x) => { - long num; - if (x.get_Vendedor().get_Id() != id) - { - return false; - } - Parcela parcela = x.get_Parcela(); - num = (parcela != null ? parcela.get_Id() : (long)0); - return num == this.SelectedParcela.get_Id(); - }).ToList())).ForEach((VendedorParcela x) => this.Pagamentos.Remove(x)); - } - - public async Task ReplicarFatura() - { - DateTime? emissao; - int num; - decimal comissao; - DateTime? vigenciaFinal; - DateTime dateTime; - DateTime? nullable1; - DateTime dateTime1; - DateTime date; - decimal valor; - decimal valorLiquidoFatura; - if (this.Parcelas != null) - { - ObservableCollection parcelas = this.Parcelas; - IOrderedEnumerable numeroParcela = - from x in parcelas - orderby x.get_NumeroParcela() - select x; - Parcela parcela = numeroParcela.LastOrDefault((Parcela x) => x.get_SubTipo() == 1); - if (parcela == null || parcela.get_NumeroParcela() != 999) - { - num = (parcela != null ? parcela.get_NumeroParcela() : 0); - int num1 = num + 1; - Parcela selectedParcela = this.SelectedParcela; - if (selectedParcela != null) - { - comissao = selectedParcela.get_Comissao(); - } - else - { - comissao = decimal.Zero; - } - decimal num2 = comissao; - ObservableCollection observableCollection = this.Parcelas; - Parcela parcela1 = observableCollection.First((Parcela x) => x.get_SubTipo() == 1); - DateTime networkTime = Funcoes.GetNetworkTime(); - Parcela parcela2 = parcela1; - if (parcela2 != null) - { - vigenciaFinal = parcela2.get_VigenciaFinal(); - } - else - { - emissao = null; - vigenciaFinal = emissao; - } - DateTime? nullable2 = vigenciaFinal; - dateTime = (nullable2.HasValue ? nullable2.GetValueOrDefault() : networkTime.Date); - DateTime dateTime2 = dateTime; - Parcela parcela3 = parcela1; - if (parcela3 != null) - { - emissao = parcela3.get_Emissao(); - if (emissao.HasValue) - { - DateTime valueOrDefault = emissao.GetValueOrDefault(); - nullable1 = new DateTime?(valueOrDefault.AddMonths(1)); - } - else - { - nullable1 = null; - } - } - else - { - emissao = null; - nullable1 = emissao; - } - nullable2 = nullable1; - dateTime1 = (nullable2.HasValue ? nullable2.GetValueOrDefault() : networkTime.Date); - DateTime dateTime3 = dateTime1; - Parcela parcela4 = parcela1; - if (parcela4 != null) - { - date = parcela4.get_Vencimento().AddMonths(1); - } - else - { - date = networkTime.Date; - } - DateTime dateTime4 = date; - DateTime dateTime5 = dateTime2.AddMonths(1); - Parcela parcela5 = parcela1; - if (parcela5 != null) - { - valor = parcela5.get_Valor(); - } - else - { - valor = decimal.Zero; - } - decimal num3 = valor; - Parcela parcela6 = parcela1; - if (parcela6 != null) - { - valorLiquidoFatura = parcela6.get_ValorLiquidoFatura(); - } - else - { - valorLiquidoFatura = decimal.Zero; - } - decimal num4 = valorLiquidoFatura; - IEnumerable vendedorParcelas = this.Repasses.Where((VendedorParcela x) => { - if (parcela1 == null) - { - return false; - } - return x.get_Parcela().get_Id() == parcela1.get_Id(); - }); - List list = Funcoes.DistinctBy(vendedorParcelas, (VendedorParcela x) => new { Id = x.get_Parcela().get_Id(), vendedor = x.get_Vendedor().get_Id(), tipovendedor = x.get_TipoVendedor().get_Id() }).ToList(); - Parcela parcela7 = new Parcela(); - parcela7.set_IdEmpresa(this.SelectedDocumento.get_Controle().get_IdEmpresa()); - parcela7.set_Documento(this.SelectedDocumento); - parcela7.set_Vencimento(dateTime4); - parcela7.set_Comissao(num2); - parcela7.set_SubTipo(1); - parcela7.set_NumeroParcela(num1); - parcela7.set_VigenciaIncial(new DateTime?(dateTime2)); - parcela7.set_VigenciaFinal(new DateTime?(dateTime5)); - parcela7.set_Valor(num3); - parcela7.set_Emissao(new DateTime?(dateTime3)); - parcela7.set_DataCriacao(new DateTime?(networkTime)); - parcela7.set_ValorLiquidoFatura(num4); - this.SelectedParcela = parcela7; - list.ForEach((VendedorParcela x) => { - decimal zero; - x.set_Id((long)0); - x.set_Parcela(this.SelectedParcela); - DateTime? nullable = null; - x.set_DataPrePagamento(nullable); - nullable = null; - x.set_DataPagamento(nullable); - VendedorParcela vendedorParcela = x; - if (x.get_Repasse() != null) - { - NegocioCorretora? negocioCorretora = this.SelectedDocumento.get_NegocioCorretora(); - zero = (negocioCorretora.GetValueOrDefault() == 0 & negocioCorretora.HasValue ? x.get_Repasse().get_ValorNovo() : x.get_Repasse().get_ValorRenovacao()); - } - else - { - zero = decimal.Zero; - } - vendedorParcela.set_PorcentagemRepasse(new decimal?(zero)); - }); - this.Repasses = list; - } - else - { - await base.ShowMessage("PARCELA ESPECIAL NÃO PODE SER REPLICADA.", "OK", "", false); - return; - } - } - this.RecalculaRepasse(); - } - - public async Task>> Salvar(bool critica = false) - { - List> list; - NegocioCorretora? negocioCorretora; - NegocioCorretora? nullable; - bool id; - bool vendedor; - bool updatePremio; - bool flag2; - bool flag3; - List vendedorParcelas; - bool flag4; - Vendedor vendedor1; - Documento documento; - string str; - string str1; - bool valueOrDefault; - long? nullable1; - bool flag5; - NegocioCorretora negocioCorretora1; - string str2; - NegocioCorretora negocioCorretora2; - FormaPagamento formaPagamento; - bool vendedor2; - Negocio negocio; - object obj = null; - if (this.SelectedDocumento.get_Situacao() == 2) - { - Documento selectedDocumento = this.SelectedDocumento; - negocioCorretora = this.SelectedDocumento.get_NegocioCorretora(); - negocio = (negocioCorretora.GetValueOrDefault() == 0 & negocioCorretora.HasValue ? 2 : 1); - selectedDocumento.set_Negocio(new Negocio?(negocio)); - } - Gestor.Model.Domain.Seguros.Status status = this.SelectedDocumento.get_Status(); - if (status != null) - { - id = status.get_Id() == (long)0; - } - else - { - id = false; - } - if (id) - { - this.SelectedDocumento.set_Status(null); - } - this.ZerarValores(); - Documento selectedDocumento1 = this.SelectedDocumento; - bool isEndosso = this.IsEndosso; - List configuracaoSistemas1 = Recursos.Configuracoes; - List> keyValuePairs1 = selectedDocumento1.Validate(isEndosso, configuracaoSistemas1.Any((ConfiguracaoSistema c) => c.get_Configuracao() == 11)); - if (this.SelectedDocumento.get_Comissao() > new decimal(100)) - { - this.SelectedDocumento.set_Comissao(new decimal(100)); - } - bool id1 = this.SelectedDocumento.get_Id() == (long)0; - VendedorParcela selectedPagamento = this.SelectedPagamento; - if (selectedPagamento != null) - { - vendedor = selectedPagamento.get_Vendedor(); - } - else - { - vendedor = false; - } - if (vendedor && this.SelectedDocumento.get_Vendedores() == null) - { - Documento documento1 = this.SelectedDocumento; - List vendedors = new List() - { - this.TodosVendedores.First((Vendedor x) => { - if (!x.get_Corretora()) - { - return false; - } - return x.get_IdEmpresa() == this.SelectedDocumento.get_Controle().get_IdEmpresa(); - }) - }; - documento1.set_Vendedores(vendedors); - } - if (id1) - { - VendedorParcela vendedorParcela = this.SelectedPagamento; - if (vendedorParcela != null) - { - vendedor2 = vendedorParcela.get_Vendedor(); - } - else - { - vendedor2 = false; - } - if (vendedor2 && this.SelectedDocumento.get_Vendedores() != null) - { - List> keyValuePairs2 = keyValuePairs1; - List> keyValuePairs3 = await this.AdicionarVendedor(); - List> keyValuePairs4 = keyValuePairs2; - List> keyValuePairs5 = keyValuePairs3; - if (keyValuePairs5 == null) - { - keyValuePairs5 = new List>(); - } - keyValuePairs4.AddRange(keyValuePairs5); - keyValuePairs2 = null; - } - } - if (keyValuePairs1.Count <= 0) - { - bool tipo = this.SelectedDocumento.get_Tipo() == 0; - if (tipo) - { - tipo = !await this.VerificarVigencia(this.SelectedDocumento); - } - if (tipo) - { - if (critica) - { - keyValuePairs1.Add(new KeyValuePair("Vigencia2", "VIGENCIANAOACEITA")); - } - list = keyValuePairs1; - } - else if (this.SelectedDocumento.get_TipoEndosso().GetValueOrDefault() == 3 || this.SelectedDocumento.get_Situacao() != 3 || this.SelectedDocumento.get_Id() != 0) - { - if (this.SelectedDocumento.get_TipoEndosso().HasValue && this.SelectedDocumento.get_TipoEndosso().GetValueOrDefault() == 3) - { - this.SelectedDocumento.set_Situacao(4); - } - Documento selectedDocumento2 = this.SelectedDocumento; - base.Alterar(false); - if (!selectedDocumento2.get_FormaPagamento().HasValue) - { - Documento documento2 = selectedDocumento2; - List configuracaoSistemas2 = Recursos.Configuracoes; - formaPagamento = (configuracaoSistemas2.Any((ConfiguracaoSistema y) => y.get_Configuracao() == 21) ? 4 : 0); - documento2.set_FormaPagamento(new FormaPagamento?(formaPagamento)); - } - this.Acesso = 0; - if (selectedDocumento2.get_Id() <= (long)0 || !this.AllowEditApolice) - { - updatePremio = false; - } - else - { - if (!(this.CancelDocumento.get_PremioLiquido() != selectedDocumento2.get_PremioLiquido()) && this.CancelDocumento.get_AdicionalComiss() == selectedDocumento2.get_AdicionalComiss() && (!selectedDocumento2.get_AdicionalComiss() || !(this.CancelDocumento.get_PremioAdicional() != selectedDocumento2.get_PremioAdicional())) && !(this.CancelDocumento.get_Comissao() != selectedDocumento2.get_Comissao())) - { - negocioCorretora = this.CancelDocumento.get_NegocioCorretora(); - nullable = selectedDocumento2.get_NegocioCorretora(); - if (negocioCorretora.GetValueOrDefault() != nullable.GetValueOrDefault() | negocioCorretora.HasValue != nullable.HasValue || this.CancelDocumento.get_Diferenca() != selectedDocumento2.get_Diferenca() || this.CancelDocumento.get_Iof() != selectedDocumento2.get_Iof()) - { - goto Label1; - } - updatePremio = this.UpdatePremio; - goto Label0; - } - Label1: - updatePremio = true; - } - Label0: - bool flag6 = updatePremio; - if (selectedDocumento2.get_TipoRecebimento().GetValueOrDefault() == 2) - { - flag2 = false; - } - else - { - flag2 = (selectedDocumento2.get_Id() == 0 || this.CancelDocumento.get_NumeroParcelas() != selectedDocumento2.get_NumeroParcelas() ? true : selectedDocumento2.get_NumeroParcelas() != this.Parcelas.Count((Parcela x) => x.get_SubTipo() == 1)); - } - bool flag7 = flag2; - nullable = selectedDocumento2.get_NegocioCorretora(); - bool valueOrDefault1 = nullable.GetValueOrDefault() == 1; - if (flag7 && selectedDocumento2.get_TipoRecebimento().GetValueOrDefault() == 1) - { - this.CriarParcelas(id1); - this.Parcelas.ToList().ForEach((Parcela x) => { - x.set_Documento(selectedDocumento2); - List> keyValuePairs = keyValuePairs1; - Parcela parcela = x; - List configuracoes = Recursos.Configuracoes; - Func u003cu003e9_29911 = BaseApoliceViewModel.u003cu003ec.u003cu003e9__299_11; - if (u003cu003e9_29911 == null) - { - u003cu003e9_29911 = (ConfiguracaoSistema y) => y.get_Configuracao() == 9; - BaseApoliceViewModel.u003cu003ec.u003cu003e9__299_11 = u003cu003e9_29911; - } - bool flag = configuracoes.Any(u003cu003e9_29911); - List configuracaoSistemas = Recursos.Configuracoes; - Func u003cu003e9_29912 = BaseApoliceViewModel.u003cu003ec.u003cu003e9__299_12; - if (u003cu003e9_29912 == null) - { - u003cu003e9_29912 = (ConfiguracaoSistema y) => y.get_Configuracao() == 11; - BaseApoliceViewModel.u003cu003ec.u003cu003e9__299_12 = u003cu003e9_29912; - } - bool flag1 = configuracaoSistemas.Any(u003cu003e9_29912); - bool editandoParcela = this.EditandoParcela; - List configuracoes1 = Recursos.Configuracoes; - Func u003cu003e9_29913 = BaseApoliceViewModel.u003cu003ec.u003cu003e9__299_13; - if (u003cu003e9_29913 == null) - { - u003cu003e9_29913 = (ConfiguracaoSistema r) => r.get_Configuracao() == 16; - BaseApoliceViewModel.u003cu003ec.u003cu003e9__299_13 = u003cu003e9_29913; - } - keyValuePairs.AddRange(parcela.Validate(flag, flag1, editandoParcela, configuracoes1.Any(u003cu003e9_29913))); - }); - if (keyValuePairs1.Count > 0) - { - base.Alterar(true); - list = keyValuePairs1.Distinct>().ToList>(); - return list; - } - } - if (this.Parcelas == null || this.Parcelas.Count == 0) - { - this.Pagamentos = new ObservableCollection(); - } - if (flag6 && !flag7) - { - this.AtualizaValores(valueOrDefault1); - } - if (this.SelectedDocumento.get_Situacao() == 5 && this.SelectedDocumento.get_Controle().get_Documentos() != null && this.SelectedDocumento.get_Controle().get_Documentos().Count > 0) - { - IList documentos = this.SelectedDocumento.get_Controle().get_Documentos(); - foreach (Documento documento3 in documentos.Where((Documento x) => { - if (x.get_Tipo() == 0) - { - return false; - } - return !x.get_Excluido(); - })) - { - if (documento3.get_Situacao() == 3) - { - continue; - } - documento3.set_SituacaoAnterior(new TipoSeguro?(documento3.get_Situacao())); - documento3.set_Situacao(5); - await this.Servico.Save(documento3, false, false); - } - } - if (this.SelectedDocumento.get_Id() != 0 && this.SelectedDocumento.get_Tipo() == 0 && this.SelectedDocumento.get_Controle().get_Documentos() != null && this.SelectedDocumento.get_Controle().get_Documentos().Count > 0) - { - IList documentos1 = this.SelectedDocumento.get_Controle().get_Documentos(); - if (documentos1.Where((Documento x) => { - if (x.get_Tipo() == 0) - { - return false; - } - return !x.get_Excluido(); - }).Any((Documento x) => { - if (x.get_Apolice() != this.SelectedDocumento.get_Apolice()) - { - return true; - } - return x.get_Proposta() != this.SelectedDocumento.get_Proposta(); - })) - { - IList documentos2 = this.SelectedDocumento.get_Controle().get_Documentos(); - foreach (Documento documento4 in documentos2.Where((Documento x) => { - if (x.get_Tipo() == 0) - { - return false; - } - return !x.get_Excluido(); - })) - { - documento4.set_Apolice(this.SelectedDocumento.get_Apolice()); - documento4.set_Proposta(this.SelectedDocumento.get_Proposta()); - await this.Servico.Save(documento4, false, false); - base.ToggleSnackBar("NUMERO DA PROPOSTA/APOLICE ATUALIZADOS NO ENDOSSO", true); - } - } - } - if (this.Renovar) - { - nullable = this.CancelDocumento.get_NegocioCorretora(); - if (!nullable.HasValue) - { - Documento cancelDocumento = this.CancelDocumento; - negocioCorretora2 = (!this.CancelDocumento.get_Negocio().HasValue || this.CancelDocumento.get_Negocio().GetValueOrDefault() != 1 ? 0 : 1); - cancelDocumento.set_NegocioCorretora(new NegocioCorretora?(negocioCorretora2)); - } - this.CancelDocumento.set_Situacao(5); - IList documentos3 = this.CancelDocumento.get_Controle().get_Documentos(); - IEnumerable documentos4 = documentos3.Where((Documento d) => { - if (d.get_Tipo() != 1) - { - return false; - } - if (d.get_Situacao() == 1 || d.get_Situacao() == 2) - { - return true; - } - return d.get_Situacao() == 4; - }); - foreach (Documento documento5 in documentos4) - { - documento5.set_Situacao(5); - await this.Servico.Save(documento5, false, false); - } - this.Servico.Sucesso = true; - await this.Servico.Save(this.CancelDocumento, false, false); - if (!this.Servico.Sucesso) - { - await base.ShowMessage("NÃO FOI POSSÍVEL ALTERAR O STATUS DO DOCUMENTO RENOVADO, POR FAVOR VERIFIQUE APÓS O PROCEDIMENTO SER CONCLUÍDO.", "OK", "", false); - } - str2 = (string.IsNullOrEmpty(this.CancelDocumento.get_Apolice()) ? string.Concat("A PROPOSTA \"", this.CancelDocumento.get_Proposta(), "\"") : string.Concat("A APÓLICE \"", this.CancelDocumento.get_Apolice(), "\"")); - string str3 = str2; - base.RegistrarAcao(string.Concat("RENOVOU ", str3), this.CancelDocumento.get_Id(), new TipoTela?(2), this.GerarObs(this.CancelDocumento)); - } - if (selectedDocumento2.get_TipoEndosso().HasValue && selectedDocumento2.get_TipoEndosso().GetValueOrDefault() == 4 && this.SelectedDocumento.get_Vigencia2().HasValue) - { - ApoliceServico servico = this.Servico; - long num = this.SelectedDocumento.get_Controle().get_Id(); - DateTime? vigencia2 = this.SelectedDocumento.get_Vigencia2(); - if (!await servico.Prorrogar(num, vigencia2.Value)) - { - await base.ShowMessage("NÃO FOI POSSÍVEL ALTERAR A VIGÊNCIA FINAL DA APÓLICE, POR FAVOR VERIFIQUE APÓS O PROCEDIMENTO SER CONCLUÍDO.", "OK", "", false); - } - } - if (selectedDocumento2.get_TipoEndosso().HasValue && selectedDocumento2.get_TipoEndosso().GetValueOrDefault() == 3) - { - if (!await this.Servico.Reabilitar(this.SelectedDocumento.get_Controle().get_Id())) - { - await base.ShowMessage("NÃO FOI POSSÍVEL ALTERAR O STATUS DA APÓLICE, POR FAVOR VERIFIQUE APÓS O PROCEDIMENTO SER CONCLUÍDO.", "OK", "", false); - } - } - if (selectedDocumento2.get_TipoEndosso().HasValue && selectedDocumento2.get_TipoEndosso().GetValueOrDefault() == 2) - { - IList documentos5 = this.CancelDocumento.get_Controle().get_Documentos(); - Documento documento6 = documentos5.FirstOrDefault((Documento x) => x.get_Tipo() == 0); - documento6.set_Situacao(3); - IList documentos6 = this.CancelDocumento.get_Controle().get_Documentos(); - IEnumerable tipo1 = - from x in documentos6 - where x.get_Tipo() == 1 - select x; - foreach (Documento documento7 in tipo1) - { - documento7.set_Situacao(3); - await this.Servico.Save(documento7, false, false); - } - nullable = documento6.get_NegocioCorretora(); - if (!nullable.HasValue) - { - Documento documento8 = documento6; - negocioCorretora1 = (!documento6.get_Negocio().HasValue || documento6.get_Negocio().GetValueOrDefault() != 1 ? 0 : 1); - documento8.set_NegocioCorretora(new NegocioCorretora?(negocioCorretora1)); - } - selectedDocumento2.set_Situacao(3); - this.Servico.Sucesso = true; - await this.Servico.Save(documento6, false, false); - if (!this.Servico.Sucesso) - { - await base.ShowMessage("NÃO FOI POSSÍVEL ALTERAR O STATUS DO DOCUMENTO CANCELADO, POR FAVOR VERIFIQUE APÓS O PROCEDIMENTO SER CONCLUÍDO.", "OK", "", false); - } - tipo = id1; - if (tipo) - { - tipo = await base.ShowMessage("DESEJA BAIXAR AS PARCELAS PENDENTES ABAIXO DESSE DOCUMENTO?", "SIM", "NÃO", false); - } - if (tipo) - { - bool flag8 = true; - foreach (Documento documento9 in documento6.get_Controle().get_Documentos()) - { - tipo = await this.Servico.BaixarParcelasCancelamento(documento9, false); - flag8 = tipo & flag8; - } - if (!flag8) - { - await base.ShowMessage("NÃO FOI POSSÍVEL AS PARCELAS DO DOCUMENTO CANCELADO, POR FAVOR VERIFIQUE APÓS O PROCEDIMENTO SER CONCLUÍDO.", "OK", "", false); - } - } - string str4 = string.Concat("A APÓLICE \"", documento6.get_Apolice(), "\""); - base.RegistrarAcao(string.Concat("CANCELOU ", str4), documento6.get_Id(), new TipoTela?(2), this.GerarObs(documento6)); - documento6 = null; - } - if (this.Parcelas != null) - { - Documento documento10 = selectedDocumento2; - ObservableCollection parcelas = this.Parcelas; - documento10.set_Parcelas(new ObservableCollection( - from x in parcelas - where x.get_SubTipo() == 1 - select x)); - } - if (!string.IsNullOrWhiteSpace(this.Anotacoes)) - { - Documento documento11 = selectedDocumento2; - object[] nome = new object[] { Recursos.Usuario.get_Nome(), Recursos.Usuario.get_Id(), Funcoes.GetNetworkTime(), Environment.NewLine, this.Anotacoes, Environment.NewLine, Environment.NewLine, selectedDocumento2.get_Observacao() }; - documento11.set_Observacao(string.Format("{0}, ID: {1}, {2:g}{3}{4}{5}{6}{7}", nome)); - } - Documento documentoSelecionado = this.DocumentoSelecionado; - if (documentoSelecionado != null) - { - documentoSelecionado.get_Situacao(); - flag3 = true; - } - else - { - flag3 = false; - } - if (flag3 && this.DocumentoSelecionado.get_Situacao() == 7 && this.DocumentoSelecionado.get_Situacao() != selectedDocumento2.get_Situacao()) - { - ObservableCollection observableCollection = selectedDocumento2.get_Parcelas(); - if (observableCollection != null) - { - flag5 = ( - from x in observableCollection - where x.get_DataRecebimento().HasValue - select x).Count() >= 1; - } - else - { - flag5 = false; - } - if (flag5) - { - await base.ShowMessage("O DOCUMENTO TEM PARCELAS BAIXADAS DEVIDO A RECUSA. CASO NECESSÁRIO, REALIZE A EXCLUSÃO DAS BAIXAS MANUALMENTE.", "OK", "", false); - base.Alterar(true); - list = null; - return list; - } - } - this.Servico.Sucesso = true; - if (selectedDocumento2.get_Id() == 0) - { - selectedDocumento2.set_DataCriacao(new DateTime?(Funcoes.GetNetworkTime())); - selectedDocumento2.set_UsuarioCriacao(Recursos.Usuario); - } - selectedDocumento2.set_SituacaoAnterior(new TipoSeguro?(selectedDocumento2.get_Situacao())); - Documento documento12 = await this.Servico.Save(selectedDocumento2, flag6, flag7); - Documento documento13 = documento12; - ObservableCollection pagamentos = this.Pagamentos; - if (pagamentos != null) - { - vendedorParcelas = pagamentos.Where((VendedorParcela p) => { - if (documento13.get_TipoRecebimento().GetValueOrDefault() != 1 || p.get_Repasse() == null || p.get_Repasse().get_Base().GetValueOrDefault() != 1 && p.get_Repasse().get_Base().GetValueOrDefault() != 4 && p.get_Repasse().get_Base().GetValueOrDefault() != 5) - { - return false; - } - return !p.get_DataPagamento().HasValue; - }).ToList(); - } - else - { - vendedorParcelas = null; - } - List vendedorParcelas1 = vendedorParcelas; - if (vendedorParcelas1 != null && vendedorParcelas1.Count > 0) - { - List vendedorParcelas2 = new List(); - if (vendedorParcelas1 != null) - { - vendedorParcelas1.ForEach((VendedorParcela p) => { - DateTime? dataPrePagamento; - DateTime? emissao; - BaseRepasse? @base = p.get_Repasse().get_Base(); - if (@base.HasValue) - { - switch (@base.GetValueOrDefault()) - { - case 1: - { - dataPrePagamento = p.get_DataPrePagamento(); - DateTime vigencia1 = documento13.get_Vigencia1(); - if ((dataPrePagamento.HasValue ? dataPrePagamento.GetValueOrDefault() == vigencia1 : false)) - { - return; - } - p.set_DataPrePagamento(new DateTime?(documento13.get_Vigencia1())); - vendedorParcelas2.Add(p); - return; - } - case 2: - case 3: - { - break; - } - case 4: - { - dataPrePagamento = p.get_DataPrePagamento(); - emissao = documento13.get_Emissao(); - if ((dataPrePagamento.HasValue == emissao.HasValue ? (dataPrePagamento.HasValue ? dataPrePagamento.GetValueOrDefault() == emissao.GetValueOrDefault() : true) : false)) - { - return; - } - p.set_DataPrePagamento(documento13.get_Emissao()); - vendedorParcelas2.Add(p); - return; - } - case 5: - { - emissao = p.get_DataPrePagamento(); - dataPrePagamento = documento13.get_Remessa(); - if ((emissao.HasValue == dataPrePagamento.HasValue ? (emissao.HasValue ? emissao.GetValueOrDefault() == dataPrePagamento.GetValueOrDefault() : true) : false)) - { - return; - } - p.set_DataPrePagamento(documento13.get_Remessa()); - vendedorParcelas2.Add(p); - break; - } - default: - { - return; - } - } - } - }); - } - if (vendedorParcelas2.Count > 0) - { - await (new Gestor.Application.Servicos.ParcelaServico()).SaveRange(vendedorParcelas2.ToList()); - } - } - if (this.Servico.Sucesso) - { - Documento documentoSelecionado1 = this.DocumentoSelecionado; - if (documentoSelecionado1 != null) - { - documentoSelecionado1.get_Situacao(); - flag4 = true; - } - else - { - flag4 = false; - } - if (flag4 && this.DocumentoSelecionado.get_Situacao() == 7 && selectedDocumento2.get_Situacao() != this.DocumentoSelecionado.get_Situacao()) - { - Action acessaTela = Gestor.Application.Actions.Actions.AcessaTela; - if (acessaTela != null) - { - acessaTela(21, ""); - } - else - { - } - } - this.SelectedDocumento = await this.Servico.BuscarApoliceAsync(documento13.get_Id(), false, false); - this.SelectedDocumento.Initialize(); - await this.CarregarParcelas(this.SelectedDocumento); - await this.CarregaRepasse(this.SelectedDocumento.get_Id()); - this.SelectedParcela = this.Parcelas.FirstOrDefault(); - Documento selectedDocumento3 = this.SelectedDocumento; - List repasses = this.Repasses; - VendedorParcela vendedorParcela1 = repasses.FirstOrDefault((VendedorParcela x) => x.get_TipoVendedor().get_Id() == (long)1); - if (vendedorParcela1 != null) - { - vendedor1 = vendedorParcela1.get_Vendedor(); - } - else - { - vendedor1 = null; - } - selectedDocumento3.set_VendedorPrincipal(vendedor1); - bool renovar = this.Renovar; - documento = (renovar ? this.DocumentoRenovado : ConsultaViewModel.DocumentoSelecionado); - ConsultaViewModel.DocumentoRenovado = documento; - this.NovaApolice = false; - this.Renovar = false; - if (id1) - { - this.AllowEditApolice = true; - base.IsEnabledEdit = true; - base.IsEnabledEditEndosso = true; - if (this.Invoke) - { - ConsultaViewModel.DocumentoSelecionado = this.SelectedDocumento; - } - if (this.Invoke) - { - Action recarregarDocumentos = Gestor.Application.Actions.Actions.RecarregarDocumentos; - if (recarregarDocumentos != null) - { - recarregarDocumentos(this.SelectedDocumento); - } - else - { - } - } - if (this.Invoke) - { - Action updateDocumento = Gestor.Application.Actions.Actions.UpdateDocumento; - if (updateDocumento != null) - { - updateDocumento(this.SelectedDocumento); - } - else - { - } - } - } - else if (this.Invoke) - { - long num1 = this.SelectedDocumento.get_Id(); - Documento documentoSelecionado2 = ConsultaViewModel.DocumentoSelecionado; - if (documentoSelecionado2 != null) - { - nullable1 = new long?(documentoSelecionado2.get_Id()); - } - else - { - nullable1 = null; - } - long? nullable2 = nullable1; - if (num1 != nullable2.GetValueOrDefault() | !nullable2.HasValue) - { - ConsultaViewModel.DocumentoSelecionado = this.SelectedDocumento; - } - } - if (this.Parcelas.Count == 0) - { - this.AllowEditVendedor = false; - } - base.AllowEditParcela = true; - base.ToggleSnackBar("DOCUMENTO SALVO COM SUCESSO", true); - Action enableMainMenu = Gestor.Application.Actions.Actions.EnableMainMenu; - if (enableMainMenu != null) - { - enableMainMenu(true); - } - else - { - } - Action enableMenu = Gestor.Application.Actions.Actions.EnableMenu; - if (enableMenu != null) - { - enableMenu(true); - } - else - { - } - if (renovar) - { - if (await base.ShowMessage("DESEJA MANTER OS DADOS DO PERFIL DA APÓLICE ANTERIOR?", "SIM", "NÃO", false)) - { - List perfils = await this.PerfilServico.BuscarPerfis(this.CancelDocumento.get_Controle().get_Id()); - int num2 = 0; - try - { - foreach (Perfil perfil in perfils.ToList()) - { - Perfil perfil1 = new Perfil(); - perfil1.set_Id((long)0); - perfil1.set_AntiFurto(perfil.get_AntiFurto()); - perfil1.set_CepCirculacao(Gestor.Model.Helper.ValidationHelper.FormataCep(perfil.get_CepCirculacao())); - perfil1.set_CepPernoite(Gestor.Model.Helper.ValidationHelper.FormataCep(perfil.get_CepPernoite())); - perfil1.set_Cliente(perfil.get_Cliente()); - Controle controle = new Controle(); - controle.set_AssistenciaId(perfil.get_Controle().get_AssistenciaId()); - controle.set_Cliente(perfil.get_Controle().get_Cliente()); - controle.set_Documentos(perfil.get_Controle().get_Documentos()); - controle.set_Id(this.SelectedDocumento.get_Controle().get_Id()); - controle.set_IdEmpresa(perfil.get_Controle().get_IdEmpresa()); - controle.set_Item(perfil.get_Controle().get_Item()); - controle.set_Produto(perfil.get_Controle().get_Produto()); - controle.set_Ramo(perfil.get_Controle().get_Ramo()); - controle.set_Seguradora(perfil.get_Controle().get_Seguradora()); - controle.set_SeguradoraAnterior(perfil.get_Controle().get_SeguradoraAnterior()); - perfil1.set_Controle(controle); - perfil1.set_Cpf(perfil.get_Cpf()); - perfil1.set_DistanciaResidenciaTrabalho(perfil.get_DistanciaResidenciaTrabalho()); - perfil1.set_EstadoCivil(perfil.get_EstadoCivil()); - perfil1.set_EstenderCobertura(perfil.get_EstenderCobertura()); - perfil1.set_GaragemEstudo(perfil.get_GaragemEstudo()); - perfil1.set_GaragemResidencia(perfil.get_GaragemResidencia()); - perfil1.set_GaragemTrabalho(perfil.get_GaragemTrabalho()); - perfil1.set_Habilitacao(perfil.get_Habilitacao()); - perfil1.set_Isencao(perfil.get_Isencao()); - perfil1.set_KmMensal(perfil.get_KmMensal()); - perfil1.set_Nascimento(perfil.get_Nascimento()); - perfil1.set_Nome(perfil.get_Nome()); - perfil1.set_Ocupacao(perfil.get_Ocupacao()); - perfil1.set_Relacao(perfil.get_Relacao()); - perfil1.set_SeguroVida(perfil.get_SeguroVida()); - perfil1.set_Sexo(perfil.get_Sexo()); - perfil1.set_TempoHabilitacao(perfil.get_TempoHabilitacao()); - perfil1.set_TipoResidencia(perfil.get_TipoResidencia()); - perfil1.set_UsoDependentes(perfil.get_UsoDependentes()); - perfil1.set_UsoProfissional(perfil.get_UsoProfissional()); - perfil1.set_VeiculoResidencia(perfil.get_VeiculoResidencia()); - await this.PerfilServico.Save(perfil1); - } - } - catch (Exception exception) - { - obj = exception; - num2 = 1; - } - if (num2 == 1) - { - Exception exception1 = (Exception)obj; - await base.ShowMessage("NÃO FOI POSSÍVEL MANTER OS DADOS DO PERFIL DA APÓLICE ANTERIOR, POR FAVOR VERIFIQUE APÓS O PROCEDIMENTO SER CONCLUÍDO.", "OK", "", false); - } - obj = null; - } - } - this.CancelDocumento = (Documento)this.SelectedDocumento.Clone(); - BaseApoliceViewModel baseApoliceViewModel = this; - str = (this.SelectedDocumento.get_TipoRecebimento().GetValueOrDefault() == 2 ? "EDITAR FATURAS" : "EDITAR PARCELAS"); - baseApoliceViewModel.EditarParcelasLabel = str; - base.EnableFields = false; - this.CalculaComissao(this.SelectedDocumento, this.Parcelas); - string str5 = (id1 ? "INCLUIU" : "ALTEROU"); - if (this.SelectedDocumento.get_Tipo() == 0 && string.IsNullOrEmpty(this.SelectedDocumento.get_Apolice())) - { - str1 = string.Concat("A PROPOSTA \"", this.SelectedDocumento.get_Proposta(), "\""); - } - else if (this.SelectedDocumento.get_Tipo() != 0 || string.IsNullOrEmpty(this.SelectedDocumento.get_Apolice())) - { - str1 = (string.IsNullOrEmpty(this.SelectedDocumento.get_Endosso()) ? string.Concat("A PROPOSTA DE ENDOSSO \"", this.SelectedDocumento.get_PropostaEndosso(), "\"") : string.Concat("O ENDOSSO \"", this.SelectedDocumento.get_Endosso(), "\"")); - } - else - { - str1 = string.Concat("A APÓLICE \"", this.SelectedDocumento.get_Apolice(), "\""); - } - string str6 = str1; - base.RegistrarAcao(string.Concat(str5, " ", str6), this.SelectedDocumento.get_Id(), new TipoTela?(2), this.GerarObs(this.SelectedDocumento)); - if (renovar) - { - valueOrDefault = true; - } - else if (!this.IsEndosso) - { - valueOrDefault = false; - } - else - { - TipoEndosso? tipoEndosso = this.SelectedDocumento.get_TipoEndosso(); - valueOrDefault = tipoEndosso.GetValueOrDefault() != 2; - } - if (valueOrDefault & id1) - { - Action action = Gestor.Application.Actions.Actions.AcessaTela; - if (action != null) - { - action(3, (renovar ? "Renovação" : "Endosso")); - } - else - { - } - list = null; - } - else if (this.SelectedDocumento.get_TipoEndosso().GetValueOrDefault() != 2) - { - tipo = (!this.Invoke ? true : !id1); - if (!tipo) - { - tipo = !await base.ShowMessage("DESEJA INCLUIR O ITEM AGORA?", "SIM", "NÃO", false); - } - if (!tipo) - { - Action acessaTela1 = Gestor.Application.Actions.Actions.AcessaTela; - if (acessaTela1 != null) - { - acessaTela1(3, ""); - } - else - { - } - list = null; - } - else - { - list = null; - } - } - else - { - list = null; - } - } - else - { - base.Alterar(true); - list = null; - } - } - else - { - await base.ShowMessage("EM DOCUMENTOS CANCELADOS SÓ É POSSIVEL INCLUIR ENDOSSO DE REABILITAÇÃO.", "OK", "", false); - base.Alterar(true); - list = null; - } - } - else - { - list = keyValuePairs1; - } - return list; - } - - public async Task>> SalvarParcelas(int tipo) - { - List> keyValuePairs; - decimal num; - int num1; - bool flag; - if (this.SelectedParcela.get_Documento() == null) - { - this.SelectedParcela.set_Documento(this.SelectedDocumento); - } - this.SelectedParcela.get_Documento().set_Parcelas(this.Parcelas); - if (this.SelectedDocumento.get_TipoRecebimento().GetValueOrDefault() == 1 && this.SelectedParcela.get_SubTipo() == 1 && this.SelectedParcela.get_Comissao() == decimal.Zero) - { - this.SelectedParcela.set_Comissao(this.SelectedDocumento.get_Comissao()); - } - Parcela selectedParcela = this.SelectedParcela; - List configuracoes = Recursos.Configuracoes; - bool flag1 = configuracoes.Any((ConfiguracaoSistema x) => x.get_Configuracao() == 9); - List configuracaoSistemas = Recursos.Configuracoes; - bool flag2 = configuracaoSistemas.Any((ConfiguracaoSistema y) => y.get_Configuracao() == 11); - bool editandoParcela = this.EditandoParcela; - List configuracoes1 = Recursos.Configuracoes; - List> keyValuePairs1 = selectedParcela.Validate(flag1, flag2, editandoParcela, configuracoes1.Any((ConfiguracaoSistema x) => x.get_Configuracao() == 16)); - keyValuePairs1.AddRange(this.ValidaParcelaEspecial(tipo)); - num = (this.SelectedParcela.get_ValorExtrato() == decimal.Zero ? this.SelectedParcela.get_ValorLiquidoFatura() : this.SelectedParcela.get_ValorExtrato()); - decimal num2 = num; - num1 = (num2 > decimal.Zero ? num2.CompareTo(this.SelectedParcela.get_ValorComissao()) : this.SelectedParcela.get_ValorComissao().CompareTo(num2)); - int num3 = num1; - flag = (keyValuePairs1.Count != 1 || 2 != this.SelectedDocumento.get_TipoRecebimento().GetValueOrDefault() ? false : num3 < 0); - bool flag3 = flag; - if (flag3) - { - flag3 = await base.ShowMessage("VALOR RECEBIMENTO MAIOR QUE VALOR PARCELA, CONTINUAR?", "SIM", "NÃO", false); - } - if (flag3) - { - keyValuePairs1.Clear(); - } - if (keyValuePairs1.Count <= 0) - { - this.SelectedParcela.set_Baixando(false); - List configuracaoSistemas1 = Recursos.Configuracoes; - if (!configuracaoSistemas1.Any((ConfiguracaoSistema x) => x.get_Configuracao() == 5) && (this.SelectedParcela.get_Iss() > decimal.Zero || this.SelectedParcela.get_Irr() > decimal.Zero || this.SelectedParcela.get_Outros() > decimal.Zero || this.SelectedParcela.get_Desconto() > decimal.Zero)) - { - this.SelectedParcela.set_Iss(decimal.Zero); - this.SelectedParcela.set_Irr(decimal.Zero); - this.SelectedParcela.set_Outros(decimal.Zero); - this.SelectedParcela.set_Desconto(decimal.Zero); - this.SelectedParcela.set_ValorComDesconto(this.SelectedParcela.get_ValorComissao()); - } - switch (tipo) - { - case 1: - { - await this.AlterarVencimento(); - break; - } - case 2: - { - await this.BaixarComissao(); - break; - } - case 3: - case 4: - { - await this.AdicionarParcelaEspecial(); - break; - } - } - keyValuePairs = null; - } - else - { - keyValuePairs = keyValuePairs1; - } - keyValuePairs1 = null; - return keyValuePairs; - } - - public async void Seleciona(Documento documento) - { - base.Loading(true); - await base.PermissaoTela(2); - await base.PermissaoTela(5); - if (documento == null || (object)documento != (object)this.SelectedDocumento) - { - await this.SelecionaDocumento(documento); - } - Action redimencionar = Gestor.Application.Actions.Actions.Redimencionar; - if (redimencionar != null) - { - redimencionar(this.Invoke); - } - else - { - } - base.Loading(false); - } - - public async Task SelecionaDocumento(Documento documento) - { - long? nullable; - base.Loading(true); - base.IsEnabled = false; - await this.BuscarVendedores(false); - List estipulantes = await (new BaseServico()).BuscarEstipulantes(); - BaseApoliceViewModel list = this; - IEnumerable estipulantes1 = estipulantes.Where((Estipulante x) => { - if (documento == null) - { - return x.get_IdEmpresa() == Recursos.Usuario.get_IdEmpresa(); - } - if (x.get_IdEmpresa() != documento.get_Controle().get_IdEmpresa()) - { - return false; - } - return x.get_Ativo(); - }); - list.Estipulantes = ( - from x in estipulantes1 - orderby x.get_Nome() - select x).ToList(); - this.SelectedDocumento = null; - this.PreLoad(); - if (documento != null) - { - await this.WorkOnSelectedDocumento(documento); - if (this.Invoke) - { - long id = this.SelectedDocumento.get_Id(); - Documento documentoSelecionado = ConsultaViewModel.DocumentoSelecionado; - if (documentoSelecionado != null) - { - nullable = new long?(documentoSelecionado.get_Id()); - } - else - { - nullable = null; - } - long? nullable1 = nullable; - if (id != nullable1.GetValueOrDefault() | !nullable1.HasValue) - { - ConsultaViewModel.DocumentoSelecionado = this.SelectedDocumento; - } - } - if (this.Acesso == 1 && this.ParcelaSelecionada != 0) - { - await this.SelecionaParcela(this.Parcelas.FirstOrDefault((Parcela x) => x.get_Id() == this.ParcelaSelecionada)); - } - if (this.Invoke) - { - this.Loaded = true; - } - base.IsEnabled = true; - base.Loading(false); - } - else - { - base.EnableFields = false; - base.Loading(false); - } - } - - public async Task SelecionaParcela(Parcela parcela) - { - bool flag; - bool flag1; - this.SelectedParcela = parcela; - if (parcela != null && parcela.get_Id() != 0 && this.SelectedDocumento != null) - { - if (this.Repasses == null) - { - await this.CarregaRepasse(this.SelectedDocumento.get_Id()); - } - List list = ( - from x in this.Repasses - where x.get_Parcela().get_Id() == parcela.get_Id() - select x).ToList(); - if (this.IsFatura || parcela.get_SubTipo() != 1) - { - BaseApoliceViewModel baseApoliceViewModel = this; - flag = (parcela.get_DataRecebimento().HasValue ? false : list.All((VendedorParcela x) => { - if (x.get_Parcela().get_Id() != parcela.get_Id()) - { - return false; - } - return !x.get_DataPagamento().HasValue; - })); - baseApoliceViewModel.AllowEditVendedor = flag; - } - if (!this.IsFatura && parcela.get_SubTipo() == 1) - { - BaseApoliceViewModel baseApoliceViewModel1 = this; - if (parcela.get_NumeroParcela() != 1 || parcela.get_DataRecebimento().HasValue) - { - flag1 = false; - } - else - { - List vendedorParcelas = list; - flag1 = vendedorParcelas.All((VendedorParcela x) => { - if (x.get_Parcela().get_SubTipo() != 1) - { - return false; - } - return !x.get_DataPagamento().HasValue; - }); - } - baseApoliceViewModel1.AllowEditVendedor = flag1; - } - BaseApoliceViewModel observableCollection = this; - List vendedorParcelas1 = list; - observableCollection.Pagamentos = new ObservableCollection( - from x in vendedorParcelas1 - orderby x.get_TipoVendedor().get_Id() - select x); - } - } - - public void SelecionaPrimeiraParcela() - { - this.SelectedParcela = this.SelectedParcela ?? this.Parcelas.FirstOrDefault(); - } - - public async Task SelecionarParcelaBaixa() - { - bool flag; - decimal num; - decimal num1; - Parcela parcela; - if (this.SelectedParcela == null || this.SelectedDocumento == null) - { - flag = false; - } - else if (this.SelectedParcela.get_SubTipo() != 1 && !this.SelectedParcela.get_DataRecebimento().HasValue) - { - Parcela selectedParcela = this.SelectedParcela; - decimal premioLiquido = this.SelectedDocumento.get_PremioLiquido(); - num1 = (this.SelectedDocumento.get_NumeroParcelas() > decimal.Zero ? this.SelectedDocumento.get_NumeroParcelas() : decimal.One); - selectedParcela.set_ValorLiquidoFatura(premioLiquido / num1); - this.SelectedParcela.set_Baixando(true); - flag = true; - } - else if (this.IsFatura && !this.SelectedParcela.get_DataRecebimento().HasValue) - { - this.SelectedParcela.set_Baixando(true); - flag = true; - } - else if (this.Parcelas == null || !this.Parcelas.Any()) - { - flag = false; - } - else - { - ObservableCollection parcelas = this.Parcelas; - IOrderedEnumerable numeroParcela = - from x in parcelas - orderby x.get_NumeroParcela() - select x; - parcela = numeroParcela.FirstOrDefault((Parcela x) => { - if (x.get_DataRecebimento().HasValue) - { - return false; - } - return x.get_SubTipo() == 1; - }); - if (parcela != null && !this.IsFatura && this.SelectedDocumento.get_NumeroParcelas() > decimal.Zero) - { - Parcela parcela1 = parcela; - num = (this.SelectedDocumento.get_AdicionalComiss() ? (this.SelectedDocumento.get_PremioLiquido() + this.SelectedDocumento.get_PremioAdicional()) / this.SelectedDocumento.get_NumeroParcelas() : this.SelectedDocumento.get_PremioLiquido() / this.SelectedDocumento.get_NumeroParcelas()); - parcela1.set_ValorLiquidoFatura(num); - } - BaseApoliceViewModel baseApoliceViewModel = this; - Parcela selectedParcela1 = parcela; - if (selectedParcela1 == null) - { - selectedParcela1 = this.SelectedParcela; - } - baseApoliceViewModel.SelectedParcela = selectedParcela1; - if (parcela == null) - { - await base.ShowMessage("NÃO HÁ MAIS NENHUMA PARCELA A SER BAIXADA", "OK", "", false); - } - if (parcela != null) - { - this.SelectedParcela.set_Baixando(true); - } - flag = parcela != null; - } - parcela = null; - return flag; - } - - public void SelecionarVendedor() - { - VendedorParcela vendedorParcela; - ObservableCollection pagamentos = this.Pagamentos; - if (pagamentos != null) - { - vendedorParcela = pagamentos.FirstOrDefault(); - } - else - { - vendedorParcela = null; - } - this.SelectedPagamento = vendedorParcela; - } - - public void ToggleSeguradoraAnterior(TipoSeguro situacao) - { - if (situacao != 2) - { - this.IsRenovacaoVisibility = Visibility.Collapsed; - return; - } - this.IsRenovacaoVisibility = Visibility.Visible; - } - - private List> ValidaParcelaEspecial(int tipo) - { - List> keyValuePairs = new List>(); - if (tipo == 4 && this.SelectedParcela.get_SubTipo() == 1) - { - keyValuePairs.Add(new KeyValuePair("SubTipo|TIPO", "A PARCELA ESPECIAL NÃO PODE SER DO TIPO PARCELA NORMAL")); - } - return keyValuePairs; - } - - public List> Validate(VendedorParcela pagamento) - { - long? nullable; - bool count; - List> keyValuePairs = new List>(); - if (pagamento == null || this.SelectedDocumento == null) - { - keyValuePairs.Add(new KeyValuePair("pagamento|PAGAMENTO", "ERRO AO INSERIR VENDEDOR.")); - return keyValuePairs; - } - if (pagamento.get_TipoVendedor() == null || pagamento.get_Vendedor() == null) - { - return keyValuePairs; - } - if (this.Repasses == null) - { - this.Repasses = new List(); - } - if (this.Repasses.Count > 0) - { - if (this.Repasses.All((VendedorParcela x) => x.get_Parcela() == null)) - { - if (this.SelectedDocumento.get_Id() > (long)0) - { - ObservableCollection parcelas = this.Parcelas; - if (parcelas != null) - { - count = parcelas.Count > 0; - } - else - { - count = false; - } - if (count) - { - keyValuePairs.Add(new KeyValuePair("|PARCELA", "PARCELA DEVE SER SELECIONADA PARA A INCLUSÃO DO VENDEDOR.")); - return keyValuePairs; - } - } - if (this.SelectedDocumento.get_Tipo() != 1) - { - goto Label1; - } - keyValuePairs.Add(new KeyValuePair("|PARCELA", "PARCELA DEVE SER SELECIONADA PARA A INCLUSÃO DO VENDEDOR.")); - return keyValuePairs; - } - Label1: - IEnumerable vendedorParcelas = this.Repasses.Where((VendedorParcela x) => { - if (x.get_Parcela().get_SubTipo() != 1) - { - return false; - } - decimal? porcentagemRepasse = x.get_PorcentagemRepasse(); - if ((porcentagemRepasse.GetValueOrDefault() == 100) & porcentagemRepasse.HasValue) - { - return false; - } - return pagamento.get_Repasse().get_Forma().GetValueOrDefault() == 1; - }); - decimal num = vendedorParcelas.Sum((VendedorParcela x) => x.get_ValorRepasse().GetValueOrDefault()) + pagamento.get_ValorRepasse().GetValueOrDefault(); - decimal num1 = ((this.SelectedDocumento.get_AdicionalComiss() ? this.SelectedDocumento.get_PremioLiquido() + this.SelectedDocumento.get_PremioAdicional() : this.SelectedDocumento.get_PremioLiquido()) * this.SelectedDocumento.get_Comissao()) * new decimal(1, 0, 0, false, 2); - if (Recursos.Configuracoes.All((ConfiguracaoSistema x) => x.get_Configuracao() != 15) && Math.Abs(num) > (Math.Abs(num1) + this.Tolerancia)) - { - keyValuePairs.Add(new KeyValuePair("ValorRepasse|VALOR DO REPASSE", "O TOTAL DE COMISSÃO PAGA NÃO PODE SER SUPERIOR A COMISSÃO PREVISTA PARA RECEBIMENTO.")); - } - if (this.Repasses.Where((VendedorParcela vendedorParcela) => { - if (vendedorParcela.get_Repasse() == null) - { - return false; - } - return vendedorParcela.get_Repasse().get_Tipo().GetValueOrDefault() != 3; - }).Any((VendedorParcela x) => { - if (x.get_TipoVendedor().get_Id() != pagamento.get_TipoVendedor().get_Id() || x.get_Vendedor().get_Corretora()) - { - return false; - } - return x.get_Parcela().get_SubTipo() == 1; - })) - { - keyValuePairs.Add(new KeyValuePair("TipoVendedor|TIPO VENDEDOR", string.Concat("JÁ EXISTE UM VENDEDOR DO TIPO ", pagamento.get_TipoVendedor().get_Descricao(), " ADICIONADO AO DOCUMENTO."))); - } - if (this.Repasses.Any((VendedorParcela x) => { - if (x.get_Vendedor().get_Id() != pagamento.get_Vendedor().get_Id()) - { - return false; - } - return x.get_Parcela().get_SubTipo() == 1; - })) - { - keyValuePairs.Add(new KeyValuePair("Nome|VENDEDOR", string.Concat("VENDEDOR ", pagamento.get_Vendedor().get_Nome(), " JÁ ADICIONADO AO DOCUMENTO."))); - } - } - long id = pagamento.get_Vendedor().get_Id(); - Gestor.Model.Domain.Seguros.Repasse repasse = pagamento.get_Repasse(); - if (repasse != null) - { - nullable = new long?(repasse.get_Vendedor().get_Id()); - } - else - { - nullable = null; - } - long? nullable1 = nullable; - if (id != nullable1.GetValueOrDefault() | !nullable1.HasValue) - { - keyValuePairs.Add(new KeyValuePair("ValorRepasse|VALOR DO REPASSE", "PERCENTUAL DE REPASSE DEVE SER SELECIONADO")); - } - return keyValuePairs; - } - - public List> ValidateEspecial(VendedorParcela pagamento) - { - decimal? nullable2; - List> keyValuePairs = new List>(); - if (this.SelectedParcela == null) - { - keyValuePairs.Add(new KeyValuePair("SelectedParcela|PARCELA", "PARCELA DEVE SER SELECIONADA PARA A INCLUSÃO DO VENDEDOR.")); - return keyValuePairs; - } - if (this.Repasses == null) - { - this.Repasses = new List(); - } - decimal? nullable3 = ( - from x in this.Repasses - where x.get_Parcela().get_Id() == pagamento.get_Parcela().get_Id() - select x).Sum((VendedorParcela x) => x.get_ValorRepasse()); - decimal? valorRepasse = pagamento.get_ValorRepasse(); - if (nullable3.HasValue & valorRepasse.HasValue) - { - nullable2 = new decimal?(nullable3.GetValueOrDefault() + valorRepasse.GetValueOrDefault()); - } - else - { - nullable2 = null; - } - decimal? nullable4 = nullable2; - decimal valor = this.SelectedParcela.get_Valor(); - decimal num = (this.SelectedParcela.get_DataRecebimento().HasValue ? this.SelectedParcela.get_ValorComDesconto() : (valor * this.SelectedParcela.get_Comissao()) * new decimal(1, 0, 0, false, 2)); - if (Recursos.Configuracoes.All((ConfiguracaoSistema x) => x.get_Configuracao() != 15) && nullable4.HasValue && Math.Abs(nullable4.Value) > (Math.Abs(num) + this.Tolerancia)) - { - keyValuePairs.Add(new KeyValuePair("SelectedParcela|VALOR DO REPASSE", "O TOTAL DE COMISSÃO PAGA NÃO PODE SER SUPERIOR A COMISSÃO PREVISTA PARA RECEBIMENTO.")); - } - if (pagamento.get_Parcela() == null) - { - if (this.Repasses.Any((VendedorParcela x) => { - if (x.get_TipoVendedor().get_Id() != pagamento.get_TipoVendedor().get_Id()) - { - return false; - } - return !x.get_Vendedor().get_Corretora(); - })) - { - keyValuePairs.Add(new KeyValuePair("TipoVendedor|TIPO VENDEDOR", string.Concat("JÁ EXISTE UM VENDEDOR DO TIPO ", pagamento.get_TipoVendedor().get_Descricao(), " ADICIONADO AO DOCUMENTO."))); - } - if (this.Repasses.Any((VendedorParcela x) => x.get_Vendedor().get_Id() == pagamento.get_Vendedor().get_Id())) - { - keyValuePairs.Add(new KeyValuePair("Nome|VENDEDOR", string.Concat("VENDEDOR ", pagamento.get_Vendedor().get_Nome(), " JÁ ADICIONADO AO DOCUMENTO"))); - } - return keyValuePairs; - } - if (pagamento.get_Parcela().get_SubTipo() == 1) - { - if (this.Repasses.Any((VendedorParcela x) => { - long? nullable; - long id = x.get_TipoVendedor().get_Id(); - TipoVendedor tipoVendedor = pagamento.get_TipoVendedor(); - if (tipoVendedor != null) - { - nullable = new long?(tipoVendedor.get_Id()); - } - else - { - nullable = null; - } - long? nullable1 = nullable; - if (!(id == nullable1.GetValueOrDefault() & nullable1.HasValue) || x.get_Vendedor().get_Corretora()) - { - return false; - } - return x.get_Parcela().get_Id() == pagamento.get_Parcela().get_Id(); - })) - { - keyValuePairs.Add(new KeyValuePair("TipoVendedor|TIPO VENDEDOR", string.Concat("JÁ EXISTE UM VENDEDOR DO TIPO ", pagamento.get_TipoVendedor().get_Descricao(), " ADICIONADO AO DOCUMENTO."))); - } - if (this.Repasses.Any((VendedorParcela x) => { - if (x.get_Vendedor().get_Id() != pagamento.get_Vendedor().get_Id()) - { - return false; - } - return x.get_Parcela().get_Id() == pagamento.get_Parcela().get_Id(); - })) - { - keyValuePairs.Add(new KeyValuePair("Nome|VENDEDOR", string.Concat("VENDEDOR ", pagamento.get_Vendedor().get_Nome(), " JÁ ADICIONADO AO DOCUMENTO"))); - } - return keyValuePairs; - } - if (this.Repasses.Any((VendedorParcela x) => { - if (x.get_Parcela().get_Id() != pagamento.get_Parcela().get_Id() || x.get_TipoVendedor().get_Id() != pagamento.get_TipoVendedor().get_Id()) - { - return false; - } - return !x.get_Vendedor().get_Corretora(); - })) - { - keyValuePairs.Add(new KeyValuePair("TipoVendedor|TIPO VENDEDOR", string.Concat("JÁ EXISTE UM VENDEDOR DO TIPO ", pagamento.get_TipoVendedor().get_Descricao(), " ADICIONADO A PARCELA."))); - } - if (this.Repasses.Any((VendedorParcela x) => { - if (x.get_Parcela().get_Id() != pagamento.get_Parcela().get_Id()) - { - return false; - } - return x.get_Vendedor().get_Id() == pagamento.get_Vendedor().get_Id(); - })) - { - keyValuePairs.Add(new KeyValuePair("Nome|VENDEDOR", string.Concat("VENDEDOR ", pagamento.get_Vendedor().get_Nome(), " JÁ ADICIONADO A PARCELA"))); - } - return keyValuePairs; - } - - public List VendedorCoCorretagem(bool coCorretagem = false) - { - List vendedors; - if (coCorretagem) - { - List list = this.Vendedores.Where((Vendedor vendedor) => { - List repassesVendedores = this.RepassesVendedores; - if (repassesVendedores == null) - { - return false; - } - return repassesVendedores.FindAll((Gestor.Model.Domain.Seguros.Repasse repasse) => repasse.get_Vendedor().get_Id() == vendedor.get_Id()).Any((Gestor.Model.Domain.Seguros.Repasse x) => x.get_Tipo().GetValueOrDefault() == 3); - }).ToList(); - vendedors = list; - this.Vendedores = list; - return vendedors; - } - List list1 = Recursos.Vendedores.Where((Vendedor vendedor) => { - if (!vendedor.get_Ativo() || vendedor.get_Corretora()) - { - return false; - } - return vendedor.get_IdEmpresa() == Recursos.Usuario.get_IdEmpresa(); - }).OrderBy((Vendedor v) => v.get_Nome()).ToList(); - vendedors = list1; - this.Vendedores = list1; - return vendedors; - } - - public bool VerificaCoCorretagem() - { - List repasses = this.Repasses; - if (repasses == null) - { - return false; - } - return repasses.Any((VendedorParcela x) => x.get_CoCorretagem()); - } - - public async Task VerificarVigencia(Documento documento) - { - bool flag; - string str; - if (documento.get_Vigencia2().HasValue) - { - DateTime? vigencia2 = documento.get_Vigencia2(); - TimeSpan timeSpan = DateTime.Parse(vigencia2.ToString()) - documento.get_Vigencia1(); - if (timeSpan.Days > 366) - { - str = "VIGÊNCIA FINAL MAIOR QUE 365 DIAS.\nDESEJA CONTINUAR?"; - } - else - { - str = (timeSpan.Days < 365 ? "VIGÊNCIA FINAL MENOR QUE 365 DIAS.\nDESEJA CONTINUAR?" : ""); - } - string str1 = str; - if (str1 != "") - { - flag = await base.ShowMessage(str1, "SIM", "NÃO", false); - } - else - { - flag = true; - } - } - else - { - flag = true; - } - return flag; - } - - private async Task WorkOnSelectedDocumento(Documento value) - { - decimal? nullable; - bool flag; - bool flag1; - bool seguradora; - List list; - decimal? tolerancia; - bool flag2; - bool flag3; - bool valueOrDefault; - string str; - NegocioCorretora negocioCorretora; - Documento documento; - BaseApoliceViewModel baseApoliceViewModel = this; - flag = (value == null ? true : value.get_Id() == (long)0); - baseApoliceViewModel.IsEnabledEdit = flag; - BaseApoliceViewModel baseApoliceViewModel1 = this; - flag1 = (value == null ? true : value.get_Id() == (long)0); - baseApoliceViewModel1.IsEnabledEditEndosso = flag1; - if (value != null && value.get_Id() != 0) - { - if (!this.Situacao.All((TipoSeguro x) => x != value.get_Situacao())) - { - this.IsEnableSituacao = true; - } - else - { - List tipoSeguros = new List() - { - 1, - 2, - 5, - value.get_Situacao() - }; - this.Situacao = new ObservableCollection(tipoSeguros); - } - Controle controle = value.get_Controle(); - if (controle != null) - { - seguradora = controle.get_Seguradora(); - } - else - { - seguradora = false; - } - if (seguradora) - { - list = Recursos.Seguradoras.Where((Seguradora x) => { - if (x.get_Ativo()) - { - return true; - } - return x.get_Id() == value.get_Controle().get_Seguradora().get_Id(); - }).ToList(); - } - else - { - List seguradoras = Recursos.Seguradoras; - list = ( - from x in seguradoras - where x.get_Ativo() - select x).ToList(); - } - this.Seguradoras = list; - this.SeguradorasAnteriores = Recursos.Seguradoras; - this.SelectedDocumento = await this.Servico.BuscarApoliceAsync(value.get_Id(), false, false); - if (!this.SelectedDocumento.get_NegocioCorretora().HasValue) - { - Documento selectedDocumento = this.SelectedDocumento; - negocioCorretora = (this.SelectedDocumento.get_Situacao() != 2 || !this.SelectedDocumento.get_Negocio().HasValue || this.SelectedDocumento.get_Negocio().GetValueOrDefault() != 1 ? 0 : 1); - selectedDocumento.set_NegocioCorretora(new NegocioCorretora?(negocioCorretora)); - base.OnPropertyChanged("SelectedDocumento"); - } - BaseApoliceViewModel valueOrDefault1 = this; - Controle controle1 = this.SelectedDocumento.get_Controle(); - if (controle1 != null) - { - Seguradora seguradora1 = controle1.get_Seguradora(); - if (seguradora1 != null) - { - tolerancia = seguradora1.get_Tolerancia(); - } - else - { - nullable = null; - tolerancia = nullable; - } - } - else - { - nullable = null; - tolerancia = nullable; - } - nullable = tolerancia; - valueOrDefault1.Tolerancia = nullable.GetValueOrDefault(new decimal(2)); - List produtos = Recursos.Produtos.Where((Produto x) => { - if (x.get_Ativo()) - { - return true; - } - if (this.SelectedDocumento.get_Controle().get_Produto() == null) - { - return false; - } - return x.get_Id() == this.SelectedDocumento.get_Controle().get_Produto().get_Id(); - }).ToList(); - this.Produtos = produtos; - if (this.Invoke) - { - ConsultaViewModel.DocumentoSelecionado = this.SelectedDocumento; - } - documento = (Documento)this.SelectedDocumento.Clone(); - await this.CarregarParcelas(documento); - await this.CarregaRepasse(documento.get_Id()); - this.SelectedDocumento.Initialize(); - this.Initialized = true; - if (this.Parcelas.Count == 0) - { - this.AllowEditVendedor = false; - } - BaseApoliceViewModel baseApoliceViewModel2 = this; - ObservableCollection parcelas = this.Parcelas; - IEnumerable subTipo = - from x in parcelas - where x.get_SubTipo() == 1 - select x; - if (!subTipo.All((Parcela x) => !x.get_DataRecebimento().HasValue)) - { - flag2 = false; - } - else - { - List repasses = this.Repasses; - IEnumerable vendedorParcelas = - from x in repasses - where x.get_Parcela().get_SubTipo() == 1 - select x; - flag2 = vendedorParcelas.All((VendedorParcela x) => !x.get_DataPagamento().HasValue); - } - baseApoliceViewModel2.AllowEditApolice = flag2; - BaseApoliceViewModel baseApoliceViewModel3 = this; - if (this.SelectedDocumento.get_TipoRecebimento().GetValueOrDefault() == 2) - { - flag3 = true; - } - else - { - List repasses1 = this.Repasses; - IEnumerable vendedorParcelas1 = repasses1.Where((VendedorParcela x) => { - if (x.get_Repasse() == null) - { - return false; - } - return x.get_Repasse().get_Base().GetValueOrDefault() == 4; - }); - flag3 = vendedorParcelas1.All((VendedorParcela x) => !x.get_DataPagamento().HasValue); - } - baseApoliceViewModel3.AllowEditEmissao = flag3; - this.CalculaComissao(this.SelectedDocumento, this.Parcelas); - this.IsEndosso = this.SelectedDocumento.get_Tipo() != 0; - BaseApoliceViewModel baseApoliceViewModel4 = this; - if (!this.SelectedDocumento.get_TipoEndosso().HasValue) - { - valueOrDefault = true; - } - else if (this.SelectedDocumento.get_TipoEndosso().GetValueOrDefault() == 2) - { - valueOrDefault = false; - } - else - { - TipoEndosso? tipoEndosso = this.SelectedDocumento.get_TipoEndosso(); - valueOrDefault = tipoEndosso.GetValueOrDefault() != 3; - } - baseApoliceViewModel4.EnableAlterarSituacao = valueOrDefault; - BaseApoliceViewModel baseApoliceViewModel5 = this; - str = (this.SelectedDocumento.get_TipoRecebimento().GetValueOrDefault() == 2 ? "EDITAR FATURAS" : "EDITAR PARCELAS"); - baseApoliceViewModel5.EditarParcelasLabel = str; - base.AllowEditParcela = true; - this.CancelDocumento = (Documento)this.SelectedDocumento.Clone(); - } - documento = null; - } - - private void WorkOnSelectedParcela(Parcela value) - { - bool? nullable; - string str; - Visibility visibility; - int? nullable1; - bool? nullable2; - if (value == null || value.get_Id() == 0 || this.SelectedDocumento == null) - { - return; - } - bool flag = this.Repasses.Any((VendedorParcela x) => { - if (x.get_Parcela().get_Id() != this.SelectedParcela.get_Id()) - { - return false; - } - return x.get_DataPagamento().HasValue; - }); - if (this.SelectedDocumento.get_TipoRecebimento().GetValueOrDefault() == 2) - { - List repasses = this.Repasses; - if (repasses != null) - { - nullable2 = new bool?(repasses.Where((VendedorParcela x) => { - if (x.get_Parcela().get_Id() != this.SelectedParcela.get_Id() || x.get_Repasse() == null) - { - return false; - } - return x.get_Repasse().get_Base().GetValueOrDefault() == 4; - }).All((VendedorParcela x) => !x.get_DataPagamento().HasValue)); - } - else - { - nullable = null; - nullable2 = nullable; - } - nullable = nullable2; - this.AllowEditEmissao = nullable.Value; - } - if (value.get_SubTipo() != 1 || this.SelectedDocumento.get_TipoRecebimento().GetValueOrDefault() != 1) - { - this.BaixarParcelaVisibility = (!value.get_DataRecebimento().HasValue ? Visibility.Visible : Visibility.Collapsed); - this.VisibilityExcluirParcela = (flag ? Visibility.Collapsed : Visibility.Visible); - if (value.get_DataRecebimento().HasValue) - { - str = "EXCLUIR BAIXA"; - } - else - { - str = (this.SelectedDocumento.get_TipoRecebimento().GetValueOrDefault() == 1 ? "EXCLUIR PARCELA" : "EXCLUIR FATURA"); - } - this.ExcluirParcelaLabel = str; - } - else - { - this.BaixarParcelaVisibility = (this.Parcelas.Any((Parcela x) => { - if (x.get_DataRecebimento().HasValue) - { - return false; - } - return x.get_SubTipo() == 1; - }) ? Visibility.Visible : Visibility.Collapsed); - Parcela parcela = ( - from x in this.Parcelas - orderby x.get_NumeroParcela() - select x).LastOrDefault((Parcela x) => { - if (!x.get_DataRecebimento().HasValue || x.get_SubTipo() != 1) - { - return false; - } - if (x.get_ValorComissao() != decimal.Zero) - { - return true; - } - return x.get_ValorRealizado() != decimal.Zero; - }); - if (flag) - { - visibility = Visibility.Collapsed; - } - else - { - if (!value.get_DataRecebimento().HasValue || parcela != null) - { - if (parcela != null) - { - nullable1 = new int?(parcela.get_NumeroParcela()); - } - else - { - nullable1 = null; - } - int? nullable3 = nullable1; - int numeroParcela = value.get_NumeroParcela(); - if (nullable3.GetValueOrDefault() <= numeroParcela & nullable3.HasValue) - { - goto Label1; - } - visibility = Visibility.Collapsed; - goto Label0; - } - Label1: - visibility = Visibility.Visible; - } - Label0: - this.VisibilityExcluirParcela = visibility; - this.ExcluirParcelaLabel = "EXCLUIR BAIXA"; - } - this.VisibilityReplicarFatura = (this.IsFatura ? Visibility.Visible : Visibility.Collapsed); - } - - private void WorkOnSelectedTipo(bool value) - { - this.Assinada = (value ? "PROPOSTA DE ENDOSSO ASSINADA" : "PROPOSTA ASSINADA"); - this.Conferida = (value ? "ENDOSSO CONFERIDO" : "APÓLICE CONFERIDA"); - this.Transmissao = (value ? "TRANSMISSÃO DA PROPOSTA DE ENDOSSO" : "TRANSMISSÃO DA PROPOSTA"); - this.Emissao = (value ? "EMISSÃO DO ENDOSSO" : "EMISSÃO DA APÓLICE"); - } - - private void ZeraComissao() - { - this.Gerada = decimal.Zero; - this.Recebida = decimal.Zero; - this.Pendente = decimal.Zero; - this.Repasse = decimal.Zero; - this.ComissOriginal = decimal.Zero; - } - - private void ZerarValores() - { - if (this.SelectedDocumento.get_TipoRecebimento().GetValueOrDefault() != 2) - { - return; - } - this.SelectedDocumento.set_PremioLiquido(decimal.Zero); - this.SelectedDocumento.set_PremioAdicional(decimal.Zero); - this.SelectedDocumento.set_PremioAdicional(decimal.Zero); - this.SelectedDocumento.set_Iof(decimal.Zero); - this.SelectedDocumento.set_Diferenca(decimal.Zero); - this.SelectedDocumento.set_NumeroParcelas(decimal.Zero); - } - } -} \ No newline at end of file -- cgit v1.2.3