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"); } }
public void Guardar() { Funciones fn = new Funciones(); try { DataGrid dr = new DataGrid(); tblcertifmdp mdp = new tblcertifmdp(); mdp.Mdp = Encabezado.Credito == true?Int16.Parse("1") : Int16.Parse("0"); mdp.Ncertificado = this.Encabezado.Ncertificado; mdp.Puesto = Encabezado.Puesto; mdp.Idabono = 0; mdp.idpais = Encabezado.idpais; mdp.Cantidad = Encabezado.Total; mdp.Abono = 0; mdp.Saldonuevo = Encabezado.Total; mdp.Nend = false; mdp.Enviaplat = false; if (Encabezado.FormaPago == "-1") { mdp.Mdp = 10; mdp.Banco = Encabezado.AutorizacionBanco; } fn.ConnectionSql(); fn.BeginTransaction(); SqlCommand con = this.Encabezado.getComandQuery(fn._LocalC, TipoTransaccion.Insert); con.Transaction = fn._tr; con.ExecuteNonQuery(); string cAuto = fn.ValIni(Encabezado.idpais, "ConsumoAutomatico"); foreach (tblcertifdet det in this.Detalle) { if (det.Servicio != "CuentaRecargo") { SqlCommand cond = det.getComandQuery(fn._LocalC, TipoTransaccion.Insert); cond.Transaction = fn._tr; cond.ExecuteNonQuery(); det.Detalle = det.GetLasIdentity(fn._LocalC, fn._tr); if (cAuto == "1") { this.ProcesarInventario(ref fn, det); } } else { fn.RegistrarRecargo(this.Encabezado.Ncertificado, det.Local.ToString()); } } SqlCommand cmMdp = mdp.getComandQuery(fn._LocalC, TipoTransaccion.Insert); cmMdp.Transaction = fn._tr; cmMdp.ExecuteNonQuery(); fn.Incrementar_Correlativo(this.Encabezado.idpais, this.Encabezado.Puesto, "NCertificado"); //Se registra en auditoria fn.Auditoria(this.Detalle[0].Session, "Agregar Certificado", this.Encabezado.Ncertificado, this.Encabezado.idpais); fn._tr.Commit(); } catch (Exception ex) { fn._tr.Rollback(); fn._LocalC.Close(); throw ex; } finally { fn._tr.Dispose(); fn._LocalC.Close(); } }