public CadastraDespesaViewModel(CadastraDespesa pai) { ParentPage = pai; this.OkBotao = new Command(async() => { // verifica se todos os campos foram informados if (ParentPage.DadosOk()) { // atualizar lista de eventos da aplicação, avisando janela pai que dados foram informados Models.DespesaModel novo = new Models.DespesaModel(0, Descricao, Valor, Pago, DataVencimento); if (ParentPage.dadosDespesa != null) { novo.Id = ParentPage.dadosDespesa.Id; } MessagingCenter.Send <Application, Models.DespesaModel>(App.Current, "CadastraDespesa", novo); // encerrar tela var telaInicial = Application.Current.MainPage as Views.MasterDetailPrincipal; await telaInicial.PopAsync(); } }); this.DeleteCommand = new Command(async() => { if (ParentPage.dadosDespesa == null) { await ParentPage.DisplayAlert("Erro", "Dados não podem ser eliminados", "OK"); } else { var resposta = await ParentPage.DisplayAlert("Elimina Registro", "Confirma eliminação do registro?", "Sim", "Não"); if (resposta) { MessagingCenter.Send <Application, Models.DespesaModel>(App.Current, "DeleteDados", ParentPage.dadosDespesa); var telaInicial = Application.Current.MainPage as Views.MasterDetailPrincipal; await telaInicial.PopAsync(); } } }); }
public CadastraDespesa(Models.DespesaModel despesa = null) { dadosDespesa = despesa; InitializeComponent(); viewModel = new CadastraDespesaViewModel(this); this.BindingContext = viewModel; // mostra dados da agenda corrente if (despesa != null) { viewModel.Descricao = despesa.Descricao; viewModel.Valor = despesa.Valor; viewModel.Pago = despesa.Pago; viewModel.DataVencimento = despesa.DataVencimento; viewModel.InformaAlteracao("Descricao"); viewModel.InformaAlteracao("Valor"); viewModel.InformaAlteracao("Pago"); viewModel.InformaAlteracao("DataVencimento"); } }