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; using System; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Diagnostics; using System.Linq; using System.Runtime.CompilerServices; using System.Threading.Tasks; namespace Gestor.Application.ViewModels.Seguros { public class ApoliceViewModel : BaseApoliceViewModel { private bool _documentoExcluido; public bool DocumentoExcluido { get { return this._documentoExcluido; } set { this._documentoExcluido = value; base.OnPropertyChanged("DocumentoExcluido"); } } public ApoliceViewModel(AcessoApolice acesso, Documento documentoSelecionado, bool invoke = true, long idparcela = 0L) { long id; base.Invoke = invoke; base.Acesso = acesso; base.DocumentoSelecionado = documentoSelecionado; if (invoke) { Parcela parcelaSelecionada = ConsultaViewModel.ParcelaSelecionada; if (parcelaSelecionada != null) { id = parcelaSelecionada.get_Id(); } else { id = (long)0; } } else { id = idparcela; } base.ParcelaSelecionada = id; this.DocumentoExcluido = (base.DocumentoSelecionado != null ? base.DocumentoSelecionado.get_Excluido() : false); base.Seleciona(base.DocumentoSelecionado); } public void AbrirInfo() { base.ShowDrawer(new InfoDrawer(base.SelectedDocumento, true), 0, false); } public async Task Alteracao(bool alterar) { if (base.AllowEditApolice) { ObservableCollection parcelas = base.Parcelas; if (!parcelas.Any((Parcela x) => x.get_DataRecebimento().HasValue)) { List repasses = base.Repasses; if (!repasses.Any((VendedorParcela x) => x.get_DataPagamento().HasValue)) { List list = Recursos.Seguradoras.Where((Seguradora x) => { if (x.get_Ativo()) { return true; } return x.get_Id() == base.SelectedDocumento.get_Controle().get_Seguradora().get_Id(); }).ToList(); base.Seguradoras = list; base.SeguradorasAnteriores = Recursos.Seguradoras; List ramos = Recursos.Ramos.Where((Ramo x) => { if (x.get_Ativo()) { return true; } return x.get_Id() == base.SelectedDocumento.get_Controle().get_Ramo().get_Id(); }).ToList(); base.Ramos = ramos; List produtos = Recursos.Produtos.Where((Produto x) => { if (x.get_Ativo()) { return true; } if (base.SelectedDocumento.get_Controle().get_Produto() == null) { return false; } return x.get_Id() == base.SelectedDocumento.get_Controle().get_Produto().get_Id(); }).ToList(); base.Produtos = produtos; List statuses = Recursos.Status.Where((Gestor.Model.Domain.Seguros.Status x) => { if (x.get_Ativo()) { return true; } if (base.SelectedDocumento.get_Status() == null) { return false; } return x.get_Id() == base.SelectedDocumento.get_Status().get_Id(); }).ToList(); base.Status = statuses; return; } } } await base.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", "OK", "", false); } } }