//Cambia agencia private void ddlAgencia_SelectedIndexChanged(object sender, System.EventArgs e) { string agencia = ddlAgencia.SelectedValue; DatasToControls bind = new DatasToControls(); pnlRuta.Visible = false; if (agencia.Length == 0) { pnlAgencia.Visible = false; return; } string ciudad = DBFunctions.SingleData("SELECT PCIU_CODIGO FROM DBXSCHEMA.MAGENCIA WHERE MAG_CODIGO=" + agencia + ";"); CargarRutasPrincipales(ciudad); lblPlanilla.Text = Planillas.TraerSiguientePlanillaVirtual(); pnlAgencia.Visible = true; }
//Planillar private void btnPlanillar_Click(object sender, System.EventArgs e) { #region Validaciones Generales ArrayList sqlUpd = new ArrayList(); string errores = ""; string viaje; string agencia = ddlAgencia.SelectedValue.Trim().Replace("|", ""); string placa = txtPlaca.Text.Trim(); long numDocumento = 0; DateTime fecha = Convert.ToDateTime(txtFecha.Text); string conductor = txtConductor.Text.Trim(); string relevador = txtRelevador.Text.Trim(); relevador = (relevador.Length == 0)?"NULL":"'" + relevador + "'"; string rutaP = ddlRutaPrincipal.SelectedValue; string nitPlanillaManual = DBFunctions.SingleData("select mnit_nit from dbxschema.mnit where mnit_nombres='Planilla Manual';"); //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 (responsable) no tiene un NIT asignado.');</script>"); return; } //Hora int hora = (int.Parse(ddlHora.SelectedValue) * 60) + int.Parse(ddlMinuto.SelectedValue); //Afiliado string afiliado = DBFunctions.SingleData("SELECT MNIT_ASOCIADO FROM DBXSCHEMA.MBUSAFILIADO WHERE MCAT_PLACA='" + placa + "'"); afiliado = (afiliado.Length == 0)?"NULL":"'" + afiliado + "'"; //Configuracion string configBus = DBFunctions.SingleData("Select MCON_COD from DBXSCHEMA.MBUSAFILIADO WHERE MCAT_PLACA='" + placa + "';"); if (configBus.Length == 0) { configBus = "NULL"; } string planilla = Planillas.TraerSiguientePlanillaVirtual(); viaje = Viajes.TraerSiguienteViaje(rutaP); //Insertar viaje sqlUpd.Add("INSERT INTO dbxschema.MVIAJE values('" + rutaP + "'," + viaje + ",'" + fecha.ToString("yyyy-MM-dd") + "'," + hora + ",NULL," + agencia + ",'" + placa + "'," + configBus + ",'" + conductor + "'," + relevador + ",NULL," + afiliado + ",'" + nitResponsable + "'," + hora + ",NULL,NULL,NULL,NULL,NULL,'A',NULL);"); //Insertar papeleria sqlUpd.Add("INSERT INTO DBXSCHEMA.MCONTROL_PAPELERIA VALUES('PLA'," + planilla + ",'V',0,'" + DateTime.Now.ToString("yyyy-MM-dd") + "',0," + agencia + ",'" + DateTime.Now.ToString("yyyy-MM-dd") + "','" + nitResponsable + "',0,'" + DateTime.Now.ToString("yyyy-MM-dd") + "',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'" + DateTime.Now.ToString("yyyy-MM-dd") + "');"); //Insertar planilla sqlUpd.Add("insert into dbxschema.mplanillaviaje values(" + planilla + ",'" + rutaP + "'," + viaje + "," + agencia + ",'" + nitResponsable + "','" + fecha.ToString("yyyy-MM-dd") + "',NULL,NULL,NULL,0,0,NULL);"); #endregion //Fila real y actual int fila = 1, linea = 1; //Totales double totalTiquetes = 0, valorSeguro; //Seguro try { valorSeguro = Convert.ToDouble(DBFunctions.SingleData("SELECT VALOR_SEGURO FROM DBXSCHEMA.CTRANSPORTES;")); } catch { valorSeguro = 0; } #region Tiquetes int prefijo = 0, totalPasajeros = 0; //Prefijo tiquetes if (ddlAgencia.SelectedValue.EndsWith("|")) { prefijo = Convert.ToInt16(agencia); } numDocumento = Convert.ToInt64(Tiquetes.TraerSiguienteTiqueteVirtual()); foreach (DataGridItem dgrI in dgrTiquetes.Items) { bool errLin = false; DropDownList ddlDestino = (DropDownList)dgrI.FindControl("ddlDestinoTiquete"); TextBox txtCantidadTiquete = (TextBox)dgrI.FindControl("txtCantidadTiquete"); TextBox txtValorTiquete = (TextBox)dgrI.FindControl("txtValorTiquete"); TextBox txtTotalTiquete = (TextBox)dgrI.FindControl("txtTotalTiquete"); CheckBox chkAnula = (CheckBox)dgrI.FindControl("chkAnlulado"); DropDownList ddlConceptoAnulacion = (DropDownList)dgrI.FindControl("ddlConceptoAnulacion"); if ((ddlDestino.SelectedValue.Length > 0 || txtCantidadTiquete.Text.Trim().Length > 0 || txtValorTiquete.Text.Trim().Length > 0)) { int cantidad = 0; double precio = 0; bool anula = false; string ruta = ddlDestino.SelectedValue; //Ruta if (ruta.Length == 0) { errores += "Destino de tiquete no válido en la línea " + fila + ". "; errLin = true; } //Cantidad try{ cantidad = int.Parse(txtCantidadTiquete.Text.Replace(",", "").Trim()); } catch { errores += "Cantidad de tiquetes no válida en la línea " + fila + ". "; errLin = true; } //Precio try{ precio = double.Parse(txtValorTiquete.Text.Replace(",", "").Trim()); if (precio <= 0) { throw(new Exception()); } } catch { errores += "Precio de tiquete no válido en la línea " + fila + ". "; errLin = true; } //Anulado? if (!errLin && chkAnula.Checked) { if (ddlConceptoAnulacion.SelectedValue.Length == 0) { errores += "Debe seleccionar la causa de la anulacion en la línea " + fila + ". "; errLin = true; } else { anula = true; } } //Verificar rango precio if (!errLin) { if (!DBFunctions.RecordExist("SELECT MRUT_VALSUG FROM DBXSCHEMA.MRUTAS WHERE MRUT_VALMAX>=" + precio + " AND MRUT_VALMIN<=" + precio + " AND MRUT_CODIGO='" + ruta + "';")) { txtValorTiquete.Text = Convert.ToDouble(DBFunctions.SingleData("SELECT MRUT_VALMAX FROM DBXSCHEMA.MRUTAS WHERE MRUT_CODIGO='" + ruta + "';")).ToString("###,###,##0.##"); errores += "Precio de tiquete fuera del rango válido en la línea " + fila + ", el precio ha sido remplazado. "; strActScript += "totalTicketes('" + txtCantidadTiquete.ClientID + "','" + txtValorTiquete.ClientID + "','" + txtTotalTiquete.ClientID + "',1);"; errLin = true; } } //Insertar tiquete if (!errLin) { sqlUpd.Add("INSERT INTO DBXSCHEMA.MCONTROL_PAPELERIA VALUES('TIQ'," + numDocumento + ",'V',0,'" + DateTime.Now.ToString("yyyy-MM-dd") + "',0," + agencia + ",'" + DateTime.Now.ToString("yyyy-MM-dd") + "','" + nitResponsable + "',0,'" + DateTime.Now.ToString("yyyy-MM-dd") + "',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'" + DateTime.Now.ToString("yyyy-MM-dd") + "');"); if (anula) { //ANULAR sqlUpd.Add("INSERT INTO dbxschema.mtiquete_viaje values('TIQ'," + numDocumento + "," + planilla + "," + linea + ",'" + ruta + "','" + nitResponsable + "'," + cantidad + ",'" + nitPlanillaManual + "'," + valorSeguro.ToString("0") + "," + precio + "," + precio * cantidad + ",'" + fecha.ToString("yyyy-MM-dd") + "','A');"); sqlUpd.Add("INSERT INTO dbxschema.MTIQUETE_VIAJE_ANULADO values('TIQ'," + numDocumento + "," + ddlConceptoAnulacion.SelectedValue + ",'" + fecha.ToString("yyyy-MM-dd") + "','" + nitResponsable + "','" + DateTime.Now.ToString("yyyy-MM-dd") + "');"); sqlUpd.Add("UPDATE DBXSCHEMA.MCONTROL_PAPELERIA SET NUM_ANULACION=0, COD_ANULACION=" + ddlConceptoAnulacion.SelectedValue + ",MNIT_ANULACION='" + nitResponsable + "', FECHA_ANULACION='" + DateTime.Now.ToString("yyyy-MM-dd") + "' WHERE TDOC_CODIGO='TIQ' AND NUM_DOCUMENTO=" + numDocumento + ";"); } else { sqlUpd.Add("INSERT INTO dbxschema.mtiquete_viaje values('TIQ'," + numDocumento + "," + planilla + "," + linea + ",'" + ruta + "','" + nitResponsable + "'," + cantidad + ",'" + nitPlanillaManual + "'," + valorSeguro.ToString("0") + "," + precio + "," + precio * cantidad + ",'" + fecha.ToString("yyyy-MM-dd") + "','V');"); totalTiquetes += cantidad * precio; totalPasajeros += cantidad; } //Modificar papeleria(usada) sqlUpd.Add("UPDATE DBXSCHEMA.MCONTROL_PAPELERIA SET FECHA_USO='" + DateTime.Now.ToString("yyyy-MM-dd") + "',MPLA_CODIGO=" + planilla + " WHERE TDOC_CODIGO='TIQ' AND NUM_DOCUMENTO=" + numDocumento + ";"); dgrI.Cells[0].BackColor = dgrI.Cells[1].BackColor; linea++; } else { dgrI.Cells[0].BackColor = System.Drawing.Color.DarkSalmon; if (errores.Length > 0) { errores += "\\r\\n"; } } numDocumento++; } else { dgrI.Cells[0].BackColor = dgrI.Cells[1].BackColor; } fila++; } #endregion if (errores.Length == 0) { //Actualizar VIAJE sqlUpd.Add("UPDATE dbxschema.MVIAJE SET VALOR_INGRESOS=" + (totalTiquetes) + ", VALOR_EGRESOS=0, ESTADO_VIAJE='T', FECHA_LIQUIDACION='" + fecha.ToString("yyyy-MM-dd") + "' WHERE MRUT_CODIGO='" + rutaP + "' AND MVIAJE_NUMERO=" + viaje + ";"); //Actualizar PLANILLA: NO. LINEAS, FECHA LIQUID, INGRESOS, EGRESOS, NO. LINEAS sqlUpd.Add("UPDATE dbxschema.MPLANILLAVIAJE SET VALOR_INGRESOS=" + (totalTiquetes) + ", VALOR_EGRESOS=0, NUMERO_LINEAS=" + linea + ", FECHA_LIQUIDACION='" + fecha.ToString("yyyy-MM-dd") + "' WHERE MPLA_CODIGO=" + planilla + ";"); //Actualizar PAPELERIA PLANILLA sqlUpd.Add("UPDATE DBXSCHEMA.MCONTROL_PAPELERIA SET FECHA_USO='" + DateTime.Now.ToString("yyyy-MM-dd") + "' WHERE TDOC_CODIGO='PLA' AND NUM_DOCUMENTO=" + planilla + ";"); if (DBFunctions.Transaction(sqlUpd)) { Response.Redirect(indexPage + "?process=Comercial.PlanillaBus&path=" + Request.QueryString["path"] + "&pln=" + planilla); } else { lblError.Text = DBFunctions.exceptions; } } else { strActScript += "alert('" + errores + "');"; } }
//Guardar private void btnGuardar_Click(object sender, System.EventArgs e) { string ruta = ddlRuta.SelectedValue, agencia = ddlAgencia.SelectedValue, programacion = ddlProgramacion.SelectedValue, configuracion = ddlConfiguracion.SelectedValue, fecha = txtFecha.Text, conductor = txtConductor.Text, relevador1 = txtRelevador1.Text, relevador2 = "", afiliado = "", viajePadre = ddlNumViajePadre.SelectedValue; int numPuestosLibres = 0; //string secOrig="",secDes=""; bool agenciaDePaso = false; //Configuracion if (configuracion.Length == 0 && txtNumeroBus.Text.Length == 0) { Utils.MostrarAlerta(Response, "Debe seleccionar la Configuración O Numero Bus"); return; } //configuracion.. string placa = ""; //Bus if (txtNumeroBus.Text.Length > 0) { placa = DBFunctions.SingleData("SELECT MCAT_PLACA FROM DBXSCHEMA.MBUSAFILIADO WHERE TESTA_CODIGO>0 AND MBUS_NUMERO=" + txtNumeroBus.Text.Trim() + ";"); if (placa.Length == 0) { Utils.MostrarAlerta(Response, "No existe el bus seleccionado o Inactivo."); return; } string configuracionBus = DBFunctions.SingleData("SELECT MCON_COD FROM DBXSCHEMA.MBUSAFILIADO WHERE MCAT_PLACA ='" + placa + "';"); if (configuracion.Length > 0) { if (configuracionBus != configuracion) { Utils.MostrarAlerta(Response, "La configuracion no corresponde a la del bus."); return; } } configuracion = configuracionBus; ddlConfiguracion.SelectedIndex = ddlConfiguracion.Items.IndexOf(ddlConfiguracion.Items.FindByValue(configuracionBus)); } if (!DBFunctions.RecordExist("SELECT mele_numepues FROM dbxschema.dconfiguracionbus WHERE mcon_cod=" + configuracion + ";")) { Utils.MostrarAlerta(Response, "La configuración no ha sido diseñada."); return; } placa = (placa.Length == 0)?"NULL":"'" + placa + "'"; //Configuracion //if(configuracion.Length==0){ // Response.Write("<script language='javascript'>alert('El bus no tiene una configuración asociada.');</script>"); // return; //} //Viaje string viaje = Viajes.TraerSiguienteViaje(ruta); if (viaje.Length == 0) { viaje = "1"; } //Ruta if (ruta.Length == 0) { Utils.MostrarAlerta(Response, "Debe seleccionar la ruta."); return; } //Ruta padre if (viajePadre.Length > 0) { // ya fue asociada al viaje padre la agencia? if (DBFunctions.RecordExist("SELECT mviaje_numero FROM mviaje " + "WHERE mrut_codigo='" + ruta + "' and mag_codigo=" + agencia + " and MVIAJE_PADRE=" + viajePadre + ";")) { Utils.MostrarAlerta(Response, "Ya se ha asociado el viaje padre " + viajePadre + " a la ruta " + ruta + ", en la agencia " + agencia + "."); return; } //Es el mismo bus? if (!DBFunctions.RecordExist("SELECT mviaje_numero FROM dbxschema.mviaje " + "WHERE MRUT_CODIGO='" + ruta + "' and mviaje_numero=" + viajePadre + " and mcat_placa=" + placa + " or MRUT_CODIGO='" + ruta + "' and mviaje_numero=" + viajePadre + " and mcat_placa is null;")) { Utils.MostrarAlerta(Response, "El vehiculo del viaje padre no es el mismo."); return; } } //Ya existe planilla activa similar? if (placa != "NULL") { if (DBFunctions.RecordExist( "SELECT * FROM DBXSCHEMA.MPLANILLAVIAJE MP,DBXSCHEMA.MVIAJE MV " + "WHERE MP.FECHA_LIQUIDACION IS NULL AND FECHA_SALIDA = '" + fecha + "' and " + "MP.MRUT_CODIGO=MV.MRUT_CODIGO AND MP.MVIAJE_NUMERO=MV.MVIAJE_NUMERO AND " + "MP.MRUT_CODIGO='" + ruta + "' AND MV.MCAT_PLACA=" + placa + " AND MP.MAG_CODIGO=" + agencia + ";")) { Utils.MostrarAlerta(Response, "Ya existe una planilla activa para la agencia con el número de bus y la ruta dados."); return; } } //Agencia if (agencia.Length == 0) { Utils.MostrarAlerta(Response, "Debe seleccionar una agencia."); return; } //Configuracion if (!DBFunctions.RecordExist("SELECT mele_numepues FROM dbxschema.dconfiguracionbus WHERE mcon_cod=" + configuracion + ";")) { Utils.MostrarAlerta(Response, "La configuración del bus no ha sido diseñada."); return; } //Horario if (lstFecha.SelectedIndex < 0) { if (ddlHora.SelectedIndex < 0 && ddlMinuto.SelectedIndex < 0) { Utils.MostrarAlerta(Response, "Debe seleccionar un horario. o digitar la hora"); return; } } //Fecha DateTime fechaT = DateTime.Now; try{ string [] prFch = fecha.Split("-".ToCharArray()); DateTime fechaN = DateTime.Now; fechaT = new DateTime(int.Parse(prFch[0]), int.Parse(prFch[1]), int.Parse(prFch[2])); if (fechaT.CompareTo(new DateTime(fechaN.Year, fechaN.Month, fechaN.Day)) < 0) { throw(new Exception()); } } catch { Utils.MostrarAlerta(Response, "Fecha no válida, debe tener el formato aaaa-mm-dd y ser mayor o igual a la fecha actual."); return; } //Programado? bool programado = programacion.Length > 0; int horaProg; if (programado) { //el dia es válido? if (lstFecha.SelectedIndex == -1) { Utils.MostrarAlerta(Response, "Debe dar el horario si asigna una programación."); return; } int posDia = (fechaT.DayOfWeek == DayOfWeek.Monday?0:(fechaT.DayOfWeek == DayOfWeek.Tuesday?1:(fechaT.DayOfWeek == DayOfWeek.Wednesday?2:(fechaT.DayOfWeek == DayOfWeek.Thursday?3:(fechaT.DayOfWeek == DayOfWeek.Friday?4:(fechaT.DayOfWeek == DayOfWeek.Saturday?5:6)))))); DataSet dsCuadro = new DataSet(); DBFunctions.Request(dsCuadro, IncludeSchema.NO, "SELECT MRUT_LUNES,MRUT_MARTES,MRUT_MIERCOLES,MRUT_JUEVES,MRUT_VIERNES,MRUT_SABADO,MRUT_DOMINGO FROM DBXSCHEMA.MRUTA_CUADRO WHERE MRUT_CODIGO='" + ruta + "' AND MRUT_HORA=" + lstFecha.SelectedValue + " AND TPROG_TIPOPROG=" + programacion); if (dsCuadro.Tables[0].Rows.Count == 0 || !dsCuadro.Tables[0].Rows[0][posDia].ToString().Equals("S")) { Utils.MostrarAlerta(Response, "La fecha seleccionada (día " + dias[posDia].ToLower() + ") no existe en el horario seleccionado."); return; } horaProg = int.Parse(lstFecha.SelectedValue); } else { //Hora try { horaProg = int.Parse(ddlHora.SelectedValue) * 60 + int.Parse(ddlMinuto.SelectedValue); } catch { Utils.MostrarAlerta(Response, "Hora no valida."); return; } programacion = "NULL"; } //Puestos libres deben indicarse si no se asocio a un viaje padre if (viajePadre.Length == 0 && !DBFunctions.RecordExist( "select * from dbxschema.magencia ma, dbxschema.mrutas mr " + "where ma.pciu_codigo=mr.pciu_cod and mr.mrut_codigo='" + ruta + "' and ma.mag_codigo=" + agencia)) { agenciaDePaso = true; try { numPuestosLibres = Convert.ToInt32(txtPuestos.Text.Trim()); if (numPuestosLibres < 0) { throw new Exception(); } } catch { Utils.MostrarAlerta(Response, "Debe dar el número de puestos libres y este debe ser un número entero menor o igual a la capacidad del bus seleccionado."); return; } if (numPuestosLibres > Convert.ToInt32(DBFunctions.SingleData("SELECT COUNT(*) FROM DBXSCHEMA.DCONFIGURACIONBUS WHERE MCON_COD=" + configuracion + " AND TELE_CODIGO='SP';"))) { Utils.MostrarAlerta(Response, "El número de puestos libres supera la cantidad de puestos en el diseño de la configuración."); return; } } //Conductor/relevadores if (conductor.Length > 0 && (conductor.Equals(relevador1) || conductor.Equals(relevador2))) { Utils.MostrarAlerta(Response, "El conductor y los relevadores no pueden ser la misma persona."); return; } if (relevador1.Length > 0 && relevador1.Equals(relevador2)) { Utils.MostrarAlerta(Response, "Los relevadores no pueden ser la misma persona."); return; } //Validar conductor if (conductor.Length > 0 && !DBFunctions.RecordExist("Select MNIT_NIT FROM DBXSCHEMA.MEMPLEADO WHERE MNIT_NIT='" + conductor + "' AND PCAR_CODICARGO='CO'")) { Utils.MostrarAlerta(Response, "No se encontro el conductor."); return; } if (conductor.Length == 0 && relevador1.Length == 0) { Utils.MostrarAlerta(Response, "Debe dar el conductor o el relevador."); return; } //Afiliado if (placa != "NULL" && placa != "") { afiliado = DBFunctions.SingleData("SELECT MNIT_ASOCIADO FROM DBXSCHEMA.MBUSAFILIADO WHERE MCAT_PLACA=" + placa + ";"); } else { afiliado = ""; } if (conductor == ConfigurationManager.AppSettings["ConductorRelevadorComodin"]) { conductor = ""; } if (relevador1 == ConfigurationManager.AppSettings["ConductorRelevadorComodin"]) { relevador1 = ""; } afiliado = (afiliado.Length == 0)?"NULL":"'" + afiliado + "'"; //Conductor conductor = (conductor.Length == 0?"NULL":"'" + conductor + "'"); //Relevador1 relevador1 = (relevador1.Length == 0?"NULL":"'" + relevador1 + "'"); //Relevador2 relevador2 = (relevador2.Length == 0?"NULL":"'" + relevador2 + "'"); //Viaje padre viajePadre = (viajePadre.Length == 0?"NULL":ddlNumViajePadre.SelectedValue); ArrayList sqlC = new ArrayList(); //Insertar registro sqlC.Add("insert into dbxschema.mviaje values('" + ruta + "'," + viaje + ",'" + fechaT.ToString("yyyy-MM-dd") + "'," + horaProg + "," + programacion + "," + agencia + "," + placa + "," + configuracion + "," + conductor + "," + relevador1 + "," + relevador2 + "," + afiliado + ",NULL,NULL,NULL,NULL,NULL,NULL,NULL,'A'," + viajePadre + ")"); if (!viajePadre.Equals("NULL")) { sqlC.Add("update dbxschema.mviaje set mviaje_padre=" + viajePadre + " where mrut_codigo='" + ruta + "' and mviaje_numero=" + viajePadre + ";"); } //Guardar configuracion puestos int fil = int.Parse(DBFunctions.SingleData("SELECT MBUS_FILAS FROM DBXSCHEMA.MCONFIGURACIONBUS WHERE MCON_COD=" + configuracion)); int col = int.Parse(DBFunctions.SingleData("SELECT MBUS_COLUMNAS FROM DBXSCHEMA.MCONFIGURACIONBUS WHERE MCON_COD=" + configuracion)); //borrar anteriores sqlC.Add("delete from DBXSCHEMA.MCONFIGURACIONPUESTO WHERE MRUT_CODIGO='" + ruta + "' AND MVIAJE_NUMERO=" + viaje + ";"); //insertar disponibles sqlC.Add("insert into DBXSCHEMA.MCONFIGURACIONPUESTO " + "SELECT '" + ruta + "', " + viaje + ", mpue_posfila, mpue_poscolumna,mele_numepues,tele_codigo,'DN', cast(null as varchar(10)), cast(null as integer) " + "FROM DCONFIGURACIONBUS WHERE MCON_COD=" + configuracion + ";"); //Responsable string nitResponsable = DBFunctions.SingleData("select mnit_nit from DBXSCHEMA.susuario where susu_login='******';"); if (nitResponsable.Length == 0) { Utils.MostrarAlerta(Response, "El usuario (responsable) no tiene un NIT asignado."); return; } //Planilla string planilla = Planillas.TraerSiguientePlanillaVirtual(); //Insertar papeleria sqlC.Add("INSERT INTO DBXSCHEMA.MCONTROL_PAPELERIA VALUES('PLA'," + planilla + ",'V',0,'" + DateTime.Now.ToString("yyyy-MM-dd") + "',0," + agencia + ",'" + DateTime.Now.ToString("yyyy-MM-dd") + "','" + nitResponsable + "',0,'" + DateTime.Now.ToString("yyyy-MM-dd") + "',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "');"); //Crear planilla sqlC.Add("insert into dbxschema.mplanillaviaje values(" + planilla + ",'" + ruta + "'," + viaje + "," + agencia + ",'" + nitResponsable + "','" + fechaT.ToString("yyyy-MM-dd") + "',NULL,NULL,NULL,0," + numPuestosLibres + ",NULL);"); //Crear planilla gemela si aplica DataSet dsGemela = new DataSet(); DBFunctions.Request(dsGemela, IncludeSchema.NO, "SELECT MRUT_CODIGO,MRUT_CODIGO1,MRUT_CODIGO2 FROM DBXSCHEMA.MRUTAS_DOBLE_PLANILLA WHERE MRUT_CODIGO='" + ruta + "';"); if (dsGemela.Tables[0].Rows.Count > 0) { sqlC.Add("INSERT INTO DBXSCHEMA.MPLANILLA_VIAJE_GEMELA VALUES (DEFAULT," + planilla + ",'" + dsGemela.Tables[0].Rows[0]["MRUT_CODIGO1"] + "',DEFAULT);"); sqlC.Add("INSERT INTO DBXSCHEMA.MPLANILLA_VIAJE_GEMELA VALUES (DEFAULT," + planilla + ",'" + dsGemela.Tables[0].Rows[0]["MRUT_CODIGO2"] + "',DEFAULT);"); } if (DBFunctions.Transaction(sqlC)) { //Ocupar puestos si es de paso if (agenciaDePaso) { int pUsados = 0; DataSet dsPuestos = new DataSet(); sqlC = new ArrayList(); DBFunctions.Request(dsPuestos, IncludeSchema.NO, "SELECT FILA,COLUMNA,TELE_CODIGO FROM DBXSCHEMA.MCONFIGURACIONPUESTO WHERE MRUT_CODIGO='" + ruta + "' AND MVIAJE_NUMERO=" + viaje + ";"); foreach (DataRow drP in dsPuestos.Tables[0].Rows) { if (drP["TELE_CODIGO"].ToString().Equals("SP")) { pUsados++; } if (pUsados > numPuestosLibres) { sqlC.Add("update DBXSCHEMA.MCONFIGURACIONPUESTO SET TEST_CODIGO='OC' WHERE MRUT_CODIGO='" + ruta + "' AND MVIAJE_NUMERO=" + viaje + " AND FILA=" + drP["FILA"] + " AND COLUMNA=" + drP["COLUMNA"] + ";"); } } DBFunctions.Transaction(sqlC); } if (Tools.Browser.IsMobileBrowser()) { Response.Redirect(ConfigurationManager.AppSettings["MainMobileIndexPage"] + "?process=Comercial.VentaTiquetesMovil&act=1&path=Venta Tiquetes&num=" + viaje + "&pla=" + planilla); } else { Response.Redirect(ConfigurationManager.AppSettings["MainIndexPage"] + "?process=Comercial.VentaTiquetes&act=1&path=Venta Tiquetes&num=" + viaje + "&pla=" + planilla); } } else { lblError.Text = DBFunctions.exceptions; } }