Example #1
0
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);

            // Create your application here
            SetContentView(Resource.Layout.AddProduto);

            EditText txtDescricao = FindViewById <EditText>(Resource.Id.txtDescricaoProduto);

            Button btnSalvar = FindViewById <Button>(Resource.Id.btnSalvar);

            btnSalvar.Click += delegate
            {
                if (!string.IsNullOrEmpty(txtDescricao.Text))
                {
                    _uow.BeginTransaction();

                    try
                    {
                        Produto produto = new Produto
                        {
                            Descricao = txtDescricao.Text
                        };

                        if (ProdutoSelecionado == null)
                        {
                            _uow.ProdutoRepository.Add(produto);
                        }
                        else
                        {
                            ProdutoSelecionado.Descricao = txtDescricao.Text;
                            _uow.ProdutoRepository.Update(ProdutoSelecionado);
                        }

                        _uow.CommitTransaction();
                        Finish();
                    }
                    catch (Exception ex)
                    {
                        _uow.RollBackTransaction();
                    }
                }
            };

            if (Intent.GetStringExtra("PRODUTO_EDIT") != null)
            {
                ProdutoSelecionado = JsonConvert.DeserializeObject <Produto>(Intent.GetStringExtra("PRODUTO_EDIT"));

                txtDescricao.Text = ProdutoSelecionado.Descricao;

                Button btnRemover = FindViewById <Button>(Resource.Id.btnRemover);
                btnRemover.Visibility = ViewStates.Visible;
                btnRemover.Click     += delegate
                {
                    _uow.BeginTransaction();
                    _uow.ProdutoRepository.RemoveByPredicate(x => x.Id == ProdutoSelecionado.Id);
                    _uow.CommitTransaction();
                    Finish();
                };
            }
        }