Ejemplo n.º 1
0
        private void btnGuardar_Click(object sender, EventArgs e)
        {
            //chequeos

            Factura factura = new Factura()
            {
                Id               = extras.GetFactura_Id() + 1,
                CompraVenta      = "COMPRA",
                IdEmisor         = extras.GetId(cmbProveedor.SelectedItem.ToString()),
                IdDestinatario   = 0,
                FechaEmision     = dtpFechaEmision.Value.ToString("yyyy-MM-dd"),
                FechaVencimiento = dtpFechaVencimiento.Value.ToString("yyyy-MM-dd"),
                Numero           = txtNumero.Text,
                ImporteNeto      = decimal.Parse(txtTotalSinIva.Text),
                ImporteTotal     = decimal.Parse(txtTotalConIva.Text),
                Estado           = "ABIERTO",
                Observaciones    = txtObservaciones.Text,
            };

            List <LineaFactura> list = new List <LineaFactura>();

            foreach (DataGridViewRow row in dgvContenido.Rows)
            {
                LineaFactura linea = new LineaFactura()
                {
                    Id             = extras.GetLineaFactura_Id() + 1,
                    IdProducto     = extras.GetId(row.Cells["cProducto"].Value.ToString()),
                    Cantidad       = decimal.Parse(row.Cells["cCantidad"].Value.ToString()),
                    PrecioUnitario = decimal.Parse(row.Cells["cPrecioUnitario"].Value.ToString()),
                    Subtotal       = decimal.Parse(row.Cells["cSubtotal"].Value.ToString()),
                    AlicuotaIva    = decimal.Parse(row.Cells["cAlicuotaIva"].Value.ToString()),
                    Total          = decimal.Parse(row.Cells["cTotal"].Value.ToString()),
                    Estado         = "ABIERTO"
                };
            }

            MovimientoProveedor movimiento = new MovimientoProveedor()
            {
                Id            = extras.GetMovimientoProveedor_Id() + 1,
                IdProveedor   = extras.GetId(cmbProveedor.SelectedItem.ToString()),
                CreditoDebito = "DEBITO",
                Fecha         = dtpFechaEmision.Value.ToString("yyyy-MM-dd"),
                TipoDocumento = cmbTipoDocumento.SelectedItem.ToString(),
                NumDocumento  = txtNumero.Text,
                Monto         = decimal.Parse(txtTotalConIva.Text),
                Observaciones = txtObservaciones.Text
            };

            extras.AddFactura(factura);
            extras.AddLineaFactura(list);
            extras.AddMovimientoProveedor(movimiento);

            MessageBox.Show("jeje");

            Controles_Inicio();
            DescartarCambios();
        }
Ejemplo n.º 2
0
        private void btnOk_Click(object sender, EventArgs e)
        {
            //chequeos
            decimal importeNeto  = decimal.Parse(txtTotalSinIva.Text);
            decimal importeTotal = decimal.Parse(txtTotalConIva.Text);

            Factura factura = new Factura()
            {
                Id               = extras.GetFactura_Id() + 1,
                CompraVenta      = "VENTA",
                IdEmisor         = 0,
                IdDestinatario   = extras.GetId(cmbClientes.SelectedItem.ToString()),
                FechaEmision     = dtpFecha.Value.ToString("yyyy-MM-dd"),
                FechaVencimiento = dtpFecha.Value.AddDays(15).ToString("yyyy-MM-dd"),
                Numero           = txtNroDocumento.Text,
                ImporteNeto      = importeNeto,
                ImporteTotal     = importeTotal,
                Observaciones    = "",
                Iva              = (importeTotal - importeNeto),
                Estado           = "ABIERTO"
            };

            List <LineaFactura> lineasFactura = new List <LineaFactura>();

            foreach (DataGridViewRow row in dgvContenido.Rows)
            {
                decimal cantidad       = decimal.Parse(row.Cells["cCantidad"].Value.ToString());
                decimal precioUnitario = decimal.Parse(row.Cells["cPrecioUnitario"].Value.ToString());
                decimal alicuota       = decimal.Parse(row.Cells["cAlicuotaIva"].Value.ToString());
                decimal iva            = decimal.Round((cantidad * precioUnitario) * alicuota, 2);

                LineaFactura linea = new LineaFactura()
                {
                    Id             = extras.GetLineaFactura_Id() + 1,
                    IdFactura      = factura.Id,
                    IdProducto     = extras.GetId(row.Cells["cProducto"].Value.ToString()),
                    Cantidad       = cantidad,
                    PrecioUnitario = precioUnitario,
                    Subtotal       = decimal.Round(cantidad * precioUnitario, 2),
                    AlicuotaIva    = alicuota,
                    Iva            = iva,
                    Total          = decimal.Round(cantidad * precioUnitario + iva, 2),
                    Estado         = "ABIERTO"
                };

                lineasFactura.Add(linea);
            }

            extras.AddFactura(factura);
            extras.AddLineaFactura(lineasFactura);

            foreach (DataGridViewRow row in dgvPedidos.SelectedRows)
            {
                long   idPedido = long.Parse(row.Cells["Id"].Value.ToString());
                Pedido pedido   = new Pedido()
                {
                    Id = idPedido
                };
                pedido = extras.GetPedido(pedido);

                pedido.Estado = "FACTURADO";

                extras.EditPedido(pedido, false);
            }

            SetTable_Facturas();
        }