/// <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); } }
/// <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); }
/// <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); } }
/// <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); } }