public void Agregar(Viaje pViaje) { List <Viaje> viajes = new List <Viaje>(); viajes.AddRange(Listar()); TimeSpan dif; if (pViaje._FechaArribo < DateTime.Now || pViaje._FechaPartida < DateTime.Now) { throw new Exception("La fecha de arribo y de partida deben ser posteriores a la fecha actual"); } if (pViaje._FechaArribo <= pViaje._FechaPartida) { throw new Exception("La fecha de arribo debe ser posterior a la fecha de partida"); } foreach (Viaje vi in viajes) { if (vi._Ter._Codigo == pViaje._Ter._Codigo && vi._FechaPartida.Date == pViaje._FechaPartida.Date) { dif = vi._FechaPartida.TimeOfDay.Subtract(pViaje._FechaPartida.TimeOfDay); if (dif.TotalHours < 2 && dif.TotalHours > -2) { throw new Exception("No puede haber un viaje al mismo destino con la misma hora de salida, al menos 2 hrs de diferencia."); } } } if (pViaje is ViajesInternacionales) { FabricaPersistencia.GetPersistenciaViajeInternacional().Agregar((ViajesInternacionales)pViaje); } else { FabricaPersistencia.GetPersistenciaViajeNacional().AgregarViaje((ViajesNacionales)pViaje); } }
public void Modificar(ViajesNacionales pViaje) { List <Viaje> viajes = new List <Viaje>(); viajes.AddRange(Listar()); viajes.AddRange(ListarViaje()); TimeSpan dif; if (pViaje._FechaArribo <= pViaje._FechaPartida) { throw new Exception("La fecha de arribo debe ser posterior a la fecha de partida"); } foreach (Viaje vi in viajes) { if (vi._NumViaje != pViaje._NumViaje && vi._Ter._Codigo == pViaje._Ter._Codigo && vi._FechaPartida.Date == pViaje._FechaPartida.Date) { dif = vi._FechaPartida.TimeOfDay.Subtract(pViaje._FechaPartida.TimeOfDay); if (dif.TotalHours < 2 && dif.TotalHours > -2) { throw new Exception("No puede haber un viaje al mismo destino con la misma hora de salida, al menos 2 hrs de diferencia."); } } } FabricaPersistencia.GetPersistenciaViajeNacional().ModificarViaje(pViaje); }
// LISTAS public List <Viaje> Listar() { List <Viaje> viajes = new List <Viaje>(); viajes.AddRange(FabricaPersistencia.GetPersistenciaViajeInternacional().Listar()); viajes.AddRange(FabricaPersistencia.GetPersistenciaViajeNacional().ListarViaje()); return(viajes); }
public void Eliminar(Viaje pViaje) { if (pViaje is ViajesInternacionales) { FabricaPersistencia.GetPersistenciaViajeInternacional().Eliminar((ViajesInternacionales)pViaje); } else { FabricaPersistencia.GetPersistenciaViajeNacional().EliminarViaje((ViajesNacionales)pViaje); } }
//BUSCAR public Viaje Buscar(int pNumero) { Viaje v; v = FabricaPersistencia.GetPersistenciaViajeInternacional().Buscar(pNumero); if (v == null) { v = FabricaPersistencia.GetPersistenciaViajeNacional().BuscarViaje(pNumero); } return(v); }
public List <ViajesNacionales> ListarViaje() { return(FabricaPersistencia.GetPersistenciaViajeNacional().ListarViaje()); }
public void Eliminar(ViajesNacionales pViaje) { FabricaPersistencia.GetPersistenciaViajeNacional().EliminarViaje(pViaje); }
// VIAJES NACIONALES public ViajesNacionales BuscarViaje(int pNumero) { return(FabricaPersistencia.GetPersistenciaViajeNacional().BuscarViaje(pNumero)); }