Esempio n. 1
0
 private void RemoverCompra(Entities.Compras compra)
 {
     comprasBindingSource.DataSource = null;
     OrdenCompra.Compras.Remove(compra);
     comprasBindingSource.DataSource = OrdenCompra.Compras;
     CalcularTotales();
 }
Esempio n. 2
0
 private void RefaccionesGridView_CellContentClick(object sender, DataGridViewCellEventArgs e)
 {
     try
     {
         if (RefaccionesGridView.Columns[e.ColumnIndex].Name == "Cancelar")
         {
             Entities.Compras compra = (Entities.Compras)RefaccionesGridView.Rows[e.RowIndex].DataBoundItem;
             RemoverCompra(compra);
         }
     }
     catch (Exception ex)
     {
         AppHelper.Error(ex.Message);
     }
 }
Esempio n. 3
0
        private void AgregarRefaccion()
        {
            Entities.Compras compra = new Entities.Compras();
            compra.Cantidad      = (int)this.CantidadNumericUpDown.Value;
            compra.CostoUnitario = Convert.ToDecimal(this.CostoUnitarioTextBox.Text);

            if (compra.CostoUnitario <= 0)
            {
                throw new Exception("No se pueden comprar articulos con costo 0");
            }

            compra.MarcaRefaccion_ID     = Refaccion.MarcaRefaccion_ID.Value;
            compra.Refaccion_Descripcion = Refaccion.Descripcion;
            compra.Refaccion_ID          = Refaccion.Refaccion_ID.Value;
            compra.RefaccionesSurtidas   = 0;
            compra.Usuario_ID            = Sesion.Usuario_ID;

            OrdenCompra.Compras.Add(compra);
            comprasBindingSource.DataSource = null;
            comprasBindingSource.DataSource = OrdenCompra.Compras;
            CalcularTotales();
            ClearRefaccion();
        }
        private void RegistrarMovimiento()
        {
            DoValidate();

            int PorSurtir = 0;

            foreach (Entities.Vista_ComprasAlmacen vistaCompra in VistaCompras)
            {
                PorSurtir += vistaCompra.Entrada;
            }

            if (PorSurtir == 0)
            {
                AppHelper.ThrowException(
                    "La orden de compra {0} esta completamente surtida",
                    this.OrdenCompra.OrdenCompra_ID);
            }

            NotaAlmacen          = new Entities.NotasAlmacen();
            MovimientoInventario = new Entities.MovimientosInventario();

            //  Insertar Nota Almacen
            NotaAlmacen.Fecha          = DB.GetDate();
            NotaAlmacen.OrdenCompra_ID = OrdenCompra.OrdenCompra_ID;
            NotaAlmacen.TipoMovimientoInventario_ID = 2; // Compra
            NotaAlmacen.Usuario_ID  = Sesion.Usuario_ID;
            NotaAlmacen.Empresa_ID  = Sesion.Empresa_ID.Value;
            NotaAlmacen.Estacion_ID = Sesion.Estacion_ID.Value;
            NotaAlmacen.Factura     = FacturaTextBox.Text;
            NotaAlmacen.Create();

            //  Insertar Movimientos Inventario
            foreach (Entities.Vista_ComprasAlmacen compra in VistaCompras)
            {
                if (compra.Entrada > 0)
                {
                    MovimientoInventario.Cantidad       = compra.Entrada;
                    MovimientoInventario.CantidadPost   = MovimientoInventario.CantidadPrev + compra.Entrada;
                    MovimientoInventario.CostoUnitario  = compra.CostoUnitario;
                    MovimientoInventario.Fecha          = NotaAlmacen.Fecha;
                    MovimientoInventario.NotaAlmacen_ID = NotaAlmacen.NotaAlmacen_ID;
                    MovimientoInventario.OrdenCompra_ID = NotaAlmacen.OrdenCompra_ID;
                    MovimientoInventario.Refaccion_ID   = compra.Refaccion_ID;
                    MovimientoInventario.TipoMovimientoInventario_ID = NotaAlmacen.TipoMovimientoInventario_ID;
                    MovimientoInventario.Usuario_ID  = NotaAlmacen.Usuario_ID;
                    MovimientoInventario.Valor       = compra.Entrada * compra.CostoUnitario;
                    MovimientoInventario.Empresa_ID  = Sesion.Empresa_ID.Value;
                    MovimientoInventario.Estacion_ID = Sesion.Estacion_ID.Value;
                    MovimientoInventario.Calculate();
                    MovimientoInventario.Create();

                    //  Actualizar refaccion
                    MovimientoInventario.UpdateRefaccion(true);
                }
            }

            //  Actualizar compra y sacar totale de Orden de Compra
            decimal subtotal = 0;

            foreach (Entities.Vista_ComprasAlmacen vistaCompra in VistaCompras)
            {
                Entities.Compras compra = Entities.Compras.Read(vistaCompra.Compra_ID);
                if (vistaCompra.Entrada > 0)
                {
                    compra.RefaccionesSurtidas += vistaCompra.Entrada;
                    compra.CostoUnitario        = vistaCompra.CostoUnitario;
                    compra.Update();
                    subtotal += vistaCompra.CostoUnitario * compra.Cantidad;
                }
                else
                {
                    subtotal += compra.CostoUnitario * compra.Cantidad;
                }
            }

            // Actualizar Factura y Totales de Orden de Compra
            if (String.IsNullOrEmpty(OrdenCompra.Factura))
            {
                OrdenCompra.Factura = FacturaTextBox.Text.ToUpper().Trim();
            }
            else
            {
                OrdenCompra.Factura = OrdenCompra.Factura.Trim() + ", " + FacturaTextBox.Text.ToUpper().Trim();
            }
            OrdenCompra.Subtotal = subtotal;
            OrdenCompra.IVA      = OrdenCompra.Subtotal * (decimal)0.16;
            OrdenCompra.Total    = OrdenCompra.Subtotal + OrdenCompra.IVA;
            OrdenCompra.Update();
            OrdenCompra                 = null;
            this.label4.Visible         = false;
            this.FacturaTextBox.Visible = false;
        }