using System; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Linq; using System.Threading.Tasks; using Gestor.Application.Helpers; using Gestor.Application.Servicos; using Gestor.Model.Common; using Gestor.Model.Domain.Configuracoes; using Gestor.Model.Domain.Ferramentas; using Gestor.Model.Domain.Generic; using Gestor.Model.Domain.Seguros; namespace Gestor.Application.ViewModels.Generic; public class ExtratoComissaoViewModel : BaseViewModel { private ServicoExtrato _servico; private bool _apelido; private List _seguradoras; private DateTime _inicio = new DateTime(Funcoes.GetNetworkTime().Date.Year, Funcoes.GetNetworkTime().Date.Month, 1); private DateTime _fim = Funcoes.GetNetworkTime().Date; private ObservableCollection _extratos; public bool Apelido { get { return _apelido; } set { _apelido = value; OnPropertyChanged("Apelido"); } } public List Seguradoras { get { return _seguradoras; } set { _seguradoras = value; OnPropertyChanged("Seguradoras"); } } public DateTime Inicio { get { return _inicio; } set { _inicio = value; OnPropertyChanged("Inicio"); } } public DateTime Fim { get { return _fim; } set { _fim = value; OnPropertyChanged("Fim"); } } public ObservableCollection Extratos { get { return _extratos; } set { _extratos = value; OnPropertyChanged("Extratos"); } } public ExtratoComissaoViewModel(List seguradoras) { _servico = new ServicoExtrato(); Apelido = Recursos.Configuracoes.Any((ConfiguracaoSistema x) => (int)x.Configuracao == 6); Seguradoras = seguradoras; } public async Task CarregarExtratos(Seguradora seguradora, DateTime inicio, DateTime fim) { Extratos = new ObservableCollection(await _servico.BuscarExtrato(((DomainBase)seguradora).Id, 0L, (StatusExtrato)4, inicio, fim)); } internal void SelecionarTudo() { if (Extratos != null) { Extratos.ToList().ForEach(delegate(Extrato x) { x.Selecionado = !x.Selecionado; }); Extratos = new ObservableCollection(Extratos); } } internal List Selecionar() { if (Extratos == null) { return null; } return Extratos.Where((Extrato x) => x.Selecionado).Select((Func)((Extrato x) => new NotaFiscal { IdExtrato = ((DomainBase)x).Id, Seguradora = x.Seguradora, Data = x.Data, Iss = x.Iss.GetValueOrDefault(), Ir = x.Ir.GetValueOrDefault(), ValorBruto = x.Bruto.GetValueOrDefault(), ValorLiquido = x.Liquido.GetValueOrDefault(), Extrato = x.Numero })).ToList(); } }