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(); }
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(); }