コード例 #1
0
        public IHttpActionResult Post(Pedido pedido)
        {
            var mensagens = new List <string>();

            if (pedido == null)
            {
                return(BadRequest("O Pedido não pode ser nulo"));
            }
            if (!pedido.Validar(out mensagens))
            {
                return(BadRequest(string.Join(" - ", mensagens)));
            }
            var mensagem = "";

            foreach (ItemPedido item in pedido.Itens)
            {
                if (!item.Validar(out mensagem))
                {
                    mensagens.Add(mensagem);
                }
                Produto produto = _produtoRepositorio.Obter(item.ProdutoId);
                if (produto != null)
                {
                    var novoEstoque = produto.Estoque - item.Quantidade;
                    if (novoEstoque >= 0)
                    {
                        Produto produtoAlterado = new Produto(produto.Id, produto.Nome, produto.Preco, novoEstoque);
                        _produtoRepositorio.Alterar(produtoAlterado);
                    }
                    else
                    {
                        mensagens.Add("Estoque com quantidade insuficiente do produto de ID " + produto.Id);
                    }
                }
                else
                {
                    mensagens.Add("Produto de Id " + item.ProdutoId + " é inválido");
                }
            }
            if (mensagens.Count > 0)
            {
                return(BadRequest(string.Join(" - ", mensagens)));
            }
            _pedidoRepositorio.Criar(pedido);
            return(Ok(pedido));
        }
コード例 #2
0
        public ActionResult Alterar(ProdutoViewModel produto)
        {
            if (ModelState.IsValid)
            {
                var pro = Mapper.Map <ProdutoViewModel, Produto>(produto);
                _produtoRep.Alterar(pro);
            }

            return(RedirectToAction("Index"));
        }
コード例 #3
0
        public IHttpActionResult Put(Produto produto)
        {
            var mensagens = new List<string>();

            if (!produto.Validar(out mensagens))
                return BadRequest(string.Join(".", mensagens.ToArray()));

            _produtoRepositorio.Alterar(produto);

            return Ok(produto);
        }
コード例 #4
0
        public IHttpActionResult Put(Produto produto)
        {
            List <string> listaErros;

            if (!produto.validar(out listaErros))
            {
                return(BadRequest(string.Join(".\n", listaErros.ToArray())));
            }
            repositorio.Alterar(produto);
            return(Ok(produto));
        }
コード例 #5
0
        private void btnSalvar_Click(object sender, EventArgs e)
        {
            Enum.TryParse <Situacao>(cboStatus.SelectedValue.ToString(), out situacao);
            int valueSituacao = (int)situacao;

            errorProvider1.Clear();
            if (txtDescricao.Text == string.Empty)
            {
                errorProvider1.SetError(txtDescricao, "Informe a descrição do produto.");
                return;
            }
            if (txtValor.Text == string.Empty)
            {
                errorProvider1.SetError(txtValor, "Informe o valor do produto.");
                return;
            }
            if (cboStatus.Text == string.Empty)
            {
                errorProvider1.SetError(cboStatus, "Informe o status do produto.");
                return;
            }

            ProdutoRepositorio <Produto> produtoRepo = new ProdutoRepositorio <Produto>();

            try
            {
                Produto produto = new Produto();

                produto.Id        = idProduto;
                produto.Codigo    = txtCodigo.Text.Trim();
                produto.Descricao = txtDescricao.Text;
                produto.Valor     = Convert.ToDecimal(txtValor.Text);
                //produto.Status = RetornaStatusConsulta.retornaStatusInclusao(cboStatus.Text);
                produto.Status = situacao;

                if (produto.Id == 0)
                {
                    produtoRepo.Inserir(produto);
                    MessageBox.Show("Cadastro realizado com sucesso!", "Sucesso", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    this.Close();
                }
                else
                {
                    produtoRepo.Alterar(produto);
                    MessageBox.Show("Alteração realizada com sucesso", "Sucesso", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    this.Close();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Erro na operação " + ex.Message, "Erro", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
        }
コード例 #6
0
        public ActionResult Alterar(Produto produto)
        {
            if (ModelState.IsValid)
            {
                produtorepositorio.Alterar(produto);

                var produtos = produtorepositorio.RetornaProduto();

                return(View("Index", produtos));
            }
            else
            {
                return(View());
            }
        }
コード例 #7
0
        public IHttpActionResult Put(int id, Produto produto)
        {
            // valida produto
            var mensagens = new List <string>();

            if (!produto.Validar(out mensagens))
            {
                return(BadRequest(string.Join(" ", mensagens)));
            }

            // insere produto
            produto.Id = id;
            produtoRepositorio.Alterar(produto);
            return(Ok(produto));
        }
コード例 #8
0
        public IHttpActionResult Alterar(int id, Produto p)
        {
            p.Id = id;
            List <string> msg = null;

            if (p.Validar(out msg) == false)
            {
                return(BadRequest(String.Join(" ", msg)));
            }

            if (repo.Alterar(p) == true)
            {
                return(Ok(p));
            }
            else
            {
                return(BadRequest("Produto não encontrado."));
            }
        }
コード例 #9
0
        public IHttpActionResult Put(Produto produto)
        {
            _produtoRepositorio.Alterar(produto);

            return(Ok(produto));
        }
コード例 #10
0
        private void btnCadastrar_Click(object sender, EventArgs e)
        {
            try
            {
                switch (_tipoOperacao)
                {
                case EnumTipoOperacao.Salvar:
                    if (VerificarTxtNulos() == 0)
                    {
                        InstanciarProdutoRepositorio();
                        Produto prod = PupularProduto();
                        if (prod.Categoria == 0)
                        {
                            MyErro.MyCustomException("Categoria é obrigatório.");
                        }
                        else
                        {
                            if (_produtoRepositorio.Salvar(prod) == Sucesso)
                            {
                                MensagemDeAviso("Produto salvo com sucesso.");
                                PosSalvamento();
                            }
                        }
                    }
                    else
                    {
                        MyErro.MyCustomException("Todos os campos em amarelo são obrigatórios.");
                    }
                    break;

                case EnumTipoOperacao.Alterar:

                    if (VerificarTxtNulos() == 0)
                    {
                        InstanciarProdutoRepositorio();
                        if (_produtoRepositorio.Alterar(PupularProduto()) == Sucesso)
                        {
                            MensagemDeAviso("Produto alterado com sucesso.");
                            PosSalvamento();
                        }
                    }
                    else
                    {
                        MyErro.MyCustomException("Todos os campos em amarelo são obrigatórios.");
                    }
                    break;

                case EnumTipoOperacao.Deletar:
                    if (VerificarTxtNulos() == 0)
                    {
                        InstanciarProdutoRepositorio();
                        if (_produtoRepositorio.Deletar(PupularProduto()) == Sucesso)
                        {
                            MensagemDeAviso("Produto deletado com sucesso.");
                            PosSalvamento();
                        }
                    }
                    else
                    {
                        MyErro.MyCustomException("Todos os campos em amarelo são obrigatórios.");
                    }
                    break;

                case EnumTipoOperacao.Detalhes:
                    FecharForm();
                    break;

                case EnumTipoOperacao.Estoque:
                    if (VerificarTxtNulos() == 0)
                    {
                        InstanciarProdutoRepositorio();
                        if (Usuarios.PermissaoStatic == "Caixa")
                        {
                            if (_produtoRepositorio.GetQuantidadeNoEstoque(_produto) > Convert.ToInt32(txtEstoque.Text))
                            {
                                txtEstoque.LimparTxt();
                                txtEstoque.Text = _produtoRepositorio.GetQuantidadeNoEstoque(_produto).ToString();
                                FocarNoTxt(txtEstoque);
                                MyErro.MyCustomException("Usuário com a Permissão CAIXA não pode retirar produtos do estoque");
                            }
                        }

                        if (_produtoRepositorio.Alterar(PupularProduto()) == Sucesso)
                        {
                            MensagemDeAviso("Estoque alterado com sucesso.");
                            PosSalvamento();
                        }
                    }
                    else
                    {
                        MyErro.MyCustomException("Todos os campos em amarelo são obrigatórios.");
                    }
                    break;

                case EnumTipoOperacao.ListView:
                    if (DialogMessage.MessageFullQuestion("Deseja deletar esse item da comanda?", "Aviso") == DialogResult.Yes)
                    {
                        PosSalvamento();
                    }
                    break;
                }
            }
            catch (CustomException erro)
            {
                DialogMessage.MessageFullComButtonOkIconeDeInformacao(erro.Message, "Aviso");
            }
            catch (Exception erro)
            {
                DialogMessage.MessageComButtonOkIconeErro(erro.Message, "Erro");
            }
        }