/// <summary> /// Actualiza el stock de los productos luego de realizar una compra, tanto en la ejecucion del programa como en la base de datos. /// </summary> public static void ActualizarStock() { foreach (ArticuloCompra <Producto> item in CompraEnCurso.Productos) { if (listaAlimentos.Exists(x => x.Id.Equals(item.IdProducto))) { Alimento alimentoAux = listaAlimentos.Find(x => x.Id.Equals(item.IdProducto)); alimentoAux.Stock -= item.Cantidad; ProductosDAO.ActualizarStockAlimentoDB(alimentoAux); } else if (listaIndumentaria.Exists(x => x.Id.Equals(item.IdProducto))) { Indumentaria prendaAux = listaIndumentaria.Find(x => x.Id.Equals(item.IdProducto)); prendaAux.Stock -= item.Cantidad; ProductosDAO.ActualizarStockIndumentariaDB(prendaAux); } } }
/// <summary> /// Actualiza el stock de un Alimento en particular de la Tabla de Alimentos de la base de datos /// </summary> /// <param name="alimento">Alimento a actualizar</param> public static void ActualizarStockAlimentoDB(Alimento alimento) { try { if (!(sqlConnection.State == System.Data.ConnectionState.Open)) { sqlConnection.Open(); } string command = $"UPDATE Alimentos SET Stock = @Stock WHERE ID = @Id"; SqlCommand sqlCommand = new SqlCommand(command, sqlConnection); sqlCommand.Parameters.AddWithValue("Stock", alimento.Stock); sqlCommand.Parameters.AddWithValue("Id", alimento.Id); sqlCommand.ExecuteNonQuery(); } finally { if (sqlConnection != null && sqlConnection.State == System.Data.ConnectionState.Open) { sqlConnection.Close(); } } }
/// <summary> /// Obtiene la lista de Alimentos guardada en la Base de datos. /// </summary> /// <returns>Retorna la lista encontrada</returns> public static List <Alimento> ObtenerListaAlimentos() { try { if (!(sqlConnection.State == System.Data.ConnectionState.Open)) { sqlConnection.Open(); } string command = "SELECT * FROM Alimentos"; SqlCommand sqlCommand = new SqlCommand(command, sqlConnection); SqlDataReader reader = sqlCommand.ExecuteReader(); List <Alimento> lista = new List <Alimento>(); while (reader.Read()) { int id = Convert.ToInt32(reader["ID"]); string descripción = reader["Nombre"].ToString(); int stock = (int)reader["Stock"]; double precioU = Convert.ToDouble(reader["PrecioUnit"]); string tipoAux = reader["Tipo"].ToString(); Alimento alimento = new Alimento(id, descripción, stock, precioU, tipoAux); lista.Add(alimento); } return(lista); } finally { if (sqlConnection != null && sqlConnection.State == System.Data.ConnectionState.Open) { sqlConnection.Close(); } } }
/// <summary> /// Inserta un Alimento en la tabla de Alimentos de la Base de Datos. /// </summary> /// <param name="alimento"></param> public static void AgregarAlimentoDB(Alimento alimento) { try { if (!(sqlConnection.State == System.Data.ConnectionState.Open)) { sqlConnection.Open(); } string command = $"INSERT INTO Alimentos(Nombre, Stock, PrecioUnit, Tipo) VALUES(@Nombre, @Stock, @PrecioUnit, @Tipo)"; SqlCommand sqlCommand = new SqlCommand(command, sqlConnection); sqlCommand.Parameters.AddWithValue("Nombre", alimento.Descripcion); sqlCommand.Parameters.AddWithValue("Stock", alimento.Stock); sqlCommand.Parameters.AddWithValue("PrecioUnit", Convert.ToSingle(alimento.PrecioUnitario)); sqlCommand.Parameters.AddWithValue("Tipo", alimento.Tipo.ToString()); sqlCommand.ExecuteNonQuery(); } finally { if (sqlConnection != null && sqlConnection.State == System.Data.ConnectionState.Open) { sqlConnection.Close(); } } }