/// <summary> /// Inserta una Indumentaria en la tabla de Indumentaria de la Base de Datos. /// </summary> /// <param name="prenda"></param> public static void AgregarIndumentariaDB(Indumentaria prenda) { try { if (!(sqlConnection.State == System.Data.ConnectionState.Open)) { sqlConnection.Open(); } string command = $"INSERT INTO Indumentaria(Nombre, Color, Stock, PrecioUnit, Talle) VALUES(@Nombre, @Color, @Stock, @PrecioUnit, @Talle)"; SqlCommand sqlCommand = new SqlCommand(command, sqlConnection); sqlCommand.Parameters.AddWithValue("Nombre", prenda.Descripcion); sqlCommand.Parameters.AddWithValue("Color", prenda.Color); sqlCommand.Parameters.AddWithValue("Stock", prenda.Stock); sqlCommand.Parameters.AddWithValue("PrecioUnit", Convert.ToSingle(prenda.PrecioUnitario)); sqlCommand.Parameters.AddWithValue("Talle", prenda.Talle.ToString()); sqlCommand.ExecuteNonQuery(); } finally { if (sqlConnection != null && sqlConnection.State == System.Data.ConnectionState.Open) { sqlConnection.Close(); } } }
/// <summary> /// Agrega una nueva Indumentaria a la lista, tanto en ejecucion como en la base de datos. /// </summary> /// <param name="nuevaPrenda"></param> /// <returns>retorna un string que informa su la carga se realizó correctamente o no</returns> public static string AgregarNuevaIndumentaria(Indumentaria nuevaPrenda) { if (nuevaPrenda + listaIndumentaria) { ProductosDAO.AgregarIndumentariaDB(nuevaPrenda); return("Producto agregado correctamente"); } return("Error en la carga"); }
/// <summary> /// Busca una Indumentaria en una lista teniendo en cuenta su ID. /// </summary> /// <param name="lista"></param> /// <param name="id"></param> /// <returns>Retorna la Indumentaria en caso de encontrarla. Caso contrario retorna null</returns> public static Indumentaria FindIndumentariaInList(this List <Indumentaria> lista, int id) { Indumentaria auxPrenda = null; if (lista.Exists(x => x.Id == id)) { auxPrenda = lista.Find(x => x.Id == id); } return(auxPrenda); }
/// <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 una Indumentaria en particular de la Tabla de Indumentaria de la base de datos /// </summary> /// <param name="prenda">Indumentaria a actualizar</param> public static void ActualizarStockIndumentariaDB(Indumentaria prenda) { try { if (!(sqlConnection.State == System.Data.ConnectionState.Open)) { sqlConnection.Open(); } string command = $"UPDATE Indumentaria SET Stock = @Stock WHERE ID = @Id"; SqlCommand sqlCommand = new SqlCommand(command, sqlConnection); sqlCommand.Parameters.AddWithValue("Stock", prenda.Stock); sqlCommand.Parameters.AddWithValue("Id", prenda.Id); sqlCommand.ExecuteNonQuery(); } finally { if (sqlConnection != null && sqlConnection.State == System.Data.ConnectionState.Open) { sqlConnection.Close(); } } }
/// <summary> /// Obtiene la lista de Indumentaria guardada en la Base de datos. /// </summary> /// <returns>Retorna la lista encontrada</returns> public static List <Indumentaria> ObtenerListaIndumentaria() { try { if (!(sqlConnection.State == System.Data.ConnectionState.Open)) { sqlConnection.Open(); } string command = "SELECT * FROM Indumentaria"; SqlCommand sqlCommand = new SqlCommand(command, sqlConnection); SqlDataReader reader = sqlCommand.ExecuteReader(); List <Indumentaria> lista = new List <Indumentaria>(); while (reader.Read()) { int id = Convert.ToInt32(reader["ID"]); string descripción = reader["Nombre"].ToString(); int stock = (int)reader["Stock"]; string color = reader["Color"].ToString(); double precioU = Convert.ToDouble(reader["PrecioUnit"]); string talleAux = reader["Talle"].ToString(); Indumentaria indumentaria = new Indumentaria(id, descripción, stock, color, precioU, talleAux); lista.Add(indumentaria); } return(lista); } finally { if (sqlConnection != null && sqlConnection.State == System.Data.ConnectionState.Open) { sqlConnection.Close(); } } }