Beispiel #1
0
        protected void ctrlBenef_Load(object sender, EventArgs e)
        {
            Glass.UI.Web.Controls.ctrlBenef benef = (Glass.UI.Web.Controls.ctrlBenef)sender;
            GridViewRow    linhaControle          = benef.Parent.Parent as GridViewRow;
            ProdutosCompra pc = linhaControle.DataItem as ProdutosCompra;

            Control codProd = null;

            if (linhaControle.FindControl("lblCodProdIns") != null)
            {
                codProd = linhaControle.FindControl("lblCodProdIns");
            }
            else
            {
                codProd = linhaControle.FindControl("hdfCodProd");
            }

            TextBox     txtAltura     = (TextBox)linhaControle.FindControl("txtAlturaIns");
            TextBox     txtEspessura  = (TextBox)linhaControle.FindControl("txtEspessura");
            TextBox     txtLargura    = (TextBox)linhaControle.FindControl("txtLarguraIns");
            TextBox     txtQuantidade = (TextBox)linhaControle.FindControl("txtQtdeIns");
            TextBox     txtTotalM2    = (TextBox)linhaControle.FindControl("txtTotM2");
            TextBox     txtValorIns   = (TextBox)linhaControle.FindControl("txtValorIns");
            HiddenField hdfCustoProd  = (HiddenField)linhaControle.FindControl("hdfCustoProd");

            benef.CampoAltura        = txtAltura;
            benef.CampoEspessura     = txtEspessura;
            benef.CampoLargura       = txtLargura;
            benef.CampoQuantidade    = txtQuantidade;
            benef.CampoTotalM2       = txtTotalM2;
            benef.CampoValorUnitario = txtValorIns;
            benef.CampoProdutoID     = codProd;
            benef.CampoCusto         = hdfCustoProd;
        }
        protected void btn_CadastrarProduto_Click(object sender, EventArgs e)
        {
            ProdutosCompra pCompra;

            compra                = new Compra();
            compra.cnpjOficina    = funcionario.cnpjOficina;
            compra.cpfFuncionario = funcionario.cpf;
            if (fornecedor != null)
            {
                compra.idFornecedor = fornecedor.idFornecedor;
            }

            if (listaProdutos != null && listaProdutos.Count > 0)
            {
                foreach (Produto p in listaProdutos)
                {
                    pCompra = new ProdutosCompra()
                    {
                        idProduto  = p.idProduto,
                        idCompra   = 0,
                        quantidade = p.quantidade
                    };
                    compra.ProdutosCompra.Add(pCompra);
                }
            }
            Session["compra"] = compra;
            Response.Redirect("produto_Cadastro.aspx", false);
        }
Beispiel #3
0
        protected void lnkInsProd_Click(object sender, EventArgs e)
        {
            Glass.UI.Web.Controls.ctrlBenef benef = (Glass.UI.Web.Controls.ctrlBenef)grdProdutos.FooterRow.FindControl("ctrlBenefInserir");
            var produto = grdProdutos.FooterRow.FindControl("ctrlSelProd") as Glass.UI.Web.Controls.ctrlSelProduto;

            // Cria uma instância do ProdutosPedido
            Produto        prod       = ProdutoDAO.Instance.GetElement(produto.IdProd.GetValueOrDefault());
            ProdutosCompra prodCompra = new ProdutosCompra();

            prodCompra.IdCompra = Glass.Conversoes.StrParaUint(Request["IdCompra"]);
            prodCompra.Qtde     = Glass.Conversoes.StrParaFloat(((TextBox)grdProdutos.FooterRow.FindControl("txtQtdeIns")).Text);
            prodCompra.Valor    = Glass.Conversoes.StrParaDecimal(((TextBox)grdProdutos.FooterRow.FindControl("txtValorIns")).Text);
            prodCompra.IdProd   = (uint)prod.IdProd;
            prodCompra.DescricaoItemGenerico = produto.DescricaoItemGenerico;
            prodCompra.Altura          = Glass.Conversoes.StrParaFloat(((TextBox)grdProdutos.FooterRow.FindControl("txtAlturaIns")).Text);
            prodCompra.Largura         = Glass.Conversoes.StrParaInt(((TextBox)grdProdutos.FooterRow.FindControl("txtLarguraIns")).Text);
            prodCompra.TotM            = Glass.Conversoes.StrParaFloat(((TextBox)grdProdutos.FooterRow.FindControl("txtTotM2")).Text);
            prodCompra.Espessura       = Glass.Conversoes.StrParaFloat(((TextBox)grdProdutos.FooterRow.FindControl("txtEspessura")).Text);
            prodCompra.Obs             = ((TextBox)grdProdutos.FooterRow.FindControl("txtObsIns")).Text;
            prodCompra.Beneficiamentos = benef.Beneficiamentos;
            prodCompra.NaoCobrarVidro  = ((CheckBox)grdProdutos.FooterRow.FindControl("chkNaoCobrarVidro")).Checked;

            try
            {
                ProdutosCompraDAO.Instance.Insert(prodCompra);
                grdProdutos.DataBind();
                dtvCompra.DataBind();

                grdProdutos.PageIndex = grdProdutos.PageCount - 1;
            }
            catch (Exception ex)
            {
                Glass.MensagemAlerta.ErrorMsg("Falha ao incluir produto na Compra.", ex, Page);
                return;
            }
        }
Beispiel #4
0
        public void CompraPcpInserted(uint idCompra, string[] dadosProdutos)
        {
            ProdutosPedidoEspelho prodPed;
            ProdutosCompra        prodCompra;

            uint idFornec = CompraDAO.Instance.ObtemIdFornec(idCompra);

            foreach (string produtos in dadosProdutos)
            {
                string[] dados = produtos.Split(';');
                prodPed = ProdutosPedidoEspelhoDAO.Instance.GetElementForCompraPcp(Glass.Conversoes.StrParaUint(dados[0]));

                var prod = ProdutoDAO.Instance.GetByCodInterno(dados[1]);

                if (prod == null)
                {
                    throw new System.Exception(string.Format("O produto de código {0} está inativo, portanto, ative-o para gerar uma compra de mercadoria para ele.", dados[1]));
                }

                bool apenasBeneficiamentos = bool.Parse(dados[4]);

                prodCompra           = new ProdutosCompra();
                prodCompra.IdCompra  = idCompra;
                prodCompra.IdProdPed = prodPed.IdProdPed;

                decimal precoForn   = ProdutoFornecedorDAO.Instance.GetCustoCompra((int)idFornec, prod.IdProd);
                decimal custoCompra = precoForn > 0 ? precoForn : prod.Custofabbase > 0 ? prod.Custofabbase : prod.CustoCompra;
                prodCompra.Valor = custoCompra;

                prodCompra.IdProd         = (uint)prod.IdProd;
                prodCompra.Qtde           = float.Parse(dados[2]);
                prodCompra.Largura        = prodPed.LarguraProducao;
                prodCompra.Altura         = prodPed.AlturaProducao;
                prodCompra.TotM           = Glass.Global.CalculosFluxo.ArredondaM2Compra((int)prodPed.LarguraProducao, (int)prodPed.AlturaProducao, (int)prodCompra.Qtde);
                prodCompra.Redondo        = prodPed.Redondo;
                prodCompra.Espessura      = prodPed.Espessura > 0 ? prodPed.Espessura : prod.Espessura;
                prodCompra.NaoCobrarVidro = apenasBeneficiamentos;
                prodCompra.Obs            = prodPed.Obs;

                if (dados[3].Length > 0)
                {
                    List <uint> ids = new List <uint>();
                    foreach (string s in dados[3].Split(','))
                    {
                        ids.Add(Glass.Conversoes.StrParaUint(s));
                    }

                    GenericBenefCollection beneficiamentos = new GenericBenefCollection();
                    foreach (GenericBenef b in prodPed.Beneficiamentos)
                    {
                        if (ids.Contains(b.IdBenefConfig))
                        {
                            b.Valor     = b.Custo;
                            b.ValorUnit = BenefConfigPrecoDAO.Instance.ObtemCustoBenef(null, b.IdBenefConfig, prodCompra.Espessura);

                            beneficiamentos.Add(b);
                        }
                    }

                    prodCompra.Beneficiamentos = beneficiamentos;
                }

                ProdutosCompraDAO.Instance.Insert(prodCompra);
            }
        }
        protected void btn_ConcluirCompra_Click(object sender, EventArgs e)
        {
            if (fornecedor == null)
            {
                pnl_Concluir.Visible   = true;
                lbl_AlertConcluir.Text = "Selecione um fornecedor para concluir a compra";
            }
            else if (listaProdutos == null || listaProdutos.Count <= 0)
            {
                pnl_Concluir.Visible   = true;
                lbl_AlertConcluir.Text = "Selecione ao menos 1 roduto para concluir a compra";
            }
            else if (funcionario == null)
            {
                Session["compra"] = null;
                Response.Redirect("home.aspx", false);
            }
            else if (fornecedor == null)
            {
                pnl_Concluir.Visible   = true;
                lbl_AlertConcluir.Text = "Erro com fornecedor selecionado";
            }
            else
            {
                try
                {
                    using (var context = new DatabaseEntities())
                    {
                        compra = new Compra()
                        {
                            cnpjOficina    = funcionario.cnpjOficina,
                            data           = DateTime.Now,
                            idFornecedor   = fornecedor.idFornecedor,
                            cpfFuncionario = funcionario.cpf
                        };
                        context.Compra.Add(compra);
                        context.SaveChanges();

                        ProdutosCompra pCompra;
                        //pnl_Concluir.Visible = false;
                        foreach (Produto produto in listaProdutos)
                        {
                            pCompra = new ProdutosCompra()
                            {
                                idCompra   = compra.idCompra,
                                idProduto  = produto.idProduto,
                                quantidade = produto.quantidade
                            };

                            context.ProdutosCompra.Add(pCompra);
                            context.SaveChanges();

                            //Se o produto ja tiver quantidade, tem que adicionar a quantidade do produto
                            context.Produto.Where(p => p.idProduto == produto.idProduto).FirstOrDefault().quantidade += produto.quantidade;
                            context.SaveChanges();
                        }

                        Session["compra"] = null;
                        listaProdutos.Clear();
                        fornecedor = null;
                        compra     = null;
                        Response.Redirect("compra_Lista.aspx", false);
                    }
                }
                catch (Exception ex)
                {
                    Response.Write("<script>alert('" + ex.Message + "');</script>");
                }
            }
        }