public static void asociarPasajesOrigen(parada p, ICollection <pasaje> po) { foreach (var item in po) { item.parada_origen = p; item.parada_id_origen = p.id; p.pasajes_origen.Add(item); } }
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 static void asociarTramos(parada p, ICollection <tramo> t) { foreach (var item in t) { item.parada = p; item.parada_id = p.id; p.tramo.Add(item); } }
public static void asociarPasajesDestino(parada p, ICollection <pasaje> pd) { foreach (var item in pd) { item.parada_destino = p; item.parada_id_destino = p.id; p.pasajes_destino.Add(item); } }
public static parada convert(Parada p) { if (p == null) { return(null); } parada ret = new parada() { id = p.id, nombre = p.nombre, latitud = p.latitud, longitud = p.longitud }; return(ret); }
public Parada RegistrarParada(Parada p) { using (uruguay_busEntities db = new uruguay_busEntities()) { try { parada par = ParadaConverter.convert(p); db.parada.Add(par); db.SaveChanges(); return(ParadaConverter.convert(par)); } catch (Exception e) { throw e; } } }
private int GetParadaAnterior(int idlinea, int?idParada) { DAL_Global DAL_G = new DAL_Global(); var paradas = DAL_G.obtenerParadasDeLinea(idlinea).Select(x => ParadaConverter.convert(x)).ToList(); // obtengo laparada de referencia y luego obtengo su indice en la coleccion parada paradaReferencia = paradas.Where(x => x.id == idParada).FirstOrDefault(); int indexParadaReferencia = paradas.IndexOf(paradaReferencia); // si no se encuentra o si es la primera, devuelvo 0 // si se encuentra la ubico en la coleccion y devuelvo su ID if (indexParadaReferencia <= 0) { return(0); } else { return(paradas.ElementAt(indexParadaReferencia - 1).id); } }
public Parada ModificarParada(Parada p) { using (uruguay_busEntities db = new uruguay_busEntities()) { try { if (p == null || db.parada.Find(p.id) == null) { throw new Exception("No se encontro ninguna parada con ese ID"); } parada par = db.parada.Find(p.id); par.nombre = p.nombre; //par.latitud = p.latitud; //par.longitud = p.longitud; db.SaveChanges(); return(ParadaConverter.convert(par)); } catch (Exception e) { throw e; } } }
public ICollection <Usuario> RegistrarPasoPorParada(int idParada, int idViaje) { using (uruguay_busEntities db = new uruguay_busEntities()) { try { IDAL_Global blg = new DAL_Global(); ICollection <usuario> retSinConvertir = new List <usuario>(); viaje v = db.viaje.Find(idViaje); parada p = db.parada.Find(idParada); if (v == null) { throw new Exception("No se encontro ningun viaje con ese ID"); } if (p == null) { throw new Exception("No se encontro ninguna parada con ese ID"); } vehiculo vh = v.horario.vehiculo; paso_por_parada ppp = new paso_por_parada() { fecha_hora = DateTime.Now, viaje = v, parada = p }; db.paso_por_parada.Add(ppp); vh.latitud = p.latitud; vh.longitud = p.longitud; db.SaveChanges(); ICollection <parada> paradasOrdenadas = ParadaConverter.convert(blg.obtenerParadasDeLinea(v.horario.linea.id)); parada siguienteParada = null; for (int i = 0; i < paradasOrdenadas.Count; i++) { if (paradasOrdenadas.ElementAt(i).id == idParada && i + 1 < paradasOrdenadas.Count) { siguienteParada = paradasOrdenadas.ElementAt(i + 1); } } if (siguienteParada == null) { return(new List <Usuario>()); } retSinConvertir = siguienteParada.pasajes_origen .Where(x => x.usuario != null) .Select(x => x.usuario).ToList(); //foreach (var item in siguienteParada.pasaje1) //{ // retSinConvertir.Add(item.usuario); //} ICollection <Usuario> retConvertido = new List <Usuario>(); foreach (var item in retSinConvertir) { Usuario nuevo = UsuarioConverter.convert(item); nuevo.persona = PersonaConverter.convert(item.persona); retConvertido.Add(nuevo); } return(retConvertido); } catch (Exception e) { throw e; } } }