//Guarda el giro private void btnRegistrar_Click(object sender, System.EventArgs e) { //Guardar giro string agenciaO = ddlAgenciaO.SelectedValue, agenciaD = ddlAgenciaD.SelectedValue, tipo = ddlTipo.SelectedValue; string nitEmisor = txtNITEmisor.Text.Trim(), nombreEmisor = txtNITEmisora.Text.Trim(), apellidoEmisor = txtNITEmisorb.Text.Trim(), tnitEmisor = txtNITEmisorc.SelectedValue, telefonoEmisor = txtNITEmisord.Text.Trim(), direccionEmisor = txtNITEmisore.Text.Trim(); string nitReceptor = txtNITReceptor.Text.Trim(), nombreReceptor = txtNITReceptora.Text.Trim(), apellidoReceptor = txtNITReceptorb.Text.Trim(), tnitReceptor = txtNITReceptorc.SelectedValue, telefonoReceptor = txtNITReceptord.Text.Trim(), direccionReceptor = txtNITReceptore.Text.Trim(); string planilla = ddlPlanilla.SelectedValue; //Responsable string nitResponsable = DBFunctions.SingleData("select mnit_nit from DBXSCHEMA.susuario where susu_login='******';"); if (nitResponsable.Length == 0) { Response.Write("<script language='javascript'>alert('El usuario actual (responsable) no tiene un NIT asociado.');</script>"); return; } //Conseguir papeleria string numDocumento = Giros.TraerSiguienteGiroVirtual(); string numLineaS, ruta = ""; //Validar ruta si el giro es real(debe existir una ruta entre las cioudades de las agencias if (tipo.Equals("M")) { ruta = DBFunctions.SingleData("select mr.mrut_codigo from dbxschema.mrutas mr, dbxschema.magencia mo, dbxschema.magencia md " + "where mr.pciu_cod=mo.pciu_codigo and mr.pciu_coddes=md.pciu_codigo and mo.mag_codigo=" + agenciaO + " and md.mag_codigo=" + agenciaD + " " + "order by mr.mrut_codigo;"); if (ruta.Length == 0) { Response.Write("<script language='javascript'>alert('No existe una ruta entre las agencias seleccionadas.');</script>"); return; } if (planilla.Length > 0) { numLineaS = DBFunctions.SingleData("SELECT NUMERO_LINEAS+1 FROM DBXSCHEMA.MPLANILLAVIAJE WHERE MPLA_CODIGO=" + planilla); if (numLineaS.Length == 0) { numLineaS = "1"; } } else { numLineaS = "NULL"; } ruta = "'" + ruta + "'"; } else { numLineaS = "NULL"; planilla = "NULL"; ruta = "NULL"; } if (planilla.Length == 0) { planilla = "NULL"; } ArrayList sqlStrings = new ArrayList(); string ciudadO = DBFunctions.SingleData("SELECT PCIU_CODIGO FROM DBXSCHEMA.MAGENCIA WHERE MAG_CODIGO=" + agenciaO + ";"); string ciudadD = DBFunctions.SingleData("SELECT PCIU_CODIGO FROM DBXSCHEMA.MAGENCIA WHERE MAG_CODIGO=" + agenciaD + ";"); string strPorcentajeIVA = lblPorcentajeIVA.Text.Replace(",", ""); if (strPorcentajeIVA.Length == 0) { strPorcentajeIVA = "0"; } string strPorcentajeGiro = lblPorcentajeGiro.Text.Replace(",", ""); if (strPorcentajeGiro.Length == 0) { strPorcentajeGiro = "0"; } string strValorIVA = lblValorIVA.Text.Replace(",", ""); if (strValorIVA.Length == 0) { strValorIVA = "0"; } string strCostoGiro = lblCostoGiro.Text.Replace(",", ""); if (strCostoGiro.Length == 0) { strCostoGiro = "0"; } string strValorGiro = lblValorGiro.Text.Replace(",", ""); if (strValorGiro.Length == 0) { strValorGiro = "0"; } //Guardar NITs si no existen string NitComodin = "NS"; string nitEmisor1 = nitEmisor; string nitReceptor1 = nitReceptor; //Guardar NITs si no existen //Emisor if (nitEmisor == NitComodin) { nitEmisor1 = "GIRENV" + numDocumento; if (!DBFunctions.RecordExist("SELECT MNIT_NIT FROM MNIT WHERE MNIT_NIT='" + nitEmisor1 + "';")) { sqlStrings.Add("INSERT INTO DBXSCHEMA.MNIT VALUES('" + nitEmisor1 + "',NULL,'" + nombreEmisor + "',NULL,'" + apellidoEmisor + "',NULL,'" + tnitEmisor + "','" + ciudadO + "','N','" + direccionEmisor + "','" + ciudadO + "','" + telefonoEmisor + "','ND','ND','ND','V','S','N','T');"); } } else if (!DBFunctions.RecordExist("SELECT MNIT_NIT FROM MNIT WHERE MNIT_NIT='" + nitEmisor + "';")) { sqlStrings.Add("INSERT INTO DBXSCHEMA.MNIT VALUES('" + nitEmisor + "',NULL,'" + nombreEmisor + "',NULL,'" + apellidoEmisor + "',NULL,'" + tnitEmisor + "','" + ciudadO + "','N','" + direccionEmisor + "','" + ciudadO + "','" + telefonoEmisor + "','ND','ND','ND','V','N','N','T');"); } //Receptor if (nitReceptor == NitComodin) { nitReceptor1 = "GIRREC" + numDocumento; if (!DBFunctions.RecordExist("SELECT MNIT_NIT FROM MNIT WHERE MNIT_NIT='" + nitReceptor1 + "';")) { sqlStrings.Add("INSERT INTO DBXSCHEMA.MNIT VALUES('" + nitReceptor1 + "',NULL,'" + nombreReceptor + "',NULL,'" + apellidoReceptor + "',NULL,'" + tnitReceptor + "','" + ciudadD + "','N','" + direccionReceptor + "','" + ciudadD + "','" + telefonoReceptor + "','ND','ND','ND','V','S','N','T');"); } } else if (nitEmisor != nitReceptor && !DBFunctions.RecordExist("SELECT MNIT_NIT FROM MNIT WHERE MNIT_NIT='" + nitReceptor + "';")) { sqlStrings.Add("INSERT INTO DBXSCHEMA.MNIT VALUES('" + nitReceptor + "',NULL,'" + nombreReceptor + "',NULL,'" + apellidoReceptor + "',NULL,'" + tnitReceptor + "','" + ciudadD + "','N','" + direccionReceptor + "','" + ciudadD + "','" + telefonoReceptor + "','ND','ND','ND','V','N','N','T');"); } //Actualizar papeleria sqlStrings.Add("INSERT INTO DBXSCHEMA.MCONTROL_PAPELERIA VALUES('GIR'," + numDocumento + ",'V',0,'" + DateTime.Now.ToString("yyyy-MM-dd") + "',0," + agenciaO + ",'" + DateTime.Now.ToString("yyyy-MM-dd") + "','" + nitResponsable + "',0,'" + DateTime.Now.ToString("yyyy-MM-dd") + "',NULL,NULL,NULL,NULL,NULL,NULL,NULL," + planilla + ",NULL,NULL,'" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "');"); //Insertar giro sqlStrings.Add("INSERT INTO DBXSCHEMA.MGIROS VALUES('GIR'," + numDocumento + ",'V'," + agenciaO + ",'" + nitResponsable + "'," + agenciaD + ",null," + planilla + "," + numLineaS + "," + ruta + ",'" + nitEmisor1 + "','" + direccionEmisor + "','" + telefonoEmisor + "','" + nitReceptor1 + "','" + direccionReceptor + "','" + telefonoReceptor + "'," + strPorcentajeIVA + "," + strPorcentajeGiro + "," + strValorIVA + "," + strCostoGiro + "," + strValorGiro + ",'" + DateTime.Now.ToString("yyyy-MM-dd") + "',NULL,'A');"); //Actualizar planilla->num linea si es Real if (tipo.Equals("M") && !planilla.Equals("NULL")) { sqlStrings.Add("UPDATE DBXSCHEMA.MPLANILLAVIAJE SET NUMERO_LINEAS=NUMERO_LINEAS+1 WHERE MPLA_CODIGO=" + planilla + ";"); } if (DBFunctions.Transaction(sqlStrings)) { lblNumDocumento.Text = numDocumento; pnlImprimir.Visible = true; pnlCrear.Visible = false; ViewState["Giro"] = numDocumento; } else { lblError.Text += "Error: " + DBFunctions.exceptions + "<br><br>"; } }
//Validar, confirmar private void btnGuardar_Click(object sender, System.EventArgs e) { string agenciaO = ddlAgenciaO.SelectedValue, agenciaD = ddlAgenciaD.SelectedValue, tipo = ddlTipo.SelectedValue; string nitEmisor = txtNITEmisor.Text.Trim(), nombreEmisor = txtNITEmisora.Text.Trim(), apellidoEmisor = txtNITEmisorb.Text.Trim(), tnitEmisor = txtNITEmisorc.SelectedValue, telefonoEmisor = txtNITEmisord.Text.Trim(), direccionEmisor = txtNITEmisore.Text.Trim(); string nitReceptor = txtNITReceptor.Text.Trim(), nombreReceptor = txtNITReceptora.Text.Trim(), apellidoReceptor = txtNITReceptorb.Text.Trim(), tnitReceptor = txtNITReceptorc.SelectedValue, telefonoReceptor = txtNITReceptord.Text.Trim(), direccionReceptor = txtNITReceptore.Text.Trim(); //Validaciones //Agencias if (agenciaO == agenciaD) { Response.Write("<script language='javascript'>alert('La agencia de origen es igual a la agencia de destino.');</script>"); return; } //Emisor if (nitEmisor.Length == 0 || nombreEmisor.Length == 0 || apellidoEmisor.Length == 0 || tnitEmisor.Length == 0 || txtNITEmisorc.SelectedValue.Length == 0 || telefonoEmisor.Length == 0 || direccionEmisor.Length == 0) { Response.Write("<script language='javascript'>alert('Debe ingresar todos los datos del emisor.');</script>"); return; } //Receptor if (nitReceptor.Length == 0 || nombreReceptor.Length == 0 || apellidoReceptor.Length == 0 || tnitReceptor.Length == 0 || txtNITReceptorc.SelectedValue.Length == 0 || telefonoReceptor.Length == 0 || direccionReceptor.Length == 0) { Response.Write("<script language='javascript'>alert('Debe ingresar todos los datos del receptor.');</script>"); return; } //Valor del giro y costo double valorGiro, costoGiro; try{ valorGiro = double.Parse(txtValor.Text.Trim()); if (valorGiro <= 1) { throw(new Exception()); } } catch { Response.Write("<script language='javascript'>alert('Valor del giro no válido.');</script>"); return; } try{ costoGiro = double.Parse(txtCosto.Text.Trim()); if (costoGiro < 0) { throw(new Exception()); } } catch { Response.Write("<script language='javascript'>alert('Costo del giro no válido.');</script>"); return; } string ruta = ""; string planilla = ddlPlanilla.SelectedValue; //Validar ruta si el giro es real(debe existir una ruta entre las cioudades de las agencias if (tipo.Equals("M")) { ruta = DBFunctions.SingleData("select mr.mrut_codigo from dbxschema.mrutas mr, dbxschema.magencia mo, dbxschema.magencia md " + "where mr.pciu_cod=mo.pciu_codigo and mr.pciu_coddes=md.pciu_codigo and mo.mag_codigo=" + agenciaO + " and md.mag_codigo=" + agenciaD + " " + "order by mr.mrut_codigo;"); if (ruta.Length == 0) { Response.Write("<script language='javascript'>alert('No existe una ruta entre las agencias seleccionadas.');</script>"); return; } } //Validar que la ciudad de las agencias no sea la misma if (DBFunctions.RecordExist("SELECT mo.mag_codigo from dbxschema.magencia mo, dbxschema.magencia md where mo.mag_codigo=" + agenciaO + " and md.mag_codigo=" + agenciaD + " and mo.pciu_codigo=md.pciu_codigo;")) { Response.Write("<script language='javascript'>alert('Las agencias estan ubicadas en la misma ciudad.');</script>"); return; } //Consultar numero documento string nitResponsable = DBFunctions.SingleData("select mnit_nit from DBXSCHEMA.susuario where susu_login='******';"); if (nitResponsable.Length == 0) { Response.Write("<script language='javascript'>alert('El usuario actual (responsable) no tiene un NIT asociado.');</script>"); return; } string numDocumento = Giros.TraerSiguienteGiroVirtual(); //Desabilitar controles y mostrar panel confirmacion ddlAgenciaD.Enabled = false; ddlAgenciaO.Enabled = false; ddlTipo.Enabled = false; ddlPlanilla.Enabled = false; txtNITEmisor.Enabled = false; txtNITEmisora.Enabled = false; txtNITEmisorb.Enabled = false; txtNITEmisorc.Enabled = false; txtNITEmisord.Enabled = false; txtNITEmisore.Enabled = false; txtNITReceptor.Enabled = false; txtNITReceptora.Enabled = false; txtNITReceptorb.Enabled = false; txtNITReceptorc.Enabled = false; txtNITReceptord.Enabled = false; txtNITReceptore.Enabled = false; pnlInicial.Visible = false; pnlConfirmar.Visible = true; //Calcular valores double porcentajeIva; try{ porcentajeIva = Convert.ToDouble(DBFunctions.SingleData("SELECT IVA_GIROS FROM DBXSCHEMA.CTRANSPORTES;")); } catch { porcentajeIva = 0; } double porcentajeGiro; try{ porcentajeGiro = Convert.ToDouble(DBFunctions.SingleData("SELECT VALOR_PORCENTAJE FROM DBXSCHEMA.TPORCENTAJESTRANSPORTES WHERE CLAVE='GIRO';")); } catch { Response.Write("<script language='javascript'>alert('Parámetro de porcentaje giro no válido.');</script>"); return; } double valorIVA = ((valorGiro + costoGiro) * porcentajeIva) / 100; double costoTotal = valorGiro + costoGiro + valorIVA; lblValorGiro.Text = valorGiro.ToString("#,###,###"); lblPorcentajeGiro.Text = porcentajeGiro.ToString(); lblCostoGiro.Text = costoGiro.ToString("#,###,###"); lblPorcentajeIVA.Text = (porcentajeIva > 0)?porcentajeIva.ToString():"0"; lblValorIVA.Text = (valorIVA > 0)?valorIVA.ToString("#,###,###"):"0"; lblTotal.Text = costoTotal.ToString("#,###,###"); lblFecha.Text = DateTime.Now.ToString("dd/MM/yyyy"); lblNumDocumento.Text = numDocumento; }