示例#1
0
        /// <summary>
        /// Allows add a new "Entrega" to the database
        /// </summary>
        /// <param name="pEntrega">Entrega to be added</param>
        public void Agregar(EntregaInsumos pEntrega)
        {
            if (pEntrega == null)
            {
                throw new ArgumentNullException(nameof(pEntrega));
            }

            string query = "INSERT INTO \"Entrega\" (\"idUsuario\", \"idPersona\", fecha) VALUES (@usuario, @persona, @fecha)";

            try
            {
                using NpgsqlCommand comando = this._conexion.CreateCommand();

                comando.CommandText = query;
                comando.Parameters.AddWithValue("@usuario", pEntrega.IdUsuario);
                comando.Parameters.AddWithValue("@persona", pEntrega.IdPersona);
                comando.Parameters.AddWithValue("@fecha", pEntrega.Fecha.ToString());
                comando.ExecuteNonQuery();
            }
            catch (PostgresException e)
            {
                throw new DAOException("Error al agregar entrega: " + e.Message);
            }
            catch (NpgsqlException e)
            {
                throw new DAOException("Error al agregar entrega: " + e.Message);
            }
        }
示例#2
0
        /// <summary>
        /// Agrega una entrega
        /// </summary>
        /// <param name="nombrePersona">nombre de la persona que retira</param>
        public static int AgregarEntrega(string nombrePersona)
        {
            int            idPersona = ControladorPersona.Obtener(nombrePersona).IdPersona;
            EntregaInsumos entrega   = new EntregaInsumos(IDUsuarioLogeado, idPersona, DateTime.Today);

            return(ControladorEntrega.Agregar(entrega));
        }
示例#3
0
        /// <summary>
        /// Permite obtener una Entrega
        /// </summary>
        /// <param name="idEntrega">ID de la entrega a buscar</param>
        /// <returns>Entrega encontrada en caso de éxito. Null caso contrario</returns>
        public static EntregaInsumos Obtener(int idEntrega)
        {
            DAOFactory factory = DAOFactory.Instancia();

            try
            {
                factory.IniciarConexion();
                EntregaInsumos entrega = factory.EntregaDAO.Obtener(idEntrega);
                factory.FinalizarConexion();

                return(entrega);
            }
            catch (DAOException e)
            {
                factory.RollBack();
                factory.FinalizarConexion();
                throw new LogicaException(e.Message);
            }
        }
示例#4
0
        /// <summary>
        /// Obtain an "Engtrega" by his ID
        /// </summary>
        /// <param name="pIdEntrega">ID to search by</param>
        public EntregaInsumos Obtener(int pIdEntrega)
        {
            string         query   = "SELECT * FROM \"Entrega\" WHERE \"idEntrega\" = '" + pIdEntrega + "'";
            EntregaInsumos entrega = null;

            try
            {
                using NpgsqlCommand comando = this._conexion.CreateCommand();
                comando.CommandText         = query;


                using (NpgsqlDataAdapter adaptador = new NpgsqlDataAdapter(comando))
                {
                    DataTable tabla = new DataTable();
                    adaptador.Fill(tabla);

                    foreach (DataRow fila in tabla.Rows)
                    {
                        int      _id        = Convert.ToInt32(fila["idEntrega"]);
                        int      _idUser    = Convert.ToInt32(fila["idUsuario"]);
                        int      _idPersona = Convert.ToInt32(fila["idPersona"]);
                        DateTime _fecha     = Convert.ToDateTime(fila["fecha"]);

                        entrega = new EntregaInsumos(_id, _idUser, _idPersona, _fecha);
                    }
                    tabla.Dispose();
                }
                return(entrega);
            }
            catch (PostgresException e)
            {
                throw new DAOException("Error al obetener entrega: " + e.Message);
            }
            catch (NpgsqlException e)
            {
                throw new DAOException("Error al obetener entrega: " + e.Message);
            }
        }
示例#5
0
        /// <summary>
        /// Permite agregar una Entrega
        /// </summary>
        /// <param name="pEntrega">Entrega a agregar</param>
        /// <returns>-1 si tuvo éxito</returns>
        public static int Agregar(EntregaInsumos pEntrega)
        {
            if (pEntrega == null)
            {
                throw new ArgumentNullException(nameof(pEntrega));
            }

            DAOFactory factory = DAOFactory.Instancia();

            try
            {
                factory.IniciarConexion();
                factory.EntregaDAO.Agregar(pEntrega);
                factory.FinalizarConexion();

                return(-1);
            }
            catch (DAOException e)
            {
                factory.RollBack();
                factory.FinalizarConexion();
                throw new LogicaException(e.Message);
            }
        }