예제 #1
0
        private void Busqueda()
        {
            if (!DateTime.TryParse(txtBuscar.Text, out dia))
            {
                txtBuscar.Text = DateTime.Today.ToString("d");
                return;
            }
            db = new FeriaEntities();
            IngredientesInventario InventarioSiguiente = (from item in db.IngredientesInventarios
                                                          where item.Fecha > dia
                                                          select item).FirstOrDefault();

            if (InventarioSiguiente != null)
            {
                MessageBox.Show("Atencion hay movimientos posteriores a esta fecha");
            }
            Lista = (from q in db.IngredientesInventarios
                     orderby q.Ingrediente
                     where q.Fecha == dia
                     select q).ToList();
            foreach (Ingrediente item in db.Ingredientes)
            {
                var esta = Lista.FirstOrDefault(x => x.IdIngrediente == item.IdIngrediente);
                if (esta == null)
                {
                    IngredientesInventario nuevoItem = new IngredientesInventario();
                    var DiaAnterior = (from p in db.IngredientesInventarios
                                       where p.IdIngrediente == item.IdIngrediente &&
                                       p.Fecha <= dia
                                       orderby p.Fecha descending
                                       select p).FirstOrDefault();
                    if (DiaAnterior != null)
                    {
                        nuevoItem.Inicio   = DiaAnterior.InventarioFisico;
                        nuevoItem.Salidas  = 0;
                        nuevoItem.Entradas = 0;
                        nuevoItem.Final    = DiaAnterior.InventarioFisico;
                    }
                    else
                    {
                        nuevoItem.Inicio   = 0;
                        nuevoItem.Salidas  = 0;
                        nuevoItem.Entradas = 0;
                        nuevoItem.Final    = 0;
                    }
                    nuevoItem.Fecha                   = dia;
                    nuevoItem.IdIngrediente           = item.IdIngrediente;
                    nuevoItem.IdIngredienteInventario = FactoryContadores.GetMax("IdIngredienteInventario");
                    nuevoItem.Ingrediente             = item.Descripcion;
                    db.IngredientesInventarios.AddObject(nuevoItem);
                    db.SaveChanges();
                }
            }
            Lista = (from q in db.IngredientesInventarios
                     orderby q.Ingrediente
                     where q.Fecha == dia
                     select q).ToList();
            this.bs.DataSource = Lista;
            this.bs.ResetBindings(true);
        }
        private void gridView1_RowUpdated(object sender, DevExpress.XtraGrid.Views.Base.RowObjectEventArgs e)
        {
            this.bs.EndEdit();
            IngredientesInventario Item = (IngredientesInventario)e.Row;

            this.btnGuardar.Visible = true;
        }
예제 #3
0
 private void Calcular()
 {
     try
     {
         bs.EndEdit();
         IngredientesInventario Item = (IngredientesInventario)bs.Current;
         Item.Final  = Item.Inicio.GetValueOrDefault(0) + Item.Entradas.GetValueOrDefault(0) - Item.Salidas.GetValueOrDefault(0);
         Item.Ajuste = Item.InventarioFisico - Item.Final;
     }
     catch (Exception x)
     {
         throw x;
     }
 }
        public static void Inventario(Compra factura)
        {
            using (FeriaEntities db = new FeriaEntities())
            {
                foreach (ComprasIngrediente item in factura.ComprasIngredientes)
                {
                    IngredientesInventario q = (from p in db.IngredientesInventarios
                                                where p.Fecha == factura.FechaInventario && p.IdIngrediente == item.IdIngrediente
                                                select p).FirstOrDefault();
                    if (q == null)
                    {
                        IngredientesInventario ant = (from p in db.IngredientesInventarios
                                                      where p.Fecha < factura.FechaInventario && p.IdIngrediente == item.IdIngrediente
                                                      select p).FirstOrDefault();

                        q = new IngredientesInventario();
                        q.IdIngrediente    = item.IdIngrediente;
                        q.Fecha            = factura.FechaInventario;
                        q.Inicio           = ant == null?0: ant.InventarioFisico;
                        q.Entradas         = 0;
                        q.Salidas          = 0;
                        q.Final            = 0;
                        q.InventarioFisico = 0;
                        q.Ajuste           = 0;
                    }
                    q.Entradas        += item.Cantidad;
                    q.Final            = q.Entradas + q.Inicio - q.Salidas;
                    q.InventarioFisico = q.Final;
                    q.Ajuste           = 0;
                    if (q.IdIngredienteInventario == null)
                    {
                        q.IdIngredienteInventario = FactoryContadores.GetMax("IdIngredienteInventario");
                        db.IngredientesInventarios.AddObject(q);
                    }

                    var ingr = (from prod in db.Ingredientes
                                where prod.IdIngrediente == item.IdIngrediente
                                select prod).FirstOrDefault();
                    if (ingr != null)
                    {
                        ingr.Existencia = q.Final;
                        ingr.Costo      = item.CostoNeto;
                    }
                    db.SaveChanges();
                }
                factura.ActualizadoInventario = true;
                db.SaveChanges();
            }
        }
 private void Calcular()
 {
     try
     {
         bs.EndEdit();
         IngredientesInventario Item = (IngredientesInventario)bs.Current;
         Item.Final  = Item.Inicio.GetValueOrDefault(0) + Item.Entradas.GetValueOrDefault(0) - Item.Salidas.GetValueOrDefault(0);
         Item.Ajuste = Item.InventarioFisico - Item.Final;
         db.SaveChanges();
     }
     catch (Exception x)
     {
         Basicas.ManejarError(x);
     }
 }
예제 #6
0
 public static void DescontarInventario(Factura factura)
 {
     using (RestaurantEntities db = new RestaurantEntities())
     {
         factura = (from x in db.Facturas
                    where x.IdFactura == factura.IdFactura
                    select x).FirstOrDefault();
         foreach (FacturasPlato plato in factura.FacturasPlatos)
         {
             List <PlatosIngrediente> ingredientes = FactoryPlatos.getIngredientes(plato.Idplato);
             foreach (PlatosIngrediente ingrediente in ingredientes)
             {
                 IngredientesInventario item = (from x in db.IngredientesInventarios
                                                where x.IdIngrediente == ingrediente.IdIngrediente
                                                select x).FirstOrDefault();
                 if (item == null)
                 {
                     string Grupo = (from x in db.Ingredientes
                                     where x.IdIngrediente == ingrediente.IdIngrediente
                                     select x.Grupo).FirstOrDefault();
                     item = new IngredientesInventario();
                     item.IdIngrediente = ingrediente.IdIngrediente;
                     item.Ingrediente   = ingrediente.Ingrediente;
                     item.FechaInicio   = factura.Fecha;
                     item.Ajuste        = 0;
                     item.Entradas      = 0;
                     item.Final         = 0;
                     item.Grupo         = Grupo;
                     item.Inicio        = 0;
                     item.Salidas       = 0;
                 }
                 item.Salidas          = item.Salidas + (ingrediente.Cantidad * plato.Cantidad);
                 item.Final            = item.Inicio + item.Entradas - item.Salidas;
                 item.InventarioFisico = item.Final;
                 item.Ajuste           = 0;
                 if (item.IdIngredienteInventario == null)
                 {
                     item.IdIngredienteInventario = FactoryContadores.GetMax("IdIngredienteInventario");
                     db.IngredientesInventarios.AddObject(item);
                 }
             }
         }
         factura.Inventarios = true;
         db.SaveChanges();
     }
 }
 public static void DescontarInventario(Factura factura)
 {
     foreach (FacturasPlato plato in factura.FacturasPlatos)
     {
         List <PlatosIngrediente> ingredientes = FactoryPlatos.getIngredientes(plato.Idplato);
         foreach (PlatosIngrediente ingrediente in ingredientes)
         {
             using (FeriaEntities db = new FeriaEntities())
             {
                 IngredientesInventario InventarioDia = (from item in db.IngredientesInventarios
                                                         where item.Fecha == factura.Fecha && item.IdIngrediente == ingrediente.IdIngrediente
                                                         select item).FirstOrDefault();
                 if (InventarioDia == null)
                 {
                     IngredientesInventario InventarioAnterior = (from item in db.IngredientesInventarios
                                                                  where item.Fecha < factura.Fecha && item.IdIngrediente == ingrediente.IdIngrediente
                                                                  select item).FirstOrDefault();
                     InventarioDia = new IngredientesInventario();
                     InventarioDia.IdIngrediente = ingrediente.IdIngrediente;
                     InventarioDia.Ingrediente   = ingrediente.Ingrediente;
                     InventarioDia.Fecha         = factura.Fecha;
                     InventarioDia.Ajuste        = 0;
                     InventarioDia.Entradas      = 0;
                     if (InventarioAnterior == null)
                     {
                         InventarioDia.Inicio = 0;
                     }
                     else
                     {
                         InventarioDia.Inicio = InventarioDia.InventarioFisico;
                     }
                 }
                 InventarioDia.Salidas          = ingrediente.Cantidad * plato.Cantidad;
                 InventarioDia.Final            = InventarioDia.Inicio + InventarioDia.Entradas + InventarioDia.Salidas;
                 InventarioDia.InventarioFisico = InventarioDia.Final;
                 InventarioDia.Ajuste           = 0;
                 if (InventarioDia.IdIngredienteInventario == null)
                 {
                     InventarioDia.IdIngredienteInventario = FactoryContadores.GetMax("IdIngredienteInventario");
                     db.IngredientesInventarios.AddObject(InventarioDia);
                 }
                 db.SaveChanges();
             }
         }
     }
 }
 public static void DescontarPlato(Plato plato, double cantidad)
 {
     if (plato == null)
     {
         return;
     }
     using (DatosEntities db = new DatosEntities())
     {
         List <PlatosIngrediente> ingredientes = FactoryPlatos.getIngredientes(plato.IdPlato);
         foreach (PlatosIngrediente ingrediente in ingredientes)
         {
             IngredientesInventario item = (from x in db.IngredientesInventarios
                                            where x.IdIngrediente == ingrediente.IdIngrediente
                                            select x).FirstOrDefault();
             if (item == null)
             {
                 string Grupo = (from x in db.Ingredientes
                                 where x.IdIngrediente == ingrediente.IdIngrediente
                                 select x.Grupo).FirstOrDefault();
                 item = new IngredientesInventario();
                 item.IdIngrediente = ingrediente.IdIngrediente;
                 item.Ingrediente   = ingrediente.Ingrediente;
                 item.FechaInicio   = DateTime.Today;
                 item.Ajuste        = 0;
                 item.Entradas      = 0;
                 item.Final         = 0;
                 item.Grupo         = Grupo;
                 item.Inicio        = 0;
                 item.Salidas       = 0;
             }
             item.Salidas          = item.Salidas + (ingrediente.Cantidad * cantidad);
             item.Final            = item.Inicio + item.Entradas - item.Salidas;
             item.InventarioFisico = item.Final;
             item.Ajuste           = 0;
             if (item.IdIngredienteInventario == null)
             {
                 item.IdIngredienteInventario = FactoryContadores.GetMax("IdIngredienteInventario");
                 db.IngredientesInventarios.AddObject(item);
             }
             db.SaveChanges();
         }
     }
 }
예제 #9
0
 public static void InventarioDevolver(Traslado factura)
 {
     using (FeriaEntities db = new FeriaEntities())
     {
         foreach (TrasladosIngrediente item in factura.TrasladosIngredientes)
         {
             IngredientesInventario q = (from p in db.IngredientesInventarios
                                         where p.Fecha == factura.Fecha && p.IdIngrediente == item.IdIngrediente
                                         select p).FirstOrDefault();
             if (q != null)
             {
                 q.Entradas        -= item.Cantidad;
                 q.Final            = q.Entradas + q.Inicio - q.Salidas;
                 q.InventarioFisico = q.Final;
                 q.Ajuste           = 0;
             }
         }
         db.SaveChanges();
     }
 }
 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();
     }
 }
 void CargarNuevosProductos()
 {
     foreach (var ingrediente in FactoryIngredientes.getItemsConInventario())
     {
         IngredientesInventario item = Lista.FirstOrDefault(x => x.IdIngrediente == ingrediente.IdIngrediente);
         if (item == null)
         {
             IngredientesInventario nuevoItem = new IngredientesInventario();
             nuevoItem.Ajuste                  = 0;
             nuevoItem.Entradas                = 0;
             nuevoItem.FechaInicio             = DateTime.Today;
             nuevoItem.Grupo                   = ingrediente.Grupo;
             nuevoItem.IdIngrediente           = ingrediente.IdIngrediente;
             nuevoItem.IdIngredienteInventario = FactoryContadores.GetMax("IdIngredienteInventario");
             nuevoItem.Ingrediente             = ingrediente.Descripcion;
             nuevoItem.Inicio                  = ingrediente.Existencia.GetValueOrDefault(0);
             nuevoItem.Salidas                 = 0;
             nuevoItem.Final                   = nuevoItem.Inicio + nuevoItem.Entradas - nuevoItem.Salidas;
             nuevoItem.InventarioFisico        = nuevoItem.Final;
             db.IngredientesInventarios.Add(nuevoItem);
         }
     }
     db.SaveChanges();
 }