/// <summary> /// Elimina un objeto receta de la base de datos. /// </summary> /// <param name="_ingrediente">El objeto a eliminar</param> public void eliminarIngrediente(Receta _ingrediente) { try{ using (bdsharkEntities db = new bdsharkEntities()) { var RecetaQuery = from ingrediente in db.Recetas where ingrediente.id == _ingrediente.id select ingrediente; foreach (var ingrediente in RecetaQuery) { db.Entry(ingrediente).State = EntityState.Deleted; } db.SaveChanges(); } } catch (Exception ex) { MessageBox.Show("Error: " + ex + "\nError en la autenticación con la base de datos", "Aviso Shark"); } }
/// <summary> /// Modifíca un objeto receta específico. /// </summary> /// <param name="ingrediente">Objeto a modificar.</param> public void modificar(Receta ingrediente) { try{ using (bdsharkEntities db = new bdsharkEntities()) { Receta n_ingrediente = db.Recetas.Find(ingrediente.id); n_ingrediente.almacenes_id = ingrediente.almacenes_id; n_ingrediente.cantidad = ingrediente.cantidad; n_ingrediente.insumo_id = ingrediente.insumo_id; n_ingrediente.insumoElaborado_id = ingrediente.insumoElaborado_id; n_ingrediente.producto_id = ingrediente.producto_id; db.Recetas.Attach(n_ingrediente); db.Entry(n_ingrediente).State = EntityState.Modified; db.SaveChanges(); } }catch (Exception ex) { MessageBox.Show("Error: " + ex + "\nError en la autenticación con la base de datos", "Aviso Shark"); } }
/// <summary> /// Registra un objeto receta en la base de datos. /// </summary> /// <param name="ingrediente">Objeto a registrar.</param> public void registrar(Receta ingrediente) { try{ using (bdsharkEntities db = new bdsharkEntities()) { db.Configuration.LazyLoadingEnabled = true; db.Insumos.Attach(ingrediente.Insumo); if (ingrediente.InsumoElaborado != null) { db.InsumosElaborados.Attach(ingrediente.InsumoElaborado); } else { db.Productos.Attach(ingrediente.Producto); } db.Recetas.Add(ingrediente); db.SaveChanges(); } }catch (Exception ex) { MessageBox.Show("Error: " + ex + "\nError en la autenticación con la base de datos", "Aviso Shark"); } }