public static LibroInventario CrearItem(Compra factura, ComprasIngrediente item)
        {
            using (var db = new DatosEntities())
            {
                DateTime        FechaInventario = Convert.ToDateTime("01/" + factura.Mes.Value.ToString("00") + "/" + factura.Año.Value.ToString("0000"));
                LibroInventario q = (from p in db.LibroInventarios
                                     where factura.Mes == p.Mes && factura.Año == p.Año && p.IdProducto == item.IdIngrediente
                                     select p).FirstOrDefault();
                if (q == null)
                {
                    LibroInventario ant = (from p in db.LibroInventarios
                                           where p.Fecha < FechaInventario && p.IdProducto == item.IdIngrediente
                                           select p).FirstOrDefault();

                    q                    = new LibroInventario();
                    q.IdProducto         = item.IdIngrediente;
                    q.Fecha              = factura.Fecha;
                    q.Inicio             = ant == null ? 0 : ant.InventarioFisico;
                    q.Entradas           = 0;
                    q.Salidas            = 0;
                    q.Final              = 0;
                    q.InventarioFisico   = 0;
                    q.Ajustes            = 0;
                    q.Producto           = item.Ingrediente;
                    q.Mes                = factura.Mes;
                    q.Año                = factura.Año;
                    q.IdLibroInventarios = FactoryContadores.GetMax("IdLibroInventarios");
                    db.LibroInventarios.AddObject(q);
                    db.SaveChanges();
                }
                return(q);
            }
        }
示例#2
0
        private void txtIngrediente_Validating(object sender, CancelEventArgs e)
        {
            DevExpress.XtraEditors.TextEdit Editor = (DevExpress.XtraEditors.TextEdit) this.gridControl1.MainView.ActiveEditor;
            if (!Editor.IsModified)
            {
                return;
            }
            string Texto = Editor.Text;

            registroDetalle = (ComprasIngrediente)this.comprasIngredienteBindingSource.Current;
            if (UbicarProducto(Texto))
            {
                if (ingrediente == null)
                {
                    Editor.Undo();
                    e.Cancel = true;
                    return;
                }
                LeerIngrediente(false);
                Editor.Text = ingrediente.Descripcion;
                if (string.IsNullOrEmpty(ingrediente.Descripcion))
                {
                    Editor.Undo();
                    e.Cancel = true;
                    return;
                }
            }
            else
            {
                LeerIngrediente(false);
                Editor.Undo();
                e.Cancel = true;
                return;
            }
        }
示例#3
0
 void txtIngrediente_ButtonClick(object sender, DevExpress.XtraEditors.Controls.ButtonPressedEventArgs e)
 {
     registroDetalle = (ComprasIngrediente)this.comprasIngredienteBindingSource.Current;
     if (UbicarProducto(""))
     {
         LeerIngrediente(false);
     }
 }
示例#4
0
 private void CalcularMontoItem(ComprasIngrediente item)
 {
     if (item != null)
     {
         this.comprasIngredienteBindingSource.EndEdit();
         item.Iva       = registroDetalle.Costo * registroDetalle.TasaIva / 100;
         item.CostoIva  = item.Costo + item.Iva;
         item.Total     = registroDetalle.Cantidad * registroDetalle.CostoIva;
         item.CostoNeto = registroDetalle.Total / registroDetalle.CantidadNeta;
         registro.Totalizar();
         this.comprasIngredienteBindingSource.ResetCurrentItem();
     }
     registro.Totalizar();
 }
 void txtCostoIva_Validating(object sender, CancelEventArgs e)
 {
     DevExpress.XtraEditors.CalcEdit Editor = (DevExpress.XtraEditors.CalcEdit) this.gridControl1.MainView.ActiveEditor;
     if (!Editor.IsModified)
     {
         return;
     }
     if (this.comprasIngredienteBindingSource.Current == null)
     {
         return;
     }
     registroDetalle       = (ComprasIngrediente)this.comprasIngredienteBindingSource.Current;
     registroDetalle.Costo = (double)Editor.Value / (1 + (registroDetalle.TasaIva / 100));
 }
 private void LeerIngrediente(bool Buscar)
 {
     if (ingrediente == null)
     {
         return;
     }
     registroDetalle = (ComprasIngrediente)this.comprasIngredienteBindingSource.Current;
     //      this.gridControl1.MainView.ActiveEditor.Text = producto.Codigo;
     registroDetalle.Cantidad           = 1;
     registroDetalle.CantidadNeta       = 1;
     registroDetalle.Costo              = ingrediente.Costo;
     registroDetalle.ExistenciaAnterior = ingrediente.Existencia;
     registroDetalle.IdIngrediente      = ingrediente.IdIngrediente;
     registroDetalle.Ingrediente        = ingrediente.Descripcion;
     registroDetalle.TasaIva            = ingrediente.TasaIva;
     registroDetalle.UnidadMedida       = ingrediente.UnidadMedida;
     CalcularMontoItem(registroDetalle);
 }
示例#7
0
 void txtCantidadNeta_Validating(object sender, CancelEventArgs e)
 {
     DevExpress.XtraEditors.CalcEdit Editor = (DevExpress.XtraEditors.CalcEdit) this.gridControl1.MainView.ActiveEditor;
     if (!Editor.IsModified)
     {
         return;
     }
     if (this.comprasIngredienteBindingSource.Current == null)
     {
         return;
     }
     registroDetalle = (ComprasIngrediente)this.comprasIngredienteBindingSource.Current;
     if ((double)Editor.Value == 0)
     {
         Editor.Value = (decimal)registroDetalle.Cantidad;
     }
     registroDetalle.CantidadNeta = (double)Editor.Value;
     CalcularMontoItem(registroDetalle);
 }
示例#8
0
        private void gridControl1_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Return)
            {
                gridView1.MoveBy(0);
            }

            if (gridView1.ActiveEditor == null)
            {
                if (e.KeyCode == Keys.Delete || e.KeyCode == Keys.Subtract)
                {
                    if (this.gridView1.IsFocusedView)
                    {
                        ComprasIngrediente i = (ComprasIngrediente)this.comprasIngredienteBindingSource.Current;
                        registro.ComprasIngredientes.Remove(i);
                    }
                    e.Handled = true;
                }
            }
        }
 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();
     }
 }