示例#1
0
    protected void b_grabar_Click(object sender, EventArgs e)
    {
        String        Sql, SqlCertif, SqlCertifMdp;
        SqlConnection SqlConn = fn.ConnectionSql();
        String        MDP, Cortesia, Local;

        //Se verifica que exista detalle para la session actual
        Sql = "select count(ncertificado) from tblCertifDet where Puesto='" + Session["idPuesto"] + "' and idPais='" + Session["idPais"] + "' and ncertificado='" + l_n_certificado.Text + "' and session='" + Session["session"] + "'";
        Double cert_det = fn.EjecutarScalarDouble(Sql, SqlConn);

        Double total = fn.TotalCertificado(l_n_certificado.Text, Session["idPuesto"].ToString(), Session["idPais"].ToString(), SqlConn);

        if (Convert.ToDouble(tb_subtotalg.Text) == Math.Round(total, 2) && cert_det == Convert.ToDouble(l_servicios.Text) && cert_det > 0 && ddl_cliente.SelectedValue.Trim() != "" && ddl_cuarentena.SelectedValue.Trim() != "" && tb_fecha_tratamiento.Text.Trim().Length != 0)
        {
            //Se graba en la tblCertifMDP
            if (cb_cliente_contado.Checked == true)
            {
                MDP = "0";
            }
            else
            {
                MDP = "1";
            }

            if (cb_cortesia.Checked == true)
            {
                Cortesia = "1";
            }
            else
            {
                Cortesia = "0";
            }

            if (cb_local.Checked == true)
            {
                Local = "1";
            }
            else
            {
                Local = "0";
            }

            if (Convert.ToDouble(tb_recargo.Text) > 0)
            {
                Sql = "insert into tblCertifDet (Puesto,Ncertificado,Servicio,Cantidad,US,local,subtotal,DB,idPais) values ('" + Session["idPuesto"] + "','" + l_n_certificado.Text + "','";
                Sql = Sql + fn.ValIni(Session["idPais"].ToString(), "CuentaRecargo", SqlConn) + "',1," + tb_recargo.Text + "," + tb_recargo.Text + "," + tb_recargo.Text + ",0,'" + Session["idPais"] + "')";
                fn.EjecutarNonQuery(Sql, SqlConn);
            }

            SqlCertifMdp = "insert into tblCertifMDP (Puesto, NCertificado, MDP, Cantidad, Abono, SaldoNuevo, IDAbono, NEnd, idPais) values ('" + Session["idPuesto"] + "','" + l_n_certificado.Text + "',";
            SqlCertifMdp = SqlCertifMdp + MDP.ToString() + "," + tb_total.Text + ",0," + tb_total.Text + ",0,0,'" + Session["idPais"] + "')";

            //Se graba en la tblCertif
            String nplaca;
            if (tb_nplaca.Text.Length == 0)
            {
                nplaca = "";
            }
            else
            {
                nplaca = tb_nplaca.Text;
            }

            String observacion;
            if (tb_observaciones.Text.Length == 0)
            {
                observacion = "";
            }
            else
            {
                observacion = tb_observaciones.Text;
            }

            String fecha_trat = tb_fecha_tratamiento.Text + " " + DateTime.Now.ToLongTimeString();
            String fecha      = tb_fecha.Text + " " + DateTime.Now.ToLongTimeString();

            SqlCertif = "insert into tblCertif (Puesto,Ncertificado,Fecha,Cambio,Cortesia,Local,Total,TotalString,Observacion,Responsable,Anulado,Remesado,Replicado,NEnd,TipoCertificado,ClienteExtra,Cliente,Placa,FechaTrat,Cuarentena,idPais) values ('";
            SqlCertif = SqlCertif + Session["idPuesto"] + "','" + l_n_certificado.Text + "','" + fecha.ToString() + "'," + tb_cambio.Text + "," + Cortesia.ToString() + "," + Local + "," + tb_total.Text + ",'" + l_numlet.Text + "','" + observacion.ToString() + "','";
            SqlCertif = SqlCertif + Session["login"] + "',0,0,0,1,'ASPERSIÓN TERRESTRE','" + tb_cliente.Text + "','" + ddl_cliente.SelectedValue + "','" + nplaca.ToString() + "','" + fecha_trat.ToString() + "','" + ddl_cuarentena.SelectedValue + "','" + Session["idPais"] + "')";

            bool error = false;

            try
            {
                fn.EjecutarNonQuery(SqlCertif, SqlConn);
                fn.EjecutarNonQuery(SqlCertifMdp, SqlConn);
            }
            catch
            {
                error = true;
            }
            finally
            {
                if (error)
                {
                    Response.Redirect("Cert_Aspersion_Terrestre.aspx?error=ok&ncertif=" + l_n_certificado.Text);
                }
                else
                {
                    if (fn.Verificar_Certificado(l_n_certificado.Text, Session["idPuesto"].ToString(), Session["idPais"].ToString(), SqlConn))
                    {
                        fn.Incrementar_Correlativo(Session["idPais"].ToString(), Session["idPuesto"].ToString(), "NCertificado", SqlConn);

                        //Se registra en auditoria
                        fn.Auditoria(Session["login"].ToString(), "Agregar Certificado", l_n_certificado.Text, Session["idPais"].ToString(), SqlConn);

                        SqlConn.Close();

                        Response.Redirect("Cert_Aspersion_Terrestre.aspx?save=ok&ncertif=" + l_n_certificado.Text);
                    }
                    else
                    {
                        Response.Redirect("Cert_Aspersion_Terrestre.aspx?error=ok&ncertif=" + l_n_certificado.Text);
                    }
                }
            }
        }
        else
        {
            if (cert_det == 0 || cert_det != Convert.ToDouble(l_servicios.Text) || Convert.ToDouble(tb_subtotalg.Text) != Math.Round(total, 2))
            {
                Response.Redirect("Cert_Aspersion_Terrestre.aspx?error=ok");
            }

            fn.Message(Page, "Verificar! Hay campos que son obligatorios como el CLIENTE, FECHA TRATAMIENTO y ENCARGADO DE CUARENTENA");
        }
    }