public static void actualizarIngredientes(Plato modificar) { // Proporciona la cadena de conexion a base de datos desde el archivo de configuracion string connectionString = ConfigurationManager.ConnectionStrings["TiendaConString"].ConnectionString; // Crear y abrir la conexión en un bloque using. // Esto asegura que todos los recursos serán cerrados y dispuestos cuando el código sale using (SqlConnection connection = new SqlConnection(connectionString)) { SqlCommand commandI = new SqlCommand("ActualizarPlato", connection); commandI.CommandType = CommandType.StoredProcedure; commandI.Parameters.AddWithValue("id", modificar.Id); commandI.Parameters.AddWithValue("nom", modificar.Nombre); commandI.Parameters.AddWithValue("precio", modificar.Costo); commandI.Parameters.AddWithValue("clasificacion", modificar.Clasificacion); // Crear el objeto Command. try { connection.Open(); SqlTransaction trato = connection.BeginTransaction(); commandI.Transaction = trato; int fila = commandI.ExecuteNonQuery(); foreach (Ingrediente item in modificar.getIngredientes()) { SqlCommand command = new SqlCommand("ActualizarIngrediente", connection); command.CommandType = CommandType.StoredProcedure; command.Parameters.AddWithValue("idIngrediente", item.Id); command.Parameters.AddWithValue("cantidad", item.Cantidad); command.Parameters.AddWithValue("idPlato", item.IdPlato); command.Parameters.AddWithValue("idProducto", item.IdProducto); command.Parameters.AddWithValue("idUnidad", item.IdUnidad); command.ExecuteNonQuery(); } if (fila != 0) { trato.Commit(); } else { trato.Rollback(); } } catch (SqlException ex) { throw ex; } catch (Exception ex) { throw ex; } } }
public static void registraPlato(Plato plato) { // Proporciona la cadena de conexion a base de datos desde el archivo de configuracion string connectionString = ConfigurationManager.ConnectionStrings["TiendaConString"].ConnectionString; // Crear y abrir la conexión en un bloque using. // Esto asegura que todos los recursos serán cerrados y dispuestos cuando el código sale using (SqlConnection connection = new SqlConnection(connectionString)) { // Crear el objeto Command. SqlCommand command = new SqlCommand("Registro_Plato", connection); command.CommandType = CommandType.StoredProcedure; command.Parameters.AddWithValue("nombre", plato.Nombre); command.Parameters.AddWithValue("costo", plato.Costo); command.Parameters.AddWithValue("idClasificacion", plato.Clasificacion.Codigo); command.Parameters.AddWithValue("idPlato", 0); command.Parameters["idPlato"].Direction = ParameterDirection.Output; try { connection.Open(); //transacciones SqlTransaction trato = connection.BeginTransaction(); command.Transaction = trato; int fila = command.ExecuteNonQuery(); if (fila != 0) { int id = Convert.ToInt32(command.Parameters["idPlato"].Value); foreach (Ingrediente ing in plato.getIngredientes()) { SqlCommand comanding = new SqlCommand("Registro_Ingredientes", connection); comanding.CommandType = CommandType.StoredProcedure; comanding.Parameters.AddWithValue("cantidad", ing.Cantidad); comanding.Parameters.AddWithValue("idPlato", id); comanding.Parameters.AddWithValue("idProducto", ing.IdProducto); comanding.Parameters.AddWithValue("idUnidad", ing.Unidad.Id); comanding.Transaction = trato; fila = comanding.ExecuteNonQuery(); } } if (fila != 0) { trato.Commit(); } else { trato.Rollback(); } } catch (SqlException ex) { throw ex; } catch (Exception) { throw; } } }