コード例 #1
0
        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);
            }
        }
コード例 #2
0
        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);
            }
        }
コード例 #3
0
        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);
        }
コード例 #4
0
        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.");
            }
        }