using System.Collections.Generic; using System.Collections.ObjectModel; using System.Linq; using Gestor.Application.Servicos.Financeiro; using Gestor.Application.ViewModels.Generic; using Gestor.Model.Domain.Financeiro; using Gestor.Model.Domain.Generic; namespace Gestor.Application.ViewModels.Financeiro; public class TranferenciaViewModel : BaseViewModel { private Transferencia _transferencia; private ObservableCollection _contas; private BancosContasServico _servico { get; set; } public Transferencia Transferencia { get { return _transferencia; } set { _transferencia = value; OnPropertyChanged("Transferencia"); } } public ObservableCollection Contas { get { return _contas; } set { _contas = value; OnPropertyChanged("Contas"); } } public TranferenciaViewModel(Transferencia transferencia) { _servico = new BancosContasServico(); Carregar(transferencia); } private async void Carregar(Transferencia transferencia) { List source = await _servico.BuscarBancos(); Contas = new ObservableCollection(from x in source where x.Ativo orderby x.Descricao select x); Transferencia = new Transferencia { Origem = ((transferencia.Origem != null) ? source.First((BancosContas x) => ((DomainBase)x).Id == ((DomainBase)transferencia.Origem).Id) : null), Data = transferencia.Data, Valor = transferencia.Valor, Destino = ((transferencia.Destino != null) ? source.First((BancosContas x) => ((DomainBase)x).Id == ((DomainBase)transferencia.Destino).Id) : null) }; } }