示例#1
0
        protected void RptItensPedido_ItemCommand(object source, RepeaterCommandEventArgs e)
        {
            try
            {
                if (e.CommandName == "Remover")
                {
                    ProdutoModel oProduto = new ProdutoModel();

                    int?Codigo = UTIL.UTIL.Parse <int?>(((HiddenField)e.Item.FindControl("Codigo")).Value);

                    oProduto.Descricao         = ((Label)e.Item.FindControl("DescricaoProduto")).Text;
                    oProduto.Codigo            = UTIL.UTIL.Parse <int>(((HiddenField)e.Item.FindControl("Codigo_Produto")).Value);
                    oProduto.QuantidadeEstoque = UTIL.UTIL.Parse <int>(((Label)e.Item.FindControl("txQuantidade")).Text);
                    oProduto.PrecoVenda        = UTIL.UTIL.Parse <decimal>(((Label)e.Item.FindControl("txValorUnitario")).Text);

                    List <Pedido_ProdutosModel> ListProdutos = (List <Pedido_ProdutosModel>)ViewState["oItensProduto"];

                    if (Codigo != null) //ALTERA ESTOQUE
                    {
                        DivAvisoItensPedido.Visible = true;
                        AvisoItensPedido.Text       = "Não é possível realizar alterações no pedido pois o mesmo já está concluído!";
                        return;
                    }

                    if (ListProdutos.Count > 0)
                    {
                        foreach (Pedido_ProdutosModel p in ListProdutos)
                        {
                            if ((p.Codigo_Produto == oProduto.Codigo) && (p.Quantidade == oProduto.QuantidadeEstoque) && (p.ValorUnitario == oProduto.PrecoVenda))
                            {
                                ListProdutos.Remove(p);
                                break;
                            }
                        }
                    }

                    RptItensPedido.DataSource = ListProdutos;
                    RptItensPedido.DataBind();

                    ViewState["oItensProduto"] = ListProdutos;
                    UpdPanelTableItens.Update();
                }
            }
            catch (Exception ex)
            {
                DivAvisoItensPedido.Visible = true;
                AvisoItensPedido.Text       = "Ocorreu um erro ao deletar o produto do pedido.";
            }
        }
示例#2
0
        protected void btnExcluir_Click(object sender, EventArgs e)
        {
            try
            {
                using (TransactionScope tran = new TransactionScope())
                {
                    int CodPedido = (int.Parse(CodigoPedido.Text));

                    new PedidoNegocios().AlterarStatus(new PedidoModel {
                        Codigo = CodPedido, Status = 0
                    });

                    List <Pedido_ProdutosModel> oList_Produtos = new List <Pedido_ProdutosModel>();
                    oList_Produtos = new PedidoNegocios().ListarProdutoPedido(new Pedido_ProdutosModel {
                        Codigo_Pedido = CodPedido
                    });
                    foreach (Pedido_ProdutosModel P in oList_Produtos)
                    {
                        if ((P.TipoPedido == (int)PedidoModel.TipoPedido.Compra))
                        {
                            P.Quantidade = -1 * P.Quantidade;
                        }

                        //ALTERA ESTOQUE
                        string msgErro = new ProdutoNegocios().AlterarEstoque((int)P.Codigo_Produto, (int)P.Quantidade);
                        if (msgErro != "OK")
                        {
                            ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "Erro_Excluir", "$(document).MensagemModal(3,'" + msgErro + "');", true);
                            UpdPanelTableItens.Update();
                            tran.Dispose();
                            return;
                        }
                    }
                    tran.Complete();
                }

                Response.Redirect("PedidoCad.aspx?Pedido=" + CodigoPedido.Text, false);
            }
            catch (Exception ex)
            {
                ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "Erro_Excluir", "$(document).MensagemModal(3,'Ocorreu um erro ao excluir o pedido.');", true);
            }
        }
示例#3
0
        protected void btnSalvar_Click(object sender, EventArgs e)
        {
            try
            {
                if (ValidaCampos())
                {
                    using (TransactionScope tran = new TransactionScope())
                    {
                        PedidoModel model = new PedidoModel();

                        if ((!string.IsNullOrEmpty(CodigoPedido.Text)) && (CodigoPedido.Text != "0"))
                        {
                            model.Codigo = UTIL.UTIL.Parse <int>(CodigoPedido.Text);
                        }

                        model.Tipo = UTIL.UTIL.Parse <int>(cmbTipoPedido.SelectedValue);

                        if (!string.IsNullOrEmpty(txtObs.Text))
                        {
                            model.Observacao = txtObs.Text;
                        }

                        model.Codigo_Funcionario = UTIL.UTIL.Parse <int>(CodigoFunc.Value);
                        model.DataCriacao        = DateTime.Now;

                        PedidoNegocios Pedidos_N = new PedidoNegocios();
                        model = Pedidos_N.Salvar(model);

                        //ITENS PEDIDO
                        List <Pedido_ProdutosModel> ListProdutos = (List <Pedido_ProdutosModel>)ViewState["oItensProduto"];
                        if (ListProdutos.Count > 0)
                        {
                            foreach (Pedido_ProdutosModel P in ListProdutos)
                            {
                                if (P.Codigo == null)
                                {
                                    int quant = (int)P.Quantidade;
                                    if ((model.Tipo == (int)PedidoModel.TipoPedido.Venda) || (model.Tipo == (int)PedidoModel.TipoPedido.Atendimento))
                                    {
                                        quant = -1 * quant;
                                    }

                                    //ALTERA ESTOQUE
                                    string msgErro = new ProdutoNegocios().AlterarEstoque((int)P.Codigo_Produto, quant);
                                    if (msgErro != "OK")
                                    {
                                        ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "Erro_Salvar", "$(document).MensagemModal(3,'" + msgErro + "');", true);
                                        UpdPanelTableItens.Update();
                                        tran.Dispose();
                                        return;
                                    }
                                    else
                                    {
                                        Pedido_ProdutosModel oPedido_Produtos = new Pedido_ProdutosModel();
                                        oPedido_Produtos.Codigo_Pedido  = model.Codigo;
                                        oPedido_Produtos.Codigo_Produto = P.Codigo_Produto;
                                        oPedido_Produtos.Quantidade     = P.Quantidade;
                                        oPedido_Produtos.ValorUnitario  = P.ValorUnitario;

                                        new PedidoNegocios().IncluirProdutoPedido(oPedido_Produtos);
                                    }
                                }
                            }
                        }

                        tran.Complete();
                        Response.Redirect("PedidoCad.aspx?Pedido=" + model.Codigo.ToString(), false);
                    }
                }
            }
            catch (Exception ex)
            {
            }
        }