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); }
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; } }
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>"); } } }