protected void lnkInsProd_Click(object sender, EventArgs e) { if (grdProdutosOrcamento.PageCount > 1) { grdProdutosOrcamento.PageIndex = grdProdutosOrcamento.PageCount - 1; } Controls.ctrlBenef benef = (Controls.ctrlBenef)grdProdutosOrcamento.FooterRow.FindControl("ctrlBenefInserir"); var idOrcamento = Request["IdOrca"].StrParaInt(); var idProduto = (hdfIdProduto?.Value?.StrParaInt()).GetValueOrDefault(); var idAmbiente = hdfIdProdAmbienteOrcamento.Value; var valorVendido = (((TextBox)grdProdutosOrcamento.FooterRow.FindControl("txtValorIns"))?.Text?.StrParaDecimal()).GetValueOrDefault(); var percentualDescontoQuantidade = (((Controls.ctrlDescontoQtde)grdProdutosOrcamento.FooterRow.FindControl("ctrlDescontoQtde"))?.PercDescontoQtde).GetValueOrDefault(); var quantidade = (((TextBox)grdProdutosOrcamento.FooterRow.FindControl("txtQtdeIns"))?.Text?.Replace('.', ',')?.StrParaFloat()).GetValueOrDefault(); var altura = (((TextBox)grdProdutosOrcamento.FooterRow.FindControl("txtAlturaIns"))?.Text?.StrParaFloat()).GetValueOrDefault(); var alturaCalculada = (((HiddenField)grdProdutosOrcamento.FooterRow.FindControl("hdfAlturaCalcIns"))?.Value?.StrParaFloat()).GetValueOrDefault(); var largura = (((TextBox)grdProdutosOrcamento.FooterRow.FindControl("txtLarguraIns"))?.Text?.StrParaInt()).GetValueOrDefault(); var espessura = ((TextBox)grdProdutosOrcamento.FooterRow.FindControl("txtEspessura")).Text.StrParaFloat(); var redondo = (((CheckBox)benef.FindControl("Redondo_chkSelecao"))?.Checked).GetValueOrDefault(); var aliquotaIcms = (((HiddenField)grdProdutosOrcamento.FooterRow.FindControl("hdfAliquotaIcmsProd"))?.Value?.Replace('.', ',')?.StrParaFloat()).GetValueOrDefault(); var valorIcms = (((HiddenField)grdProdutosOrcamento.FooterRow.FindControl("hdfValorIcmsProd"))?.Value?.Replace('.', ',')?.StrParaDecimal()).GetValueOrDefault(); var tipoEntrega = ((HiddenField)dtvOrcamento.FindControl("hdfTipoEntrega")).Value.StrParaInt(); var idCliente = ((HiddenField)dtvOrcamento.FindControl("hdfIdCliente")).Value.StrParaUint(); var idAplicacao = ((HiddenField)grdProdutosOrcamento.FooterRow.FindControl("hdfIdAplicacao"))?.Value?.StrParaInt(); var idProcesso = ((HiddenField)grdProdutosOrcamento.FooterRow.FindControl("hdfIdProcesso"))?.Value?.StrParaInt(); var idProcessoFilha = ((HiddenField)grdProdutosOrcamento.FooterRow.FindControl("hdfIdProcessoFilhos"))?.Value?.StrParaInt(); var idAplicacaoFilha = ((HiddenField)grdProdutosOrcamento.FooterRow.FindControl("hdfIdAplicacaoFilhos"))?.Value?.StrParaInt(); var aplicarBenefComposicao = ((CheckBox)grdProdutosOrcamento.FooterRow.FindControl("chkAplicarBenefFilhos")).Checked; // Cria uma instância da classe ProdutosOrcamento. var produtoOrcamento = new ProdutosOrcamento(); produtoOrcamento.IdOrcamento = (uint)idOrcamento; produtoOrcamento.Qtde = quantidade; produtoOrcamento.ValorProd = valorVendido; produtoOrcamento.PercDescontoQtde = percentualDescontoQuantidade; produtoOrcamento.Altura = altura; produtoOrcamento.AlturaCalc = alturaCalculada; produtoOrcamento.Largura = largura; produtoOrcamento.IdProduto = (uint)idProduto; produtoOrcamento.Espessura = espessura; produtoOrcamento.Redondo = redondo; produtoOrcamento.IdProdParent = idAmbiente.StrParaUint(); produtoOrcamento.IdAplicacao = (uint?)idAplicacao; produtoOrcamento.IdProcesso = (uint?)idProcesso; produtoOrcamento.IdAplicacaoFilhas = idAplicacao; produtoOrcamento.IdProcessoFilhas = idProcesso; produtoOrcamento.AliquotaIcms = aliquotaIcms; produtoOrcamento.ValorIcms = valorIcms; produtoOrcamento.AplicarBenefComposicao = aplicarBenefComposicao; var idLoja = OrcamentoDAO.Instance.ObterIdLoja(null, idOrcamento); if (produtoOrcamento.IdProduto > 0 && LojaDAO.Instance.ObtemCalculaIpiPedido(null, (uint)idLoja) && ClienteDAO.Instance.IsCobrarIpi(null, idCliente)) { produtoOrcamento.AliquotaIpi = ProdutoDAO.Instance.ObtemAliqIpi(produtoOrcamento.IdProduto.Value); } produtoOrcamento.Beneficiamentos = benef.Beneficiamentos; try { // Insere o produto orçamento. produtoOrcamento.IdProd = ProdutosOrcamentoDAO.Instance.Insert(produtoOrcamento); ((HiddenField)grdProdutosOrcamento.FooterRow.FindControl("hdfAlturaCalcIns")).Value = string.Empty; grdProdutosOrcamento.DataBind(); dtvOrcamento.DataBind(); grdProdutosAmbienteOrcamento.DataBind(); if (PedidoConfig.TelaCadastro.ManterCodInternoCampoAoInserirProduto) { ClientScript.RegisterClientScriptBlock(typeof(string), "novoProd", $"ultimoCodProd = '{ ProdutoDAO.Instance.GetCodInterno(null, (int)idProduto) }';", true); } } catch (Exception ex) { MensagemAlerta.ErrorMsg("Falha ao incluir produto no orçamento.", ex, Page); return; } }
protected void ctrlBenef_Load(object sender, EventArgs e) { Controls.ctrlBenef benef = (Controls.ctrlBenef)sender; GridViewRow linhaControle = benef.Parent.Parent as GridViewRow; Control codProd = null; var tipoOrcamento = OrcamentoDAO.Instance.ObterTipoOrcamento(null, Request["idOrca"].StrParaInt()); if (linhaControle.FindControl("lblCodProdIns") != null) { codProd = linhaControle.FindControl("lblCodProdIns"); } else { codProd = linhaControle.FindControl("txtCodProdIns"); } TextBox txtAltura = (TextBox)linhaControle.FindControl("txtAlturaIns"); TextBox txtEspessura = (TextBox)linhaControle.FindControl("txtEspessura"); TextBox txtLargura = (TextBox)linhaControle.FindControl("txtLarguraIns"); HiddenField hdfPercComissao = (HiddenField)dtvOrcamento.FindControl("hdfPercComissao"); TextBox txtQuantidade = (TextBox)linhaControle.FindControl("txtQtdeIns"); HiddenField hdfTipoEntrega = (HiddenField)dtvOrcamento.FindControl("hdfTipoEntrega"); HiddenField hdfTotalM2 = null; if (!Beneficiamentos.UsarM2CalcBeneficiamentos) { if (linhaControle.FindControl("hdfTotM") != null) { hdfTotalM2 = (HiddenField)linhaControle.FindControl("hdfTotM"); } else if (linhaControle.FindControl("hdfTotMIns") != null) { hdfTotalM2 = (HiddenField)linhaControle.FindControl("hdfTotMIns"); } } else { if (linhaControle.FindControl("hdfTotMCalc") != null) { hdfTotalM2 = (HiddenField)linhaControle.FindControl("hdfTotMCalc"); } else if (linhaControle.FindControl("hdfTotMCalcIns") != null) { hdfTotalM2 = (HiddenField)linhaControle.FindControl("hdfTotMCalcIns"); } } TextBox txtValorIns = (TextBox)linhaControle.FindControl("txtValorIns"); HiddenField hdfCliRevenda = (HiddenField)dtvOrcamento.FindControl("hdfCliRevenda"); HiddenField hdfIdCliente = (HiddenField)dtvOrcamento.FindControl("hdfIdCliente"); HiddenField hdfCustoProd = (HiddenField)linhaControle.FindControl("hdfCustoProd"); benef.CampoAltura = txtAltura; benef.CampoEspessura = txtEspessura; benef.CampoLargura = txtLargura; benef.CampoPercComissao = hdfPercComissao; benef.CampoQuantidade = txtQuantidade; benef.CampoTipoEntrega = hdfTipoEntrega; benef.CampoTotalM2 = hdfTotalM2; benef.CampoValorUnitario = txtValorIns; benef.CampoCusto = hdfCustoProd; benef.CampoProdutoID = codProd; benef.CampoRevenda = hdfCliRevenda; benef.CampoClienteID = hdfIdCliente; benef.CampoAplicacaoID = linhaControle.FindControl("hdfIdAplicacao"); benef.CampoProcessoID = linhaControle.FindControl("hdfIdProcesso"); benef.CampoAplicacao = linhaControle.FindControl("txtAplIns"); benef.CampoProcesso = linhaControle.FindControl("txtProcIns"); benef.TipoBenef = TipoBenef.Venda; }