Пример #1
0
        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);
            }
        }
Пример #2
0
        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);
            }
        }
Пример #3
0
        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);
            }
        }