private void RemplazoDeAeronaveDesdeHasta(string aeronum, string fecha1, string fecha2) { DialogResult dialogResult = MessageBox.Show("Esta aeronave tiene viajes pendientes de realizar ¿quiere buscar un remplazo de la aeronave?", "Confirmación", MessageBoxButtons.YesNo); if (dialogResult == DialogResult.Yes) { db = new DbComunicator(); db.EjecutarQuery("SELECT TS.fnAeronavesParaRemplazarA(" + aeronum + ") as Cantidad"); db.getLector().Read(); if (Convert.ToInt16(db.getLector()["Cantidad"].ToString()) > 0) RemplazarEnViajesDesdeHasta(aeronum, fecha1, fecha2); else { MessageBox.Show("No existe aeronave que pueda remplazar la aeronave actual"); AgregarAeronaveRemplazo form = new AgregarAeronaveRemplazo(DGV_aeronave.SelectedRows[0]); form.ShowDialog(); this.RemplazoDeAeronaveDesdeHasta(aeronum, fecha1, fecha2); } } if (dialogResult == DialogResult.No){ DialogResult dialogResult2 = MessageBox.Show("¿Desea cancelar los vuelos pendientes?", "Confirmación", MessageBoxButtons.YesNo); if (dialogResult2 == DialogResult.Yes){ DbComunicator db5 = new DbComunicator(); SqlCommand spCancelacionViajes = db5.GetStoreProcedure("TS.spCancelacionViajesDesdeHasta"); spCancelacionViajes.Parameters.Add(new SqlParameter("@Aero", aeronum)); spCancelacionViajes.Parameters.Add(new SqlParameter("@Desde", Convert.ToDateTime(fecha1))); spCancelacionViajes.Parameters.Add(new SqlParameter("@Hasta", Convert.ToDateTime(fecha2))); spCancelacionViajes.Parameters.Add(new SqlParameter("@HOY", Convert.ToDateTime(AerolineaFrba.Properties.Settings.Default.FechaSistema))); spCancelacionViajes.ExecuteNonQuery(); MessageBox.Show("Ya se cancelaron los viajes pendientes de la aeronave: " + aeronum); } } }
private void RemplazarEnViajeDesdeHasta(string aeronum, string fecha1, string fecha2, string viaje) { DbComunicator db2 = new DbComunicator(); db2.EjecutarQuery("SELECT TS.fnAeronavesParaRemplazarAEn(" + aeronum + "," + viaje + ") as Cantidad"); db2.getLector().Read(); if (Convert.ToInt16(db2.getLector()["Cantidad"].ToString()) > 0) { DbComunicator db3 = new DbComunicator(); db3.EjecutarQuery("SELECT TOP 1 A2.Aero_Num as AeroFutura FROM TS.Aeronave AS A, TS.Aeronave AS A2 WHERE A.Aero_Num=" + aeronum.ToString() + " AND A.Aero_Num!=A2.Aero_Num AND A2.Aero_Fabricante=A.Aero_Fabricante AND A.Aero_Servicio=A2.Aero_Servicio AND A2.Aero_Baja_Fuera_De_Servicio=0 and A2.Aero_Baja_Vida_Util=0 AND A2.Aero_Borrado=0"); db3.getLector().Read(); string aerofutura = db3.getLector()["AeroFutura"].ToString(); DbComunicator db4 = new DbComunicator(); SqlCommand spRemplazarAeroEn = db4.GetStoreProcedure("TS.spRemplazarAeroEnDesdeHasta"); spRemplazarAeroEn.Parameters.Add(new SqlParameter("@Aero", aeronum)); spRemplazarAeroEn.Parameters.Add(new SqlParameter("@Desde", Convert.ToDateTime(fecha1))); spRemplazarAeroEn.Parameters.Add(new SqlParameter("@Hasta", Convert.ToDateTime(fecha2))); spRemplazarAeroEn.Parameters.Add(new SqlParameter("@AeroFutura", aerofutura)); spRemplazarAeroEn.ExecuteNonQuery(); MessageBox.Show("Ya se remplazo la aeronave " + aeronum + " por la aeronave " + aerofutura + " en el viaje " + viaje); } else { MessageBox.Show("No existe aeronave que pueda remplazar la aeronave actual en el viaje: " + viaje); AgregarAeronaveRemplazo form = new AgregarAeronaveRemplazo(DGV_aeronave.SelectedRows[0]); form.ShowDialog(); this.RemplazarEnViajeDesdeHasta(aeronum, fecha1, fecha2, viaje); } }