public static Plato ActualizarCosto(Plato plato) { using (VeneciaEntities db = new VeneciaEntities()) { var q = from x in db.PlatosIngredientes where x.IdPlato == plato.IdPlato select x; var q2 = from x in db.PlatosCombos where x.IdPlato == plato.IdPlato select x; foreach (var item in q) { Ingrediente i = FactoryIngredientes.Item(item.IdIngrediente); if (i != null) { item.CostoRacion = i.Costo; item.Total = i.Costo * item.Cantidad; } } plato = Item(db, plato.IdPlato); plato.Costo = q.Sum(x => x.Total).GetValueOrDefault(0) + q2.Sum(x => x.Costo).GetValueOrDefault(0); db.SaveChanges(); return(plato); } }
internal static void DevolverInventario(ComprasIngrediente item) { using (RestaurantEntities db = new RestaurantEntities()) { Ingrediente i = FactoryIngredientes.Item(db, item.IdIngrediente); if (i != null) { i.Existencia = i.Existencia.GetValueOrDefault(0) - item.CantidadNeta; i.Costo = item.CostoNeto; } IngredientesInventario inventario = (from x in db.IngredientesInventarios where x.IdIngrediente == item.IdIngrediente select x).FirstOrDefault(); if (inventario != null) { inventario.Entradas -= item.CantidadNeta; inventario.Final = inventario.Inicio + inventario.Entradas - inventario.Salidas; inventario.InventarioFisico = inventario.Final; } db.SaveChanges(); } }
internal static void RegistrarInventario(ComprasIngrediente item) { using (RestaurantEntities db = new RestaurantEntities()) { Ingrediente i = FactoryIngredientes.Item(db, item.IdIngrediente); if (i != null) { i.Existencia = i.Existencia.GetValueOrDefault(0) + item.CantidadNeta; i.Costo = item.CostoNeto; } IngredientesInventario inventario = (from x in db.IngredientesInventarios where x.IdIngrediente == item.IdIngrediente select x).FirstOrDefault(); if (inventario == null) { IngredientesInventario nuevoItem = new IngredientesInventario(); nuevoItem.Ajuste = 0; nuevoItem.Entradas = item.CantidadNeta;; nuevoItem.FechaInicio = DateTime.Today; nuevoItem.Grupo = i.Grupo; nuevoItem.IdIngrediente = i.IdIngrediente; nuevoItem.IdIngredienteInventario = FactoryContadores.GetMax("IdIngredienteInventario"); nuevoItem.Ingrediente = i.Descripcion; nuevoItem.Inicio = 0; nuevoItem.Salidas = 0; nuevoItem.Final = nuevoItem.Inicio + nuevoItem.Entradas - nuevoItem.Salidas; nuevoItem.InventarioFisico = nuevoItem.Final; db.IngredientesInventarios.AddObject(nuevoItem); } else { inventario.Entradas += item.CantidadNeta; inventario.Final = inventario.Inicio + inventario.Entradas - inventario.Salidas; inventario.InventarioFisico = inventario.Final; } db.SaveChanges(); } }