Example #1
0
        private void btnFinalizar_Click(object sender, EventArgs e)
        {
            // Creo COBRANZA
            Cobranza cobranza = new Cobranza()
            {
                Id            = extras.GetCobranza_Id() + 1,
                IdCliente     = extras.GetId(cmbClientes.SelectedItem.ToString()),
                TipoDocumento = cmbTipoDocumento.SelectedItem.ToString(),
                NroDocumento  = txtNroDocumento.Text,
                Monto         = (_totalFacturas - _totalDebitos - _totalRetenciones),
                Fecha         = dtpFecha.Value.ToString("yyyy-MM-dd")
            };

            // Añado Facturas, ND, NC a las LINEAS COBRANZA
            List <LineaCobranza> lineasCobranza = new List <LineaCobranza>();

            long idLineaCobranza = extras.GetLineaCobranza_Id();

            //Añado la/s factura/s
            foreach (DataGridViewRow rowFactura in dgvFacturas.SelectedRows)
            {
                string[] doc        = rowFactura.Cells["Factura"].Value.ToString().Split(' ');
                decimal  monto      = decimal.Parse(rowFactura.Cells["Monto"].Value.ToString());
                decimal  montoTotal = decimal.Parse(rowFactura.Cells["Monto c/IVA"].Value.ToString());

                string tipoDoc   = doc[0];
                string numeroDoc = doc[1].Trim();

                idLineaCobranza += 1;

                LineaCobranza linea = new LineaCobranza
                {
                    Id            = idLineaCobranza,
                    IdCobranza    = cobranza.Id,
                    TipoDocumento = tipoDoc,
                    NroDocumento  = numeroDoc,
                    Detalle       = "FACTURA",
                    Monto         = monto,
                    Iva           = 21,
                    IvaTotal      = (montoTotal - monto),
                    Total         = montoTotal
                };

                lineasCobranza.Add(linea);
            }

            //Añado lás ND/NC
            foreach (DataGridViewRow rowDebitos in dgvDebitos.Rows)
            {
                string  tipoDocumento = rowDebitos.Cells["cTipo"].Value.ToString();
                string  nroDocumento  = rowDebitos.Cells["cNumero"].Value.ToString();
                string  detalle       = rowDebitos.Cells["cDetalle"].Value.ToString();
                decimal monto         = decimal.Parse(rowDebitos.Cells["cMonto"].Value.ToString());
                decimal iva           = decimal.Parse(rowDebitos.Cells["cIva"].Value.ToString());
                decimal totalIva      = decimal.Parse(rowDebitos.Cells["cTotalIva"].Value.ToString());
                decimal total         = decimal.Parse(rowDebitos.Cells["cTotal"].Value.ToString());

                idLineaCobranza += 1;

                LineaCobranza linea = new LineaCobranza
                {
                    Id            = idLineaCobranza,
                    IdCobranza    = cobranza.Id,
                    TipoDocumento = tipoDocumento,
                    NroDocumento  = nroDocumento,
                    Detalle       = detalle,
                    Monto         = monto,
                    Iva           = iva,
                    IvaTotal      = totalIva,
                    Total         = total
                };

                lineasCobranza.Add(linea);
            }

            // Genero CHEQUES

            List <Cheque> listaCheques = new List <Cheque>();
            long          idCheque     = extras.GetCheque_Id();

            foreach (DataGridViewRow rowCheque in dgvCheques.Rows)
            {
                string  numero = rowCheque.Cells["cNumeroCheque"].Value.ToString();
                decimal monto  = decimal.Parse(rowCheque.Cells["cMontoCheque"].Value.ToString());

                idCheque += 1;

                Cheque cheque = new Cheque()
                {
                    Id            = idCheque,
                    Numero        = numero,
                    Banco         = cmbBancos.SelectedItem.ToString(),
                    Tipo          = "DIFERIDO",
                    FechaEmision  = dtpFechaEmisionCheque.Value.ToString("yyyy-MM-dd"),
                    FechaCobro    = dtpFechaCobroCheque.Value.ToString("yyyy-MM-dd"),
                    IdCliente     = extras.GetId(cmbClientes.SelectedItem.ToString()),
                    Monto         = monto,
                    Ubicacion     = "WORKING",
                    Observaciones = ""
                };

                listaCheques.Add(cheque);
            }

            extras.AddCobranza(cobranza);
            extras.AddLineaCobranza(lineasCobranza);
            extras.AddCheque(listaCheques);

            // Cambio estado de VENTA
            foreach (DataGridViewRow rowFactura in dgvFacturas.SelectedRows)
            {
                Factura factura = new Factura()
                {
                    Id = long.Parse(rowFactura.Cells["Id"].Value.ToString())
                };
                factura = extras.GetFactura(factura);

                factura.Estado = "CERRADO";

                extras.EditFactura(factura);
            }

            MessageBox.Show("jeje");

            DescartarCambios();
            Controles_Inicio();
        }
        private void btnConfirmar_Click(object sender, EventArgs e)
        {
            //chequeos
            if (!extras.CkConfirmacion("ingresar esta nueva factura"))
            {
                return;
            }

            decimal importeNeto  = decimal.Parse(txtTotalSinIva.Text);
            decimal importeTotal = decimal.Parse(txtTotalConIva.Text);


            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      = importeNeto,
                ImporteTotal     = importeTotal,
                Estado           = "ABIERTO",
                Observaciones    = txtObservaciones.Text,
                Iva              = (importeTotal - importeNeto)
            };

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

            foreach (DataGridViewRow row in dgvContenido.Rows)
            {
                LineaFactura linea = new LineaFactura()
                {
                    Id             = extras.GetLineaFactura_Id() + 1,
                    IdFactura      = factura.Id,
                    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"
                };

                list.Add(linea);
            }

            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("La Factura " + txtNumero.Text + " fue ingresada correctamente.");

            SetTable_Facturas();

            Controles_Inicio();
            DescartarCambios();
        }
Example #3
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();
        }