public Track_Rutas GetRutaById(int idRuta) { try { Track_Rutas _ruta = _context.Track_Rutas.Where(Z => Z.IdRuta == idRuta).FirstOrDefault(); return(_ruta); } catch (Exception) { return(null); } }
public bool ValidarRuta(int idOrigen, int idDestino) { try { Track_Rutas _existe = _context.Track_Rutas.Where(C => C.IdZonaOrigen == idOrigen && C.IdZonaDestino == idDestino).FirstOrDefault(); if (_existe != null) { return(true); } return(false); } catch (Exception) { return(false); } }
public void GetPuntosRuta(string idRuta) { int _idRuta; int.TryParse(idRuta, out _idRuta); Methods_Rutas _obj = new Methods_Rutas(); Track_Rutas _ruta = _obj.GetRutaById(_idRuta); var json = new { IdRuta = _ruta.IdRuta, IdOrigen = _ruta.IdZonaOrigen, IdDestino = _ruta.IdZonaDestino, ResumenRuta = _ruta.ResumenRuta, Puntos = _obj.GetPuntosRuta(_idRuta) }; string _response = JsonConvert.SerializeObject(json); Response.Write(_response); }
public string NuevaRuta(int idOrigen, int idDestino, string resumenRuta, List <Tuple <decimal, decimal> > verticesRuta) { try { int id; Track_Rutas _ruta = _context.Track_Rutas.Where(C => C.IdZonaOrigen == idOrigen && C.IdZonaDestino == idDestino).FirstOrDefault(); if (_ruta == null) { var _object = new Track_Rutas(); _object.IdZonaOrigen = idOrigen; _object.IdZonaDestino = idDestino; _object.ResumenRuta = resumenRuta; _context.Track_Rutas.Add(_object); _context.SaveChanges(); id = _object.IdRuta; } else { id = _ruta.IdRuta; List <Track_PuntosRuta> _puntosexistentes = _context.Track_PuntosRuta.Where(C => C.IdRuta == id).ToList(); for (int i = 0; i < _puntosexistentes.Count; i++) { _context.Track_PuntosRuta.Remove(_puntosexistentes[i]); } _ruta.ResumenRuta = resumenRuta; } for (int i = 0; i < verticesRuta.Count; i++) { Track_PuntosRuta _vertice = new Track_PuntosRuta(); _vertice.IdRuta = id; _vertice.IdPunto = (i + 1); _vertice.Latitud = verticesRuta[i].Item1; _vertice.Longitud = verticesRuta[i].Item2; _context.Track_PuntosRuta.Add(_vertice); } Track_PuntosRuta _ultVertice = new Track_PuntosRuta(); _ultVertice.IdRuta = id; _ultVertice.IdPunto = verticesRuta.Count + 1; _ultVertice.Latitud = verticesRuta[0].Item1; _ultVertice.Longitud = verticesRuta[0].Item2; _context.Track_PuntosRuta.Add(_ultVertice); _context.SaveChanges(); if (_ruta != null) { return("Ruta actualizada satisfactoriamente."); } else { return("Ruta guardada satisfactoriamente."); } } catch (Exception) { return("Se ha producido un error."); } }