コード例 #1
0
        public GastoAdd(Models.GastoModel gasto = null)
        {
            // salva dados corrente
            dadosGasto = gasto;
            InitializeComponent();
            viewModel           = new GastoAddViewModel(this);
            this.BindingContext = viewModel;
            // mostra dados da agenda corrente
            if (gasto != null)
            {
                viewModel.Descricao = gasto.Gas_Descricao;
                viewModel.DataHora  = gasto.Gas_DataHora;
                viewModel.TigCodigo = gasto.Gas_TigCodigo;
                viewModel.Valor     = gasto.Gas_Valor;

                viewModel.InformaAlteracao("Descricao");
                viewModel.InformaAlteracao("DataHora");
                viewModel.InformaAlteracao("TigCodigo");
                viewModel.InformaAlteracao("Valor");
            }
            else
            {
                viewModel.DataHora = DateTime.Now;
                viewModel.InformaAlteracao("DataHora");
            }
        }
コード例 #2
0
        public GastoAddViewModel(GastoAdd pai)
        {
            ParentPage     = pai;
            this.OkCommand = new Command(async() =>
            {
                // verifica se todos os campos foram informados
                if (ParentPage.DadosOk())
                {
                    // atualizar lista de eventos da aplicação, avisando
                    // a janela pai que dados foram informados
                    Models.GastoModel novo =
                        new Models.GastoModel(0, Descricao, DataHora, Valor, TigCodigo);
                    if (ParentPage.dadosGasto != null)
                    {
                        novo.Gas_Codigo = ParentPage.dadosGasto.Gas_Codigo;
                    }
                    MessagingCenter.Send <Application, Models.GastoModel>(
                        App.Current, "MntDados", novo);

                    // TipoGastoBD tp = new TipoGastoBD();
                    //  bool incluir = TipoGastoBD.InsertUpdateDados(0, "teste");
                    // encerrar tela
                    await pai.Navigation.PopAsync();
                }
            });
            this.DeleteCommand = new Command(async() =>
            {
                if (ParentPage.dadosGasto == 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.GastoModel>(
                            App.Current, "DeleteDados",
                            ParentPage.dadosGasto);
                        // encerrar tela
                        await pai.Navigation.PopAsync();
                    }
                }
            });
        }