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);
            }
        }
Beispiel #2
0
        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);
        }
Beispiel #6
0
 public List <ViajesNacionales> ListarViaje()
 {
     return(FabricaPersistencia.GetPersistenciaViajeNacional().ListarViaje());
 }
Beispiel #7
0
 public void Eliminar(ViajesNacionales pViaje)
 {
     FabricaPersistencia.GetPersistenciaViajeNacional().EliminarViaje(pViaje);
 }
Beispiel #8
0
        // VIAJES NACIONALES

        public ViajesNacionales BuscarViaje(int pNumero)
        {
            return(FabricaPersistencia.GetPersistenciaViajeNacional().BuscarViaje(pNumero));
        }