public ICollection <Viaje> ListarViajes()
 {
     try
     {
         using (uruguay_busEntities db = new uruguay_busEntities())
         {
             ICollection <Viaje> ret    = new List <Viaje>();
             ICollection <viaje> viajes = (ICollection <viaje>)db.viaje.ToList();
             foreach (var item in viajes)
             {
                 Viaje v = ViajeConverter.convert(item);
                 v.horario           = HorarioConverter.convert(item.horario);
                 v.horario.vehiculo  = VehiculoConverter.convert(item.horario.vehiculo);
                 v.horario.conductor = ConductorConverter.convert(item.horario.conductor);
                 v.horario.linea     = LineaConverter.convert(item.horario.linea);
                 ret.Add(v);
             }
             return(ret);
         }
     }
     catch (Exception e)
     {
         throw e;
     }
 }
        public Linea ModificarLinea(Linea l)
        {
            using (uruguay_busEntities db = new uruguay_busEntities())
            {
                try
                {
                    if (l == null)
                    {
                        throw new Exception("Se deve enviar el objeto que deceas modificar");
                    }

                    if (l.nombre == null)
                    {
                        throw new Exception("El nombre que se desa modificar no puede estar vacio");
                    }

                    linea LinMod = db.linea.Find(l.id);

                    if (LinMod == null)
                    {
                        throw new Exception("La linea que se desa modificar no existe");
                    }

                    LinMod.nombre = l.nombre;

                    db.SaveChanges();

                    return(LineaConverter.convert(LinMod));
                }
                catch (Exception e)
                {
                    throw e;
                }
            }
        }
        public ICollection <Horario> ListarHorarios()
        {
            using (uruguay_busEntities db = new uruguay_busEntities())
            {
                try
                {
                    ICollection <Horario> ret      = new List <Horario>();
                    ICollection <horario> horarios = (ICollection <horario>)db.horario.ToList();

                    foreach (var item in horarios)
                    {
                        Horario h = HorarioConverter.convert(item);
                        h.vehiculo  = VehiculoConverter.convert(item.vehiculo);
                        h.conductor = ConductorConverter.convert(item.conductor);
                        h.linea     = LineaConverter.convert(item.linea);
                        ret.Add(h);
                    }

                    return(ret);
                }
                catch (Exception e)
                {
                    throw e;
                }
            }
        }
Example #4
0
        public ICollection <Linea> ListarLinea()
        {
            try
            {
                using (uruguay_busEntities db = new uruguay_busEntities())
                {
                    ICollection <linea> lst = (ICollection <linea>)db.linea.ToList();
                    ICollection <Linea> ret = new List <Linea>();

                    foreach (var item in lst)
                    {
                        Linea l = LineaConverter.convert(item);

                        foreach (var t in item.tramo)
                        {
                            Tramo nuevo = TramoConverter.convert(t);
                            nuevo.parada = ParadaConverter.convert(t.parada);
                            l.tramos.Add(nuevo);
                        }
                        ret.Add(l);
                    }

                    return(ret);
                }
            }
            catch (Exception e)
            {
                throw e;
            }
        }
        public Linea RegistrarLinea(Linea l)
        {
            using (uruguay_busEntities db = new uruguay_busEntities())
            {
                try
                {
                    // convertir linea
                    // convertir tramos y asociarlos a la linea
                    // para cada tramo obtener la parada desde la DB y asociarlo
                    // para cada tramo convertir y asociar el precio
                    linea lin = LineaConverter.convert(l);
                    foreach (var t in l.tramos)
                    {
                        tramo tra = TramoConverter.convert(t);
                        lin.tramo.Add(tra);

                        parada par = db.parada.Find(t.parada.id);
                        if (par == null)
                        {
                            throw new Exception("No se encontro ninguna parada con ese ID");
                        }
                        tra.parada = par;

                        tra.precio.Add(PrecioConverter.convert(t.precio.First()));
                    }

                    // guardo la linea, sus tramos y sus precios (las paradas no, esas ya estaban en a DB)
                    db.linea.Add(lin);
                    //foreach (var tra in lin.tramo)
                    //{
                    //    db.tramo.Add(tra);
                    //    db.precio.Add(tra.precio.First());
                    //}
                    db.SaveChanges();

                    // Hago las conversiones inversas y las asociaciones
                    l = LineaConverter.convert(lin);
                    foreach (var tra in lin.tramo)
                    {
                        Tramo t = TramoConverter.convert(tra);
                        l.tramos.Add(t);

                        t.parada = ParadaConverter.convert(tra.parada);

                        precio pre = db.precio.FirstOrDefault(x => x.linea_id == l.id && x.parada_id == t.parada.id);
                        Precio p   = PrecioConverter.convert(pre);
                        t.precio.Add(p);
                    }

                    return(l);
                }
                catch (Exception e)
                {
                    throw e;
                }
            }
        }
        public ICollection <Viaje> RegistrarViajes(ICollection <Viaje> vs, int idHorario)
        {
            using (uruguay_busEntities db = new uruguay_busEntities())
            {
                try
                {
                    horario hor = db.horario.Find(idHorario);
                    if (hor == null)
                    {
                        throw new Exception("No se encontro ningun horario con ese ID");
                    }

                    ICollection <viaje> viajes          = ViajeConverter.convert(vs);
                    ICollection <viaje> viajesGuardados = new List <viaje>();

                    foreach (var via in viajes)
                    {
                        via.horario = hor;
                        db.viaje.Add(via);
                        viajesGuardados.Add(via);
                    }
                    db.SaveChanges();

                    //-------- para retornar
                    ICollection <Viaje> viajesRet = new List <Viaje>();

                    foreach (var item in viajesGuardados)
                    {
                        Viaje v = ViajeConverter.convert(item);
                        v.horario           = HorarioConverter.convert(item.horario);
                        v.horario.vehiculo  = VehiculoConverter.convert(item.horario.vehiculo);
                        v.horario.conductor = ConductorConverter.convert(item.horario.conductor);
                        v.horario.linea     = LineaConverter.convert(item.horario.linea);
                        viajesRet.Add(v);
                    }

                    return(viajesRet);
                }
                catch (Exception e)
                {
                    throw e;
                }
            }
        }
        public ICollection <Viaje> ListarViajesDelDia(int idConductor)
        {
            using (uruguay_busEntities db = new uruguay_busEntities())
            {
                try
                {
                    ICollection <Viaje> ret = new List <Viaje>();
                    conductor           c   = db.conductor.Find(idConductor);

                    if (c == null)
                    {
                        throw new Exception("No se pudo encontrar el conductor.");
                    }

                    foreach (var h in c.horario)
                    {
                        foreach (var v in h.viaje)
                        {
                            if (v.fecha.CompareTo(DateTime.Today) == 0 && v.finalizado == null)
                            {
                                Viaje Vi = ViajeConverter.convert(v);
                                Vi.horario       = HorarioConverter.convert(v.horario);
                                Vi.horario.linea = LineaConverter.convert(v.horario.linea);

                                ret.Add(Vi);
                            }
                        }
                    }

                    return(ret);
                }
                catch (Exception e)
                {
                    throw e;
                }
            }
        }