示例#1
0
 /// <summary>
 /// Metodo que modifica un itinerario de la base de datos
 /// </summary>
 /// <param name="it">el itinerario a modificar</param>
 /// <returns>true si modifica existosamente, false en caso de error</returns>
 public Itinerario ModificarItinerario(Itinerario it)
 {
     try
     {
         con = new ConexionBase();
         con.Conectar();
         comm             = new NpgsqlCommand("mod_itinerario", con.SqlConexion);
         comm.CommandType = CommandType.StoredProcedure;
         comm.Parameters.AddWithValue(NpgsqlTypes.NpgsqlDbType.Integer, it.Id);
         comm.Parameters.AddWithValue(NpgsqlTypes.NpgsqlDbType.Varchar, it.Nombre);
         comm.Parameters.AddWithValue(NpgsqlTypes.NpgsqlDbType.Date, it.FechaInicio);
         comm.Parameters.AddWithValue(NpgsqlTypes.NpgsqlDbType.Date, it.FechaFin);
         comm.Parameters.AddWithValue(NpgsqlTypes.NpgsqlDbType.Integer, it.IdUsuario);
         pgread = comm.ExecuteReader();
         pgread.Read();
         con.Desconectar();
         return(it);
     }
     catch (NpgsqlException e)
     {
         con.Desconectar();
         throw e;
     }
     catch (InvalidCastException e)
     {
         con.Desconectar();
         throw e;
     }
     catch (Exception e)
     {
         con.Desconectar();
         throw e;
     }
 }
示例#2
0
 /// <summary>returns
 /// Metodo que agrega en la base de datos un nuevo itinerario
 /// </summary>
 /// <param name="it">el itinerario a agregar</param>
 /// <returns>true si agrega existosamente, false en caso de error</>
 public Itinerario AgregarItinerario(Itinerario it)
 {
     try
     {
         con = new ConexionBase();
         con.Conectar();
         comm             = new NpgsqlCommand("add_itinerario", con.SqlConexion);
         comm.CommandType = CommandType.StoredProcedure;
         comm.Parameters.AddWithValue(NpgsqlTypes.NpgsqlDbType.Varchar, it.Nombre);
         comm.Parameters.AddWithValue(NpgsqlTypes.NpgsqlDbType.Integer, it.IdUsuario);
         pgread = comm.ExecuteReader();
         pgread.Read();
         it.Id     = pgread.GetInt16(0);
         it.Nombre = pgread.GetString(1);
         con.Desconectar();
         return(it);
     }
     catch (NpgsqlException e)
     {
         con.Desconectar();
         throw e;
     }
     catch (InvalidCastException e)
     {
         con.Desconectar();
         throw e;
     }
     catch (NullReferenceException e)
     {
         con.Desconectar();
         throw e;
     }
     catch (Exception e)
     {
         con.Desconectar();
         throw e;
     }
 }
示例#3
0
        public List <Itinerario> ConsultarItinerariosCorreo(int id_usuario)
        {
            List <Itinerario> itinerarios = new List <Itinerario>(); // Lista de itinerarios de un usuario

            try
            {
                con = new ConexionBase();
                con.Conectar();
                comm             = new NpgsqlCommand("consultar_itinerarios_correo", con.SqlConexion);
                comm.CommandType = CommandType.StoredProcedure;
                comm.Parameters.AddWithValue(NpgsqlTypes.NpgsqlDbType.Integer, id_usuario);
                NpgsqlDataReader pgread = comm.ExecuteReader();
                int auxiliar            = 0;
                //Recorremos los registros devueltos
                while (pgread.Read())
                {
                    Itinerario iti;
                    if (!pgread.IsDBNull(2) && (!pgread.IsDBNull(3)))
                    {
                        iti = new Itinerario(pgread.GetInt32(0), pgread.GetString(1), pgread.GetDateTime(2), pgread.GetDateTime(3), id_usuario, true);
                    }
                    else
                    {
                        iti = new Itinerario(pgread.GetInt32(0), pgread.GetString(1), id_usuario, true);
                    }

                    //Se revisa si el registro de itinerario en la base ya se encuentra en la lista de itinerarios del usuario
                    if (itinerarios.Count == 0)
                    {
                        itinerarios.Add(iti);
                    }
                    foreach (Itinerario itinerario in itinerarios)
                    {
                        if (itinerario.Id == iti.Id)
                        {
                            auxiliar = 1;
                        }
                    }
                    if (auxiliar != 1)
                    {
                        itinerarios.Add(iti);
                    }
                    auxiliar = 0;

                    //Agregamos los eventos, actividades y lugares a la lista correspondiente
                    //Si existe lugar turistico en este registro
                    if (!pgread.IsDBNull(4))
                    {
                        dynamic lugar = new System.Dynamic.ExpandoObject();
                        lugar.Nombre      = pgread.GetString(4);
                        lugar.Descripcion = pgread.GetString(5);
                        lugar.Tipo        = "Lugar Turistico";

                        itinerarios[itinerarios.Count - 1].Items_agenda.Add(lugar);
                    }

                    //Si existe actividad en este registro
                    if (!pgread.IsDBNull(6))
                    {
                        dynamic actividad = new System.Dynamic.ExpandoObject();
                        actividad.Nombre      = pgread.GetString(6);
                        actividad.Descripcion = pgread.GetString(7);
                        actividad.Tipo        = "Actividad";

                        itinerarios[itinerarios.Count - 1].Items_agenda.Add(actividad);
                    }

                    //Si existe eventos en este registro.
                    if (!pgread.IsDBNull(8))
                    {
                        dynamic evento = new System.Dynamic.ExpandoObject();
                        evento.Nombre      = pgread.GetString(8);
                        evento.Descripcion = pgread.GetString(9);
                        evento.Tipo        = "Evento";

                        itinerarios[itinerarios.Count - 1].Items_agenda.Add(evento);
                    }
                }
                con.Desconectar();
                return(itinerarios);
            }
            catch (NpgsqlException sql)
            {
                con.Desconectar();
                throw sql;
            }
            catch (ArgumentException arg)
            {
                con.Desconectar();
                throw arg;
            }
            catch (InvalidCastException cast)
            {
                con.Desconectar();
                throw cast;
            }
            catch (Exception e)
            {
                con.Desconectar();
                throw e;
            }
        }