using Gestor.Application.Servicos.Financeiro; using Gestor.Application.ViewModels.Generic; using Gestor.Model.Domain.Financeiro; using Gestor.Model.Domain.Generic; 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.Financeiro { public class TranferenciaViewModel : BaseViewModel { private Gestor.Model.Domain.Financeiro.Transferencia _transferencia; private ObservableCollection _contas; private BancosContasServico _servico { get; set; } public ObservableCollection Contas { get { return this._contas; } set { this._contas = value; base.OnPropertyChanged("Contas"); } } public Gestor.Model.Domain.Financeiro.Transferencia Transferencia { get { return this._transferencia; } set { this._transferencia = value; base.OnPropertyChanged("Transferencia"); } } public TranferenciaViewModel(Gestor.Model.Domain.Financeiro.Transferencia transferencia) { this._servico = new BancosContasServico(); this.Carregar(transferencia); } private async void Carregar(Gestor.Model.Domain.Financeiro.Transferencia transferencia) { BancosContas bancosConta; BancosContas bancosConta1; List bancosContas = await this._servico.BuscarBancos(); TranferenciaViewModel observableCollection = this; List bancosContas1 = bancosContas; IEnumerable ativo = from x in bancosContas1 where x.get_Ativo() select x; observableCollection.Contas = new ObservableCollection( from x in ativo orderby x.get_Descricao() select x); TranferenciaViewModel tranferenciaViewModel = this; Gestor.Model.Domain.Financeiro.Transferencia transferencium = new Gestor.Model.Domain.Financeiro.Transferencia(); if (transferencia.get_Origem() != null) { bancosConta = bancosContas.First((BancosContas x) => x.get_Id() == transferencia.get_Origem().get_Id()); } else { bancosConta = null; } transferencium.set_Origem(bancosConta); transferencium.set_Data(transferencia.get_Data()); transferencium.set_Valor(transferencia.get_Valor()); if (transferencia.get_Destino() != null) { bancosConta1 = bancosContas.First((BancosContas x) => x.get_Id() == transferencia.get_Destino().get_Id()); } else { bancosConta1 = null; } transferencium.set_Destino(bancosConta1); tranferenciaViewModel.Transferencia = transferencium; } } }