Ejemplo n.º 1
0
        public static void Edit(Recorrido recorridoModificado)
        {
            var conn = Repository.GetConnection();

            try
            {
                //Actualizo el campo activo
                SqlCommand comando = new SqlCommand(@"UPDATE TIRANDO_QUERIES.Recorrido set reco_activo = @activo WHERE reco_codigo = @idRecorrido ", conn);

                comando.Parameters.Add("@activo", SqlDbType.Bit);
                comando.Parameters["@activo"].Value = recorridoModificado.Activo;

                comando.Parameters.Add("@idRecorrido", SqlDbType.Int);
                comando.Parameters["@idRecorrido"].Value = recorridoModificado.Cod_Recorrido;

                comando.ExecuteNonQuery();

                //Elimino y reinserto los tramos
                TramoDAO.Edit(recorridoModificado.Tramos, recorridoModificado.Cod_Recorrido);
            }
            catch (Exception ex)
            {
                throw new Exception("Ocurrió un error al intentar modificar el recorrido", ex);
            }
            finally
            {
                conn.Dispose();
            }
        }
Ejemplo n.º 2
0
        public static Recorrido GetByID(int id)
        {
            var            conn    = Repository.GetConnection();
            string         comando = string.Format(@"SELECT * FROM TIRANDO_QUERIES.Recorrido WHERE reco_codigo = {0}", id);
            DataTable      dataTable;
            SqlDataAdapter dataAdapter;

            try
            {
                dataAdapter = new SqlDataAdapter(comando, conn);
                dataTable   = new DataTable();

                dataAdapter.Fill(dataTable);

                DataRow registroRecorrido = dataTable.Rows[0];

                var idRecorrido = int.Parse(registroRecorrido["reco_codigo"].ToString());

                var recorrido = new Recorrido
                {
                    Cod_Recorrido = idRecorrido,
                    Activo        = bool.Parse(registroRecorrido["reco_activo"].ToString()),
                    Tramos        = TramoDAO.GetAllForID(idRecorrido)
                };

                conn.Close();
                conn.Dispose();

                return(recorrido);
            }
            catch (Exception ex)
            {
                throw new Exception("Ocurrió un error al intentar obtener el recorrido", ex);
            }
        }
Ejemplo n.º 3
0
        public Recorrido getRecorrido(long idRecorrido)
        {
            BaseDeDatos db = BaseDeDatos.Instance;

            String sql;

            sql  = "SELECT R.ID, C1.ID AS ciudadOrigenID, C1.nombre AS ciudadOrigenNombre, C2.ID AS ciudadDestinoID, C2.nombre AS ciudadDestinoNombre, R.tipoServicio, R.precioBasePasaje, R.precioBaseKg, R.habilitado ";
            sql += "FROM SENIOR_DEVELOPERS.Recorrido R, SENIOR_DEVELOPERS.Ciudad C1, SENIOR_DEVELOPERS.Ciudad C2 ";
            sql += "WHERE R.ciudadOrigen_ID = C1.ID AND R.ciudadDestino_ID = C2.ID ";
            sql += "AND R.ID = " + idRecorrido;

            SqlDataReader reader = db.executeReader(sql);

            reader.Read();

            Recorrido recorrido = new Recorrido();

            recorrido.codigo               = idRecorrido;
            recorrido.precioPasaje         = Convert.ToDouble(reader["precioBasePasaje"]);
            recorrido.precioKg             = Convert.ToDouble(reader["precioBaseKg"]);
            recorrido.habilitado           = ((String)reader["habilitado"]).Equals("Si");
            recorrido.tipoServicio         = new TipoServicio();
            recorrido.tipoServicio.nombre  = (String)reader["tipoServicio"];
            recorrido.ciudadOrigen         = new Ciudad();
            recorrido.ciudadOrigen.ID      = (int)reader["ciudadOrigenID"];
            recorrido.ciudadOrigen.nombre  = (String)reader["ciudadOrigenNombre"];
            recorrido.ciudadDestino        = new Ciudad();
            recorrido.ciudadDestino.ID     = (int)reader["ciudadDestinoID"];
            recorrido.ciudadDestino.nombre = (String)reader["ciudadDestinoNombre"];

            reader.Close();

            return(recorrido);
        }
Ejemplo n.º 4
0
 public DetalleRecorridoPasajes(ListadoEstadistico _padre, Recorrido _recorrido)
 {
     InitializeComponent();
     this.padre     = _padre;
     this.recorrido = _recorrido;
     this.completarVista();
 }
Ejemplo n.º 5
0
    public void ResetRecorrido()
    {
        Recorrido r = new Recorrido();

        r.id = -1;
        selectedRecorrido = r;
    }
Ejemplo n.º 6
0
        public static Recorrido ObtenerRecorridoDesdeUnReader(SqlDataReader reader)
        {
            Recorrido recorrido = new Recorrido();

            if (reader.HasRows)
            {
                while (reader.Read())
                {
                    if (!reader.IsDBNull(0))
                    {
                        recorrido.rec_id = reader.GetString(0);
                    }
                    if (!reader.IsDBNull(1))
                    {
                        recorrido.rec_pue_id_desde = Convert.ToInt32(reader.GetDecimal(1));
                    }
                    if (!reader.IsDBNull(2))
                    {
                        recorrido.rec_pue_id_hasta = Convert.ToInt32(reader.GetDecimal(2));
                    }
                    if (!reader.IsDBNull(3))
                    {
                        recorrido.rec_estado = reader.GetBoolean(3);
                    }
                }
            }
            reader.Close();
            return(recorrido);
        }
Ejemplo n.º 7
0
        public ViewResult Details(int id)
        {
            Guid  keyUser = (Guid)Membership.GetUser().ProviderUserKey;
            Socio socio   = db.Socio.Where(o => o.idUsuario == keyUser).FirstOrDefault();

            if (HttpContext.User.IsInRole("Cliente"))
            {
                int miRecorrido = db.Recorrido.Where(r => r.idRecorrido == id && r.idSocio == socio.idSocio).Count();
                if (miRecorrido == 0)
                {
                    return(View("Error"));
                }
            }
            if (HttpContext.User.IsInRole("Oficina"))
            {
                //Seleccinamos todos los socios de la oficina
                Socio socios      = db.Socio.Where(s => s.idOficina == socio.idOficina).FirstOrDefault();
                int   miRecorrido = db.Recorrido.Where(r => r.idRecorrido == id && r.idSocio == socios.idSocio).Count();
                if (miRecorrido == 0)
                {
                    return(View("Error"));
                }
            }

            Recorrido recorrido = db.Recorrido.Single(r => r.idRecorrido == id);

            return(View(recorrido));
        }
        //****************************************************************************************************************

        public Recorrido seleccionRecorrido(List <Recorrido> recorridos)
        {
            objControladorRecorrido = new ControladorRecorrido();
            Recorrido objRecorrido = null;

            bool boolEntrar = true;

            while (boolEntrar)
            {
                Console.Write("Seleccion:");
                try
                {
                    int     intSeleccion = int.Parse(Console.ReadLine());
                    Boolean boolValidar  = objControladorRecorrido.validarRecorrido(recorridos, intSeleccion);

                    if (boolValidar)
                    {
                        objRecorrido = recorridos[intSeleccion - 1];
                        boolEntrar   = false;
                    }
                    else
                    {
                        throw new ExceptionSeleccionNoValida();
                    }
                }
                catch (ExceptionSeleccionNoValida e) { e.mensajeError(); }
                catch (FormatException) { Console.WriteLine("Solo se Permite la Seleccion con Numeros."); }
                catch (Exception) { Console.WriteLine("Error Vuelva a Ingresar."); }
            }
            return(objRecorrido);
        }
Ejemplo n.º 9
0
        //Algortmo de resolucion del laberinto
        public Point moveAgent(params Point[] directions)
        {
            if (Recorrido.Count == 1)
            {
                Recorrido.Push(directions[0]);
                CeldasVisitadas.Add(directions[0]);
                return(directions[0]);
            }
            else
            {
                foreach (Point punto in directions)
                {
                    if (!CeldasVisitadas.Contains(punto))
                    {
                        CeldasVisitadas.Add(punto);
                        Recorrido.Push(punto);
                        return(punto);
                    }
                }
                Recorrido.Pop();
                foreach (Point punto in directions)
                {
                    if (punto.Equals(Recorrido.Peek()))
                    {
                        return(punto);
                    }
                }

                return(end);
            }
        }
Ejemplo n.º 10
0
        // Cambiamos el comportamiento del botón Enviar nuevo recorrido: Ahora será el botón Guardar los cambios del recorrido editado
        override protected void btnEnviar_Click(object sender, EventArgs e) // Botón GUARDAR
        {
            // 1. Primero actualizamos el identificador del recorrido
            // Seteamos el identificador al recorrido y validamos que no sea nulo o cadena vacía
            try
            {
                recorrido.setIdentificador(txtbxCodRecorrido.Text);
            }
            catch (IdentificadorCruceroNullException ex)
            {
                ex.mensajeError();
                return;
            }

            // Validamos que el código de recorrido éste disponible
            string identificadorRecorridoEditado = txtbxCodRecorrido.Text; // Puede ser igual al anterior

            if (Recorrido.identificadorDisponibleEditarRecorrido(identificadorRecorridoAEditar, identificadorRecorridoEditado, pkRecorridoAEditar).Equals(false))
            {
                MensajeBox.error("El identificador ingresado para el recorrido ya se encuentra en uso en otro recorrido diferente a éste. Por favor, pruebe con uno diferente.");
                return;
            }

            // 2. Borramos todos los tramos en la BD del recorrido a editar
            Recorrido.eliminarTramos(pkRecorridoAEditar);

            // 3. Insertamos los nuevos tramos seleccionados para el recorrido a editar
            recorrido.actualizar(identificadorRecorridoAEditar);

            MensajeBox.info("El recorrido se actualizo correctamente");
            this.Close(); // Cerramos el formulario de editar recorrido
        }
Ejemplo n.º 11
0
        private void PlanillasHorariasForm_Load(object sender, EventArgs e)
        {
            Abrir();

            try
            {
                RefrescarGeneracionPlanillas();

                dtpFecha.Value = DateTime.Today;

                List <ChoferBE> choferes = Chofer.ListarTodos().OrderBy(c => c.Nombre).ToList();
                choferes.Insert(0, new ChoferBE());
                cmbChofer.DataSource = choferes;

                List <VehiculoBE> coches = Vehiculo.ListarTodos().OrderBy(v => v.Patente).ToList();
                coches.Insert(0, new VehiculoBE());
                cmbCoche.DataSource = coches;

                List <RecorridoBE> recorridos = Recorrido.ListarTodos().OrderBy(r => r.ToString()).ToList();
                recorridos.Insert(0, new RecorridoBE());
                cmbRecorrido.DataSource = recorridos;
            }
            catch
            {
                MostrarError();
            }
        }
Ejemplo n.º 12
0
        public Recorrido RegistrarRecorrido(Recorrido recorrido)
        {
            try
            {
                var ruta = _crudRuta.Retrieve <Ruta>(new Ruta {
                    Id = recorrido.RutaId
                });
                if (ruta == null || !ruta.Estado.Equals("Activo")) //No existe la ruta o esta inactiva
                {
                    throw new BusinessException(221);
                }

                ruta.Horarios = _crudHorario.RetrieveByRuta <Horario>(new Horario {
                    RutaId = ruta.Id
                });

                var day = ((int)DateTime.Now.DayOfWeek == 0) ? 7 : (int)DateTime.Now.DayOfWeek;
                if (ruta.Horarios.FirstOrDefault(h => h.Dia == day && h.Hora == recorrido.Horario) == null) //Noexiste el horario indicado.
                {
                    throw new BusinessException(226);
                }

                var linea = _crudLinea.Retrieve <Linea>(new Linea {
                    LineaId = ruta.LineaId
                });
                if (linea == null || !linea.Estado.Equals("Activo")) //No existe la linea o esta inactiva
                {
                    throw new BusinessException(225);
                }

                var bus = _crudBus.Retrieve <Bus>(new Bus {
                    Id = recorrido.BusPlaca
                });
                if (bus == null || !bus.Estado.Equals("Activo")) //No existe el bus o esta inactiva
                {
                    throw new BusinessException(222);
                }

                var chofer = _crudChofer.Retrieve <Chofer>(new Chofer {
                    Cedula = recorrido.ChoferCedula
                });
                if (chofer == null || !chofer.Estado.Equals("Activo") || !chofer.Empresa.Equals(linea.Empresa.CedulaJuridica)) //No existe el chofer o esta inactiva
                {
                    throw new BusinessException(223);
                }

                recorrido.RecorridoId = _crudRecorrido.CreateId(recorrido);

                if (recorrido.RecorridoId < 1) //id invalido
                {
                    throw new BusinessException(219);
                }
            }
            catch (Exception e)
            {
                ExceptionManager.GetInstance().Process(e);
            }

            return(recorrido);
        }
Ejemplo n.º 13
0
        public Recorrido CalcularRecorrido(Recorrido recorrido, string url)
        {
            var urlFinal = string.Format(
                "{0}?mi={1}&pi={2}&ai={3}&ei={4}&mf={5}&pf={6}&af={7}&ef={8}&t={9}&av={10}&au={11}",
                url,
                recorrido.DireccionInicial.IdMapa,
                recorrido.DireccionInicial.IdPoligonal,
                recorrido.DireccionInicial.Altura,
                recorrido.DireccionInicial.IdEsquina,
                recorrido.DireccionFinal.IdMapa,
                recorrido.DireccionFinal.IdPoligonal,
                recorrido.DireccionFinal.Altura,
                recorrido.DireccionFinal.IdEsquina,
                recorrido.TipoRecorrido,
                recorrido.PesoAvenida,
                recorrido.PesoAutopista);

            try
            {
                var xml = GetXml(urlFinal);

                var node = xml.GetElementsByTagName("RECORRIDO")[0];
                recorrido.FromXml(node);
            }
            catch
            {
            }
            return(recorrido);
        }
Ejemplo n.º 14
0
        public static void Add(Recorrido recorrido)
        {
            var conn = Repository.GetConnection();

            //Inserto el recorrido y obtengo el id
            SqlCommand comando = new SqlCommand(@"INSERT INTO TIRANDO_QUERIES.Recorrido(reco_activo) VALUES(@activo); " +
                                                "SELECT CAST(scope_identity() AS int)", conn);

            try
            {
                recorrido.Activo = true;
                comando.Parameters.Add("@activo", SqlDbType.Bit);
                comando.Parameters["@activo"].Value = recorrido.Activo;
                int idRecorrido = Convert.ToInt32(comando.ExecuteScalar());

                //Inserto los tramos en base con el id de recorrido
                TramoDAO.Add(recorrido.Tramos, idRecorrido);
            }
            catch (Exception ex)
            {
                throw new Exception("Ocurrió un error al intentar crear el recorrido", ex);
            }
            finally
            {
                comando.Dispose();
                conn.Close();
                conn.Dispose();
            }
        }
Ejemplo n.º 15
0
        public void RegistrarLlegada(Recorrido recorrido)
        {
            try
            {
                var recorridoDb = _crudRecorrido.Retrieve <Recorrido>(recorrido);
                if (recorridoDb == null) //No existe
                {
                    throw new BusinessException(217);
                }

                if (ListaRecorridosActuales.FirstOrDefault(r => r.RecorridoId == recorridoDb.RecorridoId) == null || recorridoDb.HoraSalida == DateTime.MinValue) //no ha salido
                {
                    throw new BusinessException(218);
                }

                recorridoDb.HoraLlegada = DateTime.Now;

                _crudRecorrido.UpdateLlegada(recorridoDb);

                var posicion = ListaRecorridosActuales.FirstOrDefault(r => r.RecorridoId == recorridoDb.RecorridoId);
                ListaRecorridosActuales.Remove(posicion);
            }
            catch (Exception e)
            {
                ExceptionManager.GetInstance().Process(e);
            }
        }
Ejemplo n.º 16
0
        public void GenerateRecorrido(Ruta ruta, TimeSpan hora)
        {
            try
            {
                Console.WriteLine($"Terminal: {_config.Terminal} -> " + $"Ruta {ruta.RutaName} : recorrido: {new DateTime(hora.Ticks).ToString("HH:mm")}");
                var buses    = _busList.Where(b => b.EmpresaId == ruta.EmpresaId).ToList();
                var choferes = _choferList.Where(c => c.Empresa == ruta.EmpresaId).ToList();

                var recorrido = new Recorrido
                {
                    RutaId       = ruta.Id,
                    Horario      = hora,
                    ChoferCedula = choferes[new Random().Next(choferes.Count)].Cedula,
                    BusPlaca     = buses[new Random().Next(buses.Count)].Id
                };
                ThreadPool.QueueUserWorkItem(_ => RunRecorrido(ruta, recorrido));
            }
            catch (Exception e)
            {
                Console.WriteLine($"Terminal: {_config.Terminal} -> GenRecorrido: " + e.Message);
            }
            finally
            {
                _resetEvent.Set();
            }
        }
Ejemplo n.º 17
0
        public void InsertActividad(Actividad item)
        {
            List <TipoActividad> activities = _sqlCon.GetAllWithChildren <TipoActividad>();

            readLock.Wait();
            try
            {
                var           activity      = _sqlCon.Table <Actividad>().FirstOrDefault(a => a.Id == item.Id);
                TipoActividad tipoActividad = _sqlCon.Table <TipoActividad>().FirstOrDefault(t => t.Id == item.Id_tipo_actividad);
                Recorrido     recorrido     = _sqlCon.Table <Recorrido>().FirstOrDefault(r => r.Id == item.Id_recorrido);
                if (tipoActividad == null || recorrido == null)
                {
                    return;
                }

                item.tipoActividad = tipoActividad;
                item.Recorrido     = recorrido;

                if (activity == null)
                {
                    _sqlCon.InsertWithChildren(item);
                }
                else
                {
                    item.Id = activity.Id;
                    _sqlCon.UpdateWithChildren(item);
                }
            }
            finally
            {
                readLock.Release();
            }
        }
Ejemplo n.º 18
0
        public async Task <int> InsertRecorridoAsync(Recorrido recorrido)
        {
            await readLock.WaitAsync();

            int pk = -1;

            try
            {
                int rowId = 0;
                _sqlCon.RunInTransaction(() =>
                {
                    _sqlCon.Insert(recorrido);
                    rowId = _sqlCon.ExecuteScalar <int>("SELECT last_insert_rowid()");
                });

                pk = _sqlCon.ExecuteScalar <int>("SELECT Id FROM Recorrido WHERE rowid = ?", rowId);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
            finally
            {
                readLock.Release();
            }

            return(pk);
        }
Ejemplo n.º 19
0
 public RecorridoVo(Recorrido recorrido)
 {
     Id        = recorrido.Id;
     Codigo    = recorrido.Codigo;
     Nombre    = recorrido.Nombre;
     Distancia = recorrido.Detalles.Sum(d => d.Distancia);
 }
Ejemplo n.º 20
0
        private void traducirToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Console.WriteLine(!(true || false));
            Syntactic mySyntactic = new Syntactic();
            //bool resultado = mySyntactic.analyze(getRichTextBox().Text);
            ParseTreeNode resultado = mySyntactic.analyze(getRichTextBox().Text);

            if (resultado != null)
            {
                MessageBox.Show("Analisis Correcto");
                richTextBox1.Text = "";
                String text     = "";
                String lenguaje = (Recorrido.recorrerAST(resultado.ChildNodes.ElementAt(0), text));
                getRichTextBox2().Text = lenguaje;
                Recorrido.traducir(resultado);
                Syntactic.generarImagen(resultado);
            }
            else
            {
                MessageBox.Show("Analisis con errores");
                richTextBox1.Text = "";

                foreach (sol.com.analyzer.Token item in Syntactic.lista)
                {
                    richTextBox1.Text += "\nError " + item.tipo + ": Lexema: \"" + item.lexema + "\"" + ", Linea: " + item.fila + ", Columna: " + item.columna + ", Descripcion: " + item.descripcion;
                }
            }
        }
Ejemplo n.º 21
0
        public List <Recorrido> traerRecorridos()
        {
            SqlConnection    objConexion   = new SqlConnection(ConexionSQLServer.getConexion());
            DataTable        objTablaDatos = new DataTable();
            List <Recorrido> recorridos    = new List <Recorrido>();

            SqlCommand objComando = new SqlCommand();

            objComando.Connection  = objConexion;
            objComando.CommandText = "SELECT * FROM RECORRIDO";
            objComando.CommandType = CommandType.Text;

            objConexion.Open();
            SqlDataReader objReader = objComando.ExecuteReader();

            objTablaDatos.Load(objReader);
            objConexion.Close();

            foreach (DataRow recorrido in objTablaDatos.Rows)
            {
                Recorrido objRecorrido = new Recorrido();
                objRecorrido.IdRecorrido = Convert.ToInt32(recorrido["ID"]);
                objRecorrido.Terminales  = recorrido["TERMINALES_RECORRIDO"].ToString();
                recorridos.Add(objRecorrido);
            }
            return(recorridos);
        }
Ejemplo n.º 22
0
 public FormModificarRecorrido(long idRecorrido, FormListadoRecorrido formListadoRecorrido)
 {
     InitializeComponent();
     this.codigoAnterior = idRecorrido;
     this.formListado    = formListadoRecorrido;
     this.recorrido      = RecorridoDAO.getInstance().getRecorrido(idRecorrido);
     this.completarValores();
 }
Ejemplo n.º 23
0
        public ActionResult Create(int id)
        {
            var recorrido = new Recorrido();

            recorrido.IdObra = id;

            return(View(recorrido));
        }
Ejemplo n.º 24
0
        protected override void guardar(Recorrido recorrido)
        {
            RecorridoDAO recorridoDAO = RecorridoDAO.getInstance();

            recorridoDAO.modificarRecorrido(recorrido, codigoAnterior);

            formListado.cargarTabla();
        }
Ejemplo n.º 25
0
 public Recorrido GetActualRecorrido()
 {
     if (selectedRecorrido.id == -1 || selectedRecorrido.ejercicios.exercises.Count <= 0)
     {
         selectedRecorrido = recorridos.Find(x => x.id == Data.Instance.playerData.mode);
     }
     return(selectedRecorrido);
 }
Ejemplo n.º 26
0
        public ActionResult DeleteConfirmed(int id)
        {
            Recorrido recorrido = db.Recorrido.Single(r => r.idRecorrido == id);

            db.Recorrido.DeleteObject(recorrido);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
    /// <summary>
    /// Acción para calificar una imagen en el sistema
    /// </summary>
    public void EjecutarAccion()
    {
        int          idImagen     = Recorrido.imagenActual;
        int          idRecorrido  = Recorrido.id;
        DAORecorrido daoRecorrido = new DAORecorrido();

        daoRecorrido.CalificarImagen(idImagen, idRecorrido, _calificacion);
        Recorrido.CalificarImagen(idImagen, _calificacion);
    }
Ejemplo n.º 28
0
 public RecorridoView(Recorrido recorrido, ModoInteraccion modo)
 {
     InitializeComponent();
     controller = new RecorridoController(this, recorrido);
     controller.setearDatosIniciales();
     if (modo.Equals(ModoInteraccion.VISUALIZAR))
     {
         readOnly();
     }
 }
Ejemplo n.º 29
0
 public ActionResult Edit(Recorrido recorrido)
 {
     if (ModelState.IsValid)
     {
         db.Entry(recorrido).State = EntityState.Modified;
         db.SaveChanges();
         return RedirectToAction("Index");
     }
     return View(recorrido);
 }
Ejemplo n.º 30
0
        public ActionResult Create(Recorrido recorrido, int id)
        {
            BLLRecorrido bll = new BLLRecorrido();

            recorrido.IdObra = id;
            recorrido.id     = 0;

            bll.CreateRecorrido(recorrido);
            return(RedirectToAction("Index", new { id = recorrido.IdObra }));
        }
Ejemplo n.º 31
0
    void AddJsonData(string jsonName, int id)
    {
        Debug.Log("ID: " + id);
        TextAsset json = Resources.Load(Path.Combine("JSON", jsonName)) as TextAsset;
        Recorrido a    = new Recorrido();

        a.id         = id;
        a.ejercicios = JsonUtility.FromJson <Ejercicios>(json.text);
        recorridos.Add(a);
    }
Ejemplo n.º 32
0
        public ActionResult Create(Recorrido recorrido)
        {
            if (ModelState.IsValid)
            {
                db.recorrido.Add(recorrido);
                db.SaveChanges();
                return RedirectToAction("Index");
            }

            return View(recorrido);
        }
Ejemplo n.º 33
0
        private void listado_recorridos_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
            if (e.ColumnIndex == 6)
            {
                Int32 id_recorrido = Convert.ToInt32(listado_recorridos.Rows[e.RowIndex].Cells["id_recorrido"].Value.ToString());
                String query = "select re.ID_RECORRIDO, re.CODIGO_RECORRIDO, ci_o.NOMBRE_CIUDAD, ci_d.NOMBRE_CIUDAD, ts.DESCRIPCION, ts.ID_TIPO_SERVICIO " +
                               "from SASHAILO.Recorrido re " +
                               "join SASHAILO.Recorrido_Ciudades rc on rc.ID_RECORRIDO_CIUDADES = re.ID_RECORRIDO_CIUDADES " +
                               "join SASHAILO.Ciudad ci_o on ci_o.ID_CIUDAD = rc.ID_CIUDAD_ORIGEN " +
                               "join SASHAILO.Ciudad ci_d on ci_d.ID_CIUDAD = rc.ID_CIUDAD_DESTINO " +
                               "join SASHAILO.Tipo_Servicio ts on ts.ID_TIPO_SERVICIO = re.ID_TIPO_SERVICIO " +
                               "where re.ID_RECORRIDO = "+id_recorrido+"";
                Conexion cn = new Conexion();
                SqlDataReader consulta = cn.consultar(query);
                if(consulta.Read())
                {
                    string codigo = consulta.GetString(1);
                    string ciudad_o = consulta.GetString(2);
                    string ciudad_d = consulta.GetString(3);
                    string tipo_serv = consulta.GetString(4);
                    int id_tipo_serv = consulta.GetInt32(5);

                    Recorrido reco = new Recorrido();
                    reco.id = id_recorrido;
                    reco.ciudad_o = ciudad_o;
                    reco.ciudad_d = ciudad_d;
                    reco.tipo_servicio = tipo_serv;
                    reco.id_tipo_servicio = id_tipo_serv;

                    this.recorrido = reco;

                }
                cn.desconectar();

                Seleccionar_Recorrido.ActiveForm.Close();

            }
        }