public static void Inventario(Compra factura)
 {
     foreach (ComprasIngrediente item in factura.ComprasIngredientes)
     {
         FactoryIngredientes.RegistrarInventario(item);
     }
 }
 public static void InventarioDevolver(Compra factura)
 {
     foreach (ComprasIngrediente item in factura.ComprasIngredientes)
     {
         FactoryIngredientes.DevolverInventario(item);
     }
 }
Пример #3
0
        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();
     }
 }