using Gestor.Application.Model.Ajuda; using Gestor.Application.Servicos.Ajuda; using Gestor.Application.ViewModels.Generic; using System; using System.Collections.Generic; using System.Diagnostics; using System.Linq; using System.Runtime.CompilerServices; using System.Threading.Tasks; namespace Gestor.Application.ViewModels.Drawer.Ajuda { public class BoletosNotasViewModel : BaseViewModel { private readonly AjudaServico _ajudaServico; private bool _carregando; private List _boletos; private string _boletoDisponivel; private List _status; public string BoletoDisponivel { get { return this._boletoDisponivel; } set { this._boletoDisponivel = value; base.OnPropertyChanged("BoletoDisponivel"); } } public List Boletos { get { return this._boletos; } set { this._boletos = value; base.OnPropertyChanged("Boletos"); } } public bool Carregando { get { return this._carregando; } set { this._carregando = value; base.IsEnabled = !value; base.EnableMenu = !value; base.OnPropertyChanged("Carregando"); } } public List Status { get { return this._status; } set { this._status = value; base.OnPropertyChanged("Status"); } } public BoletosNotasViewModel() { this._ajudaServico = new AjudaServico(); this.LoadCombos(); this.BoletoDisponivel = "Disponível para impressão a partir de\n10 (dez) dias antes do vencimento"; } private void LoadCombos() { this.Status = new List() { "PENDENTES", "BAIXADOS" }; } public async void WorkOnSelectedStatus(string value) { List list; this.Carregando = true; this.Boletos = new List(); List boletos = await this._ajudaServico.BuscarBoletosNotas(value); BoletosNotasViewModel boletosNotasViewModel = this; if (value == "BAIXADOS") { List boletos1 = boletos; IEnumerable hasValue = from x in boletos1 where x.Pagamento.HasValue select x; list = ( from x in hasValue orderby x.Pagamento descending select x).ToList(); } else { list = boletos; } boletosNotasViewModel.Boletos = list; this.Carregando = false; } } }