using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using Gestor.Application.Drawers; using Gestor.Application.Helpers; using Gestor.Application.ViewModels.Generic; using Gestor.Model.Common; using Gestor.Model.Domain.Generic; using Gestor.Model.Domain.Seguros; namespace Gestor.Application.ViewModels.Seguros; public class ApoliceViewModel : BaseApoliceViewModel { private bool _documentoExcluido; public bool DocumentoExcluido { get { return _documentoExcluido; } set { _documentoExcluido = value; OnPropertyChanged("DocumentoExcluido"); } } public ApoliceViewModel(AcessoApolice acesso, Documento documentoSelecionado, bool invoke = true, long idparcela = 0L) { //IL_000e: Unknown result type (might be due to invalid IL or missing references) base.Invoke = invoke; base.Acesso = acesso; base.DocumentoSelecionado = documentoSelecionado; long parcelaSelecionada; if (!invoke) { parcelaSelecionada = idparcela; } else { Parcela parcelaSelecionada2 = ConsultaViewModel.ParcelaSelecionada; parcelaSelecionada = ((parcelaSelecionada2 != null) ? ((DomainBase)parcelaSelecionada2).Id : 0); } base.ParcelaSelecionada = parcelaSelecionada; DocumentoExcluido = base.DocumentoSelecionado != null && base.DocumentoSelecionado.Excluido; Seleciona(base.DocumentoSelecionado); } public async Task Alteracao(bool alterar) { if (!base.AllowEditApolice || base.Parcelas.Any((Parcela x) => x.DataRecebimento.HasValue) || base.Repasses.Any((VendedorParcela x) => x.DataPagamento.HasValue)) { await ShowMessage("DOCUMENTO POSSUI BAIXAS DE COMISSÃO OU PAGAMENTO DE VENDEDORES.\nNÃO SERÁ POSSÍVEL ALTERAR ALGUMAS INFORMAÇÕES DO DOCUMENTO.\nPARA ISSO, EXCLUA AS BAIXAS E O PAGAMENTO DO VENDEDOR"); return; } List seguradoras = Recursos.Seguradoras.Where((Seguradora x) => x.Ativo || ((DomainBase)x).Id == ((DomainBase)base.SelectedDocumento.Controle.Seguradora).Id).ToList(); base.Seguradoras = seguradoras; base.SeguradorasAnteriores = Recursos.Seguradoras; List ramos = Recursos.Ramos.Where((Ramo x) => x.Ativo || ((DomainBase)x).Id == ((DomainBase)base.SelectedDocumento.Controle.Ramo).Id).ToList(); base.Ramos = ramos; List produtos = Recursos.Produtos.Where((Produto x) => x.Ativo || (base.SelectedDocumento.Controle.Produto != null && ((DomainBase)x).Id == ((DomainBase)base.SelectedDocumento.Controle.Produto).Id)).ToList(); base.Produtos = produtos; List status = Recursos.Status.Where((Status x) => x.Ativo || (base.SelectedDocumento.Status != null && ((DomainBase)x).Id == ((DomainBase)base.SelectedDocumento.Status).Id)).ToList(); base.Status = status; } public void AbrirInfo() { ShowDrawer(new InfoDrawer(base.SelectedDocumento, ocultarInfos: true), 0, close: false); } }