/// <summary>
        /// Allows add a new "Renglon" to the database
        /// </summary>
        /// <param name="pRenglon">Renglon to be added</param>
        public void Agregar(RenglonEntrega pRenglon)
        {
            if (pRenglon == null)
            {
                throw new ArgumentNullException(nameof(pRenglon));
            }

            string query = "INSERT INTO \"Renglon\" (\"idEntrega\", \"idInsumo\", cantidad) VALUES (@entrega, @insumo, @cantidad)";

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

                comando.CommandText = query;
                comando.Parameters.AddWithValue("@entrega", pRenglon.IdEntrega);
                comando.Parameters.AddWithValue("@insumo", pRenglon.IdInsumo);
                comando.Parameters.AddWithValue("@cantidad", pRenglon.Cantidad);

                comando.ExecuteNonQuery();
            }
            catch (PostgresException e)
            {
                throw new DAOException("Error al agregar renglón de entrega: " + e.Message);
            }
            catch (NpgsqlException e)
            {
                throw new DAOException("Error al agregar renglón de entrega: " + e.Message);
            }
        }
        /// <summary>
        /// Modify all field to an "Renglon"
        /// </summary>
        /// <param name="pRenglon">Renglon object with all filled fields</param>
        public void Modificar(RenglonEntrega pRenglon)
        {
            if (pRenglon == null)
            {
                throw new ArgumentNullException(nameof(pRenglon));
            }

            string query = "UPDATE \"Renglon\" SET \"idInsumo\" = @insumo, cantidad = @cantidad WHERE \"idRenglon\" = '" + pRenglon.IdRenglon + "'";

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

                comando.Parameters.AddWithValue("@insumo", pRenglon.IdInsumo);
                comando.Parameters.AddWithValue("@cantidad", pRenglon.Cantidad);
                comando.ExecuteNonQuery();
            }
            catch (PostgresException e)
            {
                throw new DAOException("Error al modificar renglón de entrega: " + e.Message);
            }
            catch (NpgsqlException e)
            {
                throw new DAOException("Error al modificar renglón de entrega: " + e.Message);
            }
        }
Beispiel #3
0
        /// <summary>
        /// Permite agregar un renglón de entrega
        /// </summary>
        /// <param name="pIdEntrega"></param>
        /// <param name="listarInsumos"></param>
        /// <returns></returns>
        public static int AgregarRenglon(int pIdEntrega, List <Insumo> listarInsumos)
        {
            if (listarInsumos == null)
            {
                throw new ArgumentNullException(nameof(listarInsumos));
            }

            int idRenglon = 0;

            foreach (var ins in listarInsumos)
            {
                if ((ins != null) && (idRenglon != -2))
                {
                    if (RestarStock(ins))
                    {
                        RenglonEntrega renglon = new RenglonEntrega(pIdEntrega, ins.IdInsumo, ins.Cantidad);
                        idRenglon = ControladorRenglones.Agregar(renglon);
                    }
                    else
                    {
                        idRenglon = -2;
                    }
                }
            }
            return(idRenglon);
        }
Beispiel #4
0
        /// <summary>
        /// Obtiene un renglón de entrega
        /// </summary>
        /// <param name="idRenglon">ID del renglón a obtener</param>
        /// <returns></returns>
        public static RenglonEntrega Obtener(int idRenglon)
        {
            DAOFactory factory = DAOFactory.Instancia();

            try
            {
                factory.IniciarConexion();
                RenglonEntrega renglon = factory.RenglonDAO.Obtener(idRenglon);
                factory.FinalizarConexion();

                return(renglon);
            }
            catch (DAOException e)
            {
                factory.RollBack();
                factory.FinalizarConexion();
                throw new LogicaException(e.Message);
            }
        }
Beispiel #5
0
        /// <summary>
        /// Permite agregar un Renglón
        /// </summary>
        /// <param name="pRenglon">Renglón a agregar</param>
        /// <returns>-1 si tuvo éxito</returns>
        public static int Agregar(RenglonEntrega pRenglon)
        {
            DAOFactory factory = DAOFactory.Instancia();

            try
            {
                factory.IniciarConexion();
                factory.RenglonDAO.Agregar(pRenglon);
                factory.FinalizarConexion();

                return(-1);
            }
            catch (DAOException e)
            {
                factory.RollBack();
                factory.FinalizarConexion();
                throw new LogicaException(e.Message);
            }
        }
        /// <summary>
        /// Obtain an "Renglon" bi his ID
        /// </summary>
        /// <param name="pIdRenglon">ID to search by</param>
        /// <returns>Renglon</returns>
        public RenglonEntrega Obtener(int pIdRenglon)
        {
            string         query   = "SELECT * FROM \"Renglon\" WHERE \"idRenglon\" = '" + pIdRenglon + "'";
            RenglonEntrega renglon = 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 _idRenglon = Convert.ToInt32(fila["idRenglon"]);
                        int _idEntrega = Convert.ToInt32(fila["idEntrega"]);
                        int _idInsumo  = Convert.ToInt32(fila["idInsumo"]);
                        int _cantidad  = Convert.ToInt32(fila["cantidad"]);

                        renglon = new RenglonEntrega(_idRenglon, _idEntrega, _idInsumo, _cantidad);
                    }
                    tabla.Dispose();
                }
                return(renglon);
            }
            catch (PostgresException e)
            {
                throw new DAOException("Error al obtener renglón de entrega: " + e.Message);
            }
            catch (NpgsqlException e)
            {
                throw new DAOException("Error al obtener renglón de entrega: " + e.Message);
            }
        }