protected void grdAmbiente_RowCommand(object sender, GridViewCommandEventArgs e) { grdAmbiente.ShowFooter = e.CommandName != "Edit"; if (e.CommandName == "ViewProd") { // Mostra os produtos relacionado ao ambiente selecionado hdfIdAmbiente.Value = e.CommandArgument.ToString(); grdProdutos.Visible = true; grdProdutos.DataBind(); // Mostra no label qual ambiente está sendo incluido produtos AmbientePedidoEspelho ambiente = AmbientePedidoEspelhoDAO.Instance.GetElementByPrimaryKey(Glass.Conversoes.StrParaUint(hdfIdAmbiente.Value)); lblAmbiente.Text = ambiente.Ambiente; hdfAlturaAmbiente.Value = !IsPedidoMaoDeObra() ? "" : ambiente.Altura.Value.ToString(); hdfLarguraAmbiente.Value = !IsPedidoMaoDeObra() ? "" : ambiente.Largura.Value.ToString(); hdfQtdeAmbiente.Value = !IsPedidoMaoDeObra() ? "1" : ambiente.Qtde.Value.ToString(); hdfRedondoAmbiente.Value = !IsPedidoMaoDeObra() ? "" : ambiente.Redondo.ToString().ToLower(); } else if (e.CommandName == "Update") { Glass.Validacoes.DisableRequiredFieldValidator(Page); } }
protected void btnConfirmar_Click(object sender, EventArgs e) { try { var idPedido = Glass.Conversoes.StrParaUint(Request["idPedido"]); var pcp = !string.IsNullOrEmpty(Request["pcp"]) ? Request["pcp"] == "true" : false; // Recupera os dados da mão de obra var idProdMaoObra = Glass.Conversoes.StrParaUint(hdfIdProdMaoObra.Value); int qtdeMaoObra = Glass.Conversoes.StrParaInt(txtQtdeMaoObra.Text); var valorMaoObra = Glass.Conversoes.StrParaDecimal(txtValorUnitMaoObra.Text); var tipoCalcMaoObra = Glass.Conversoes.StrParaInt(hdfTipoCalcMaoObra.Value); var alturaBenef = !string.IsNullOrEmpty(drpAltBenef.SelectedValue) ? Glass.Conversoes.StrParaInt(drpAltBenef.SelectedValue) : 0; var larguraBenef = !string.IsNullOrEmpty(drpLargBenef.SelectedValue) ? Glass.Conversoes.StrParaInt(drpLargBenef.SelectedValue) : 0; var espBenef = !string.IsNullOrEmpty(txtEspBenef.Text) ? (int?)Glass.Conversoes.StrParaInt(txtEspBenef.Text) : null; for (var i = 1; i <= 10; i++) { var idProdAmbiente = (HiddenField)Master.FindControl("pagina").FindControl("hdfAmbIdProd" + i) != null? Glass.Conversoes.StrParaUint(((HiddenField)Master.FindControl("pagina").FindControl("hdfAmbIdProd" + i)).Value) : 0; if (idProdAmbiente == 0) { continue; } var codAmbiente = (TextBox)Master.FindControl("pagina").FindControl("txtCodAmb" + i) != null ? ((TextBox)Master.FindControl("pagina").FindControl("txtCodAmb" + i)).Text : ""; var descrAmbiente = (HiddenField)Master.FindControl("pagina").FindControl("hdfDescrAmb" + i) != null ? ((HiddenField)Master.FindControl("pagina").FindControl("hdfDescrAmb" + i)).Value : ""; var qtdeAmbiente = (TextBox)Master.FindControl("pagina").FindControl("txtQtde" + i) != null? Glass.Conversoes.StrParaInt(((TextBox)Master.FindControl("pagina").FindControl("txtQtde" + i)).Text) : 0; var alturaAmbiente = (TextBox)Master.FindControl("pagina").FindControl("txtAltura" + i) != null? Glass.Conversoes.StrParaInt(((TextBox)Master.FindControl("pagina").FindControl("txtAltura" + i)).Text) : 0; var larguraAmbiente = (TextBox)Master.FindControl("pagina").FindControl("txtLargura" + i) != null? Glass.Conversoes.StrParaInt(((TextBox)Master.FindControl("pagina").FindControl("txtLargura" + i)).Text) : 0; var idAplicacao = (HiddenField)Master.FindControl("pagina").FindControl("hdfIdAplicacao" + i) != null? Glass.Conversoes.StrParaUintNullable(((HiddenField)Master.FindControl("pagina").FindControl("hdfIdAplicacao" + i)).Value) : 0; var idProcesso = (HiddenField)Master.FindControl("pagina").FindControl("hdfIdProcesso" + i) != null? Glass.Conversoes.StrParaUintNullable(((HiddenField)Master.FindControl("pagina").FindControl("hdfIdProcesso" + i)).Value) : 0; var redondoAmbiente = (CheckBox)Master.FindControl("pagina").FindControl("chkRedondo" + i) != null ? ((CheckBox)Master.FindControl("pagina").FindControl("chkRedondo" + i)).Checked : false; var idAmbiente = new uint(); // Insere o ambiente if (!pcp) { var novo = new AmbientePedido(); novo.IdPedido = idPedido; novo.IdProd = idProdAmbiente; novo.Ambiente = descrAmbiente; novo.Altura = alturaAmbiente; novo.Largura = larguraAmbiente; novo.Qtde = qtdeAmbiente; novo.IdAplicacao = idAplicacao; novo.IdProcesso = idProcesso; novo.Redondo = redondoAmbiente; if (novo.Altura != novo.Largura && redondoAmbiente) { throw new Exception("O beneficiamento Redondo pode ser marcado somente em peças de medidas iguais."); } idAmbiente = AmbientePedidoDAO.Instance.InsertComTransacao(novo); } else { var novo = new AmbientePedidoEspelho(); novo.IdPedido = idPedido; novo.IdProd = idProdAmbiente; novo.Ambiente = descrAmbiente; novo.Altura = alturaAmbiente; novo.Largura = larguraAmbiente; novo.Qtde = qtdeAmbiente; novo.Redondo = redondoAmbiente; if (novo.Altura != novo.Largura && redondoAmbiente) { throw new Exception("O beneficiamento Redondo pode ser marcado somente em peças de medidas iguais."); } idAmbiente = AmbientePedidoEspelhoDAO.Instance.InsertComTransacao(novo); } if (idAmbiente <= 0) { throw new Exception("Ambiente não cadastrado."); } // Insere a mão de obra no ambiente if (!pcp) { ProdutosPedido prod = new ProdutosPedido(); prod.IdPedido = idPedido; prod.IdAmbientePedido = idAmbiente; prod.IdProd = idProdMaoObra; prod.Qtde = qtdeMaoObra; prod.ValorVendido = valorMaoObra; if (tipoCalcMaoObra == (int)Glass.Data.Model.TipoCalculoGrupoProd.M2 || tipoCalcMaoObra == (int)Glass.Data.Model.TipoCalculoGrupoProd.M2Direto || tipoCalcMaoObra == (int)Glass.Data.Model.TipoCalculoGrupoProd.Perimetro) { prod.Altura = alturaAmbiente; prod.Largura = larguraAmbiente; } prod.Espessura = ProdutoDAO.Instance.ObtemEspessura((int)prod.IdProd); prod.AlturaBenef = alturaBenef; prod.LarguraBenef = larguraBenef; prod.EspessuraBenef = espBenef; prod.IdGrupoProd = (uint)ProdutoDAO.Instance.ObtemIdGrupoProd((int)prod.IdProd); prod.IdSubgrupoProd = (uint)ProdutoDAO.Instance.ObtemIdSubgrupoProd((int)prod.IdProd).GetValueOrDefault(0); ProdutosPedidoDAO.Instance.Insert(prod); } else { ProdutosPedidoEspelho prod = new ProdutosPedidoEspelho(); prod.IdPedido = idPedido; prod.IdAmbientePedido = idAmbiente; prod.IdProd = idProdMaoObra; prod.Qtde = qtdeMaoObra * qtdeAmbiente; prod.ValorVendido = valorMaoObra; if (tipoCalcMaoObra == (int)Glass.Data.Model.TipoCalculoGrupoProd.M2 || tipoCalcMaoObra == (int)Glass.Data.Model.TipoCalculoGrupoProd.M2Direto || tipoCalcMaoObra == (int)Glass.Data.Model.TipoCalculoGrupoProd.Perimetro) { prod.Altura = alturaAmbiente; prod.Largura = larguraAmbiente; } prod.Espessura = ProdutoDAO.Instance.ObtemEspessura((int)prod.IdProd); prod.AlturaBenef = alturaBenef; prod.LarguraBenef = larguraBenef; prod.EspessuraBenef = espBenef; prod.IdGrupoProd = (uint)ProdutoDAO.Instance.ObtemIdGrupoProd((int)prod.IdProd); prod.IdSubgrupoProd = (uint)ProdutoDAO.Instance.ObtemIdSubgrupoProd((int)prod.IdProd).GetValueOrDefault(0); ProdutosPedidoEspelhoDAO.Instance.InsertComTransacao(prod); } } // Limpa os controles dos ambientes for (var i = 1; i <= 10; i++) { if ((TextBox)Master.FindControl("pagina").FindControl("txtCodAmb" + i) != null) { ((TextBox)Master.FindControl("pagina").FindControl("txtCodAmb" + i)).Text = ""; } if ((HiddenField)Master.FindControl("pagina").FindControl("hdfAmbIdProd" + i) != null) { ((HiddenField)Master.FindControl("pagina").FindControl("hdfAmbIdProd" + i)).Value = ""; } if ((Label)Master.FindControl("pagina").FindControl("lblDescrAmb" + i) != null) { ((Label)Master.FindControl("pagina").FindControl("lblDescrAmb" + i)).Text = ""; } if ((HiddenField)Master.FindControl("pagina").FindControl("hdfDescrAmb" + i) != null) { ((HiddenField)Master.FindControl("pagina").FindControl("hdfDescrAmb" + i)).Value = ""; } if ((TextBox)Master.FindControl("pagina").FindControl("txtQtde" + i) != null) { ((TextBox)Master.FindControl("pagina").FindControl("txtQtde" + i)).Text = ""; } if ((TextBox)Master.FindControl("pagina").FindControl("txtAltura" + i) != null) { ((TextBox)Master.FindControl("pagina").FindControl("txtAltura" + i)).Text = ""; } if ((TextBox)Master.FindControl("pagina").FindControl("txtLargura" + i) != null) { ((TextBox)Master.FindControl("pagina").FindControl("txtLargura" + i)).Text = ""; } if ((TextBox)Master.FindControl("pagina").FindControl("txtProcIns" + i) != null) { ((TextBox)Master.FindControl("pagina").FindControl("txtProcIns" + i)).Text = ""; } if ((HiddenField)Master.FindControl("pagina").FindControl("hdfIdProcesso" + i) != null) { ((HiddenField)Master.FindControl("pagina").FindControl("hdfIdProcesso" + i)).Value = ""; } if ((TextBox)Master.FindControl("pagina").FindControl("txtAplIns" + i) != null) { ((TextBox)Master.FindControl("pagina").FindControl("txtAplIns" + i)).Text = ""; } if ((HiddenField)Master.FindControl("pagina").FindControl("hdfIdAplicacao" + i) != null) { ((HiddenField)Master.FindControl("pagina").FindControl("hdfIdAplicacao" + i)).Value = ""; } if ((CheckBox)Master.FindControl("pagina").FindControl("chkRedondo" + i) != null) { ((CheckBox)Master.FindControl("pagina").FindControl("chkRedondo" + i)).Checked = false; } } // Atualiza a tela do pedido e exibe a mensagem de sucesso na tela ClientScript.RegisterClientScriptBlock(GetType(), "atualizar", "window.opener.redirectUrl(window.opener.location.href);\n", true); ClientScript.RegisterStartupScript(GetType(), "foco", "FindControl('txtCodAmb1', 'input').focus();\n", true); Glass.MensagemAlerta.ShowMsg("Produtos inseridos com sucesso!", Page); } catch (Exception ex) { Glass.MensagemAlerta.ErrorMsg("Falha ao inserir produtos no pedido.", ex, Page); } }
protected void lnkInsAmbiente_Click(object sender, EventArgs e) { string ambiente = ((HiddenField)grdAmbiente.FooterRow.FindControl("hdfDescrAmbiente")).Value; string descricao = ((TextBox)grdAmbiente.FooterRow.FindControl("txtDescricao")).Text; if (ambiente == String.Empty) { Glass.MensagemAlerta.ShowMsg("Informe o ambiente.", Page); return; } AmbientePedidoEspelho ambPed = new AmbientePedidoEspelho(); ambPed.IdPedido = Glass.Conversoes.StrParaUint(Request["idPedido"]); ambPed.Ambiente = ambiente; ambPed.Descricao = descricao; if (IsPedidoMaoDeObra()) { string qtde = ((TextBox)grdAmbiente.FooterRow.FindControl("txtQtdeAmbiente")).Text; string altura = ((TextBox)grdAmbiente.FooterRow.FindControl("txtAlturaAmbiente")).Text; string largura = ((TextBox)grdAmbiente.FooterRow.FindControl("txtLarguraAmbiente")).Text; string idProd = ((HiddenField)grdAmbiente.FooterRow.FindControl("hdfAmbIdProd")).Value; bool redondo = ((CheckBox)grdAmbiente.FooterRow.FindControl("chkRedondoAmbiente")).Checked; string idAplicacao = ((HiddenField)grdAmbiente.FooterRow.FindControl("hdfAmbIdAplicacao")).Value; string idProcesso = ((HiddenField)grdAmbiente.FooterRow.FindControl("hdfAmbIdProcesso")).Value; ambPed.Qtde = !String.IsNullOrEmpty(qtde) ? (int?)Glass.Conversoes.StrParaInt(qtde) : null; ambPed.Altura = !String.IsNullOrEmpty(altura) ? (int?)Glass.Conversoes.StrParaInt(altura) : null; ambPed.Largura = !String.IsNullOrEmpty(largura) ? (int?)Glass.Conversoes.StrParaInt(largura) : null; ambPed.QtdeImpresso = 0; ambPed.IdProd = !String.IsNullOrEmpty(idProd) ? (uint?)Glass.Conversoes.StrParaUint(idProd) : null; ambPed.Redondo = !redondo?ProdutoDAO.Instance.IsRedondo(Conversoes.StrParaUint(idProd)) : redondo; ambPed.IdAplicacao = !String.IsNullOrEmpty(idAplicacao) ? (uint?)Glass.Conversoes.StrParaUint(idAplicacao) : null; ambPed.IdProcesso = !String.IsNullOrEmpty(idProcesso) ? (uint?)Glass.Conversoes.StrParaUint(idProcesso) : null; if (ambPed.Altura != ambPed.Largura && redondo) { throw new Exception("O beneficiamento Redondo pode ser marcado somente em peças de medidas iguais."); } } try { // Cadastra um novo ambiente para o pedido hdfIdAmbiente.Value = AmbientePedidoEspelhoDAO.Instance.Insert(ambPed).ToString(); lblAmbiente.Text = ambiente; hdfAlturaAmbiente.Value = ambPed.Altura != null?ambPed.Altura.Value.ToString() : ""; hdfLarguraAmbiente.Value = ambPed.Largura != null?ambPed.Largura.Value.ToString() : ""; grdProdutos.Visible = true; grdAmbiente.DataBind(); grdProdutos.DataBind(); // Esconde a 1ª linha da grdProduto, por não haver produtos cadastrados no ambiente grdProdutos.Rows[0].Visible = false; } catch (Exception ex) { Glass.MensagemAlerta.ErrorMsg("Falha ao inserir ambiente.", ex, Page); } }