private void dgvDetalle_CellValueChanged(object sender, DataGridViewCellEventArgs e) { double subtotal = 0; double subtotalDes = 0; double porcentajeImp = 0; double Impuesto = 0; double porcDescuento = 0; double Descuento = 0; double totallinea = 0; if (e.RowIndex >= 0) { ArticuloDatos art = articuloLogica.ObtenerArticulos(cia, Convert.ToString(dgvDetalle.Rows[e.RowIndex].Cells[0].Value))[0]; subtotal = Convert.ToDouble(dgvDetalle.Rows[e.RowIndex].Cells[2].Value) * Convert.ToDouble(dgvDetalle.Rows[e.RowIndex].Cells[3].Value); porcentajeImp = articuloLogica.ObtenerImpuesto(cia, art.impuesto)[0].porcentaje; porcDescuento = Convert.ToDouble(dgvDetalle.Rows[e.RowIndex].Cells[4].Value); Descuento = subtotal * (porcDescuento / 100); subtotalDes = subtotal - Descuento; Impuesto = Math.Round(subtotalDes * (porcentajeImp / 100), 2); totallinea = subtotalDes + Impuesto; dgvDetalle.Rows[e.RowIndex].Cells[5].Value = Impuesto; dgvDetalle.Rows[e.RowIndex].Cells[6].Value = totallinea; } CalculaTotales(); }
public void cargarDatos(string codigo) { ArticuloDatos articulo = articuloLogica.ObtenerArticulos(cia, codigo)[0]; txtCodigo.Text = articulo.codArticulo; txtDescripcion.Text = articulo.descripcion; txtPrecio.Text = articulo.precio.ToString(); }
public float ObtenerCantidadArticulos(string cia, string articulo) { float cantidad = 0; DataSet ds = ArticuloDatos.ObtenerCantidad(cia, articulo); foreach (DataRow row in ds.Tables[0].Rows) { cantidad = float.Parse(row["cantidad"].ToString()); } return(cantidad); }
private void dgvDetalle_RowEnter(object sender, DataGridViewCellEventArgs e) { double subtotal = 0; double porcDescuento = 0; double Descuento = 0; if (e.RowIndex >= 0) { ArticuloDatos art = articuloLogica.ObtenerArticulos(cia, Convert.ToString(dgvDetalle.Rows[e.RowIndex].Cells[0].Value))[0]; subtotal = Convert.ToDouble(dgvDetalle.Rows[e.RowIndex].Cells[2].Value) * Convert.ToDouble(dgvDetalle.Rows[e.RowIndex].Cells[3].Value); porcDescuento = Convert.ToDouble(dgvDetalle.Rows[e.RowIndex].Cells[4].Value); Descuento = subtotal * (porcDescuento / 100); txtMontoDescuento.Text = Descuento.ToString("000.00"); } }
public void agregarArticulo() { double precioArticulo = 0; double porcentajeImp = 0; double impuestoArticulo = 0; double totalLinea = 0; ArticuloDatos art = new ArticuloDatos(); art = articuloLogica.ObtenerArticulos(cia, articuloSeleccionado)[0]; precioArticulo = clienteLogica.ObtenerListaPrecio(cia, Convert.ToString(cboListaPrecio.SelectedValue), art.codArticulo)[0].precio; porcentajeImp = articuloLogica.ObtenerImpuesto(cia, art.impuesto)[0].porcentaje; impuestoArticulo = Math.Round(precioArticulo * (porcentajeImp / 100), 2); totalLinea = Math.Round(precioArticulo + impuestoArticulo, 2); dgvDetalle.Rows.Add(art.codArticulo, art.descripcion, 1, precioArticulo, 0, impuestoArticulo, totalLinea); CalculaTotales(); }
public List <ArticuloDatos> ObtenerArticulos(string cia, string filtro) { List <ArticuloDatos> lista = new List <ArticuloDatos>(); DataSet ds = ArticuloDatos.ObtenerArticulo(cia, filtro); foreach (DataRow row in ds.Tables[0].Rows) { ArticuloDatos obj = new ArticuloDatos(); obj.cia = row["cia"].ToString(); obj.codArticulo = row["codArticulo"].ToString(); obj.descripcion = row["desArticulo"].ToString(); obj.unidad = row["unidad"].ToString(); obj.cantidad = ObtenerCantidadArticulos(cia, row["codArticulo"].ToString()); obj.costo = float.Parse(row["costo"].ToString()); obj.precio = float.Parse(row["precio"].ToString()); obj.impuesto = row["impuesto"].ToString(); obj.tipo = row["tipo"].ToString(); lista.Add(obj); } return(lista); }
public void insertarFactura() { double servGravados = 0; double servExentos = 0; double mercGravadas = 0; double mercExentas = 0; double totalExentas = 0; double totalGravadas = 0; double totalVenta = 0; double totalDescuento = 0; double totalVentaNeta = 0; double totalImpuesto = 0; double totalComprobante = 0; string documento = Convert.ToString(facturaLogica.ObtenerConsecutivos(cia, Global.GlobalVend.caja, "F")[0].consecutivo); facturaLogica.ActualizarConsecutivo(cia, Global.GlobalVend.caja, "F"); List <DetalleFacturaDatos> listaDetalle = new List <DetalleFacturaDatos>(); int secuencia = 1; foreach (DataGridViewRow row in dgvDetalle.Rows) { double subtotal = 0; double subtotalDes = 0; double montoDescuento = 0; double porcImpuesto = 0; double porcDescuento = 0; ArticuloDatos art = new ArticuloDatos(); art = articuloLogica.ObtenerArticulos(cia, Convert.ToString(row.Cells[0].Value))[0]; subtotal = Math.Round((Convert.ToDouble(row.Cells[2].Value) * Convert.ToDouble(row.Cells[3].Value)), 2); porcImpuesto = Math.Round((articuloLogica.ObtenerImpuesto(cia, art.impuesto)[0].porcentaje / 100), 2); porcDescuento = Convert.ToDouble(row.Cells[4].Value) / 100; montoDescuento = subtotal * porcDescuento; subtotalDes = subtotal - montoDescuento; TipoArticuloDatos tipoArticulo = articuloLogica.ObtenerTipoArticulo(cia, art.tipo)[0]; DetalleFacturaDatos detalle = new DetalleFacturaDatos(); detalle.cia = cia; detalle.documento = documento; detalle.secuencia = secuencia; detalle.articulo = Convert.ToString(row.Cells[0].Value); detalle.porcDescuento = (float)Convert.ToDouble(row.Cells[4].Value); detalle.porcImpuesto = (float)articuloLogica.ObtenerImpuesto(cia, art.impuesto)[0].porcentaje; detalle.unidadMedida = "Unid"; detalle.cantidad = (float)Convert.ToDouble(row.Cells[2].Value); detalle.costo = (float)art.costo; detalle.precio = (float)Convert.ToDouble(row.Cells[3].Value); detalle.montoImpuesto = (float)Convert.ToDouble(row.Cells[5].Value); detalle.montoDescuento = (float)montoDescuento; detalle.total = (float)Convert.ToDouble(row.Cells[4].Value); detalle.descripcion = ""; listaDetalle.Add(detalle); secuencia++; if (tipoArticulo.afecta == "N") { if ((Convert.ToDouble(row.Cells[5].Value)) > 0) { servGravados += subtotal; } else { servExentos += subtotal; } } else { if ((Convert.ToDouble(row.Cells[5].Value)) > 0) { mercGravadas += subtotal; } else { mercExentas += subtotal; } } totalDescuento += montoDescuento; totalImpuesto += Convert.ToDouble(row.Cells[5].Value); } totalExentas = servExentos + mercExentas; totalGravadas = servGravados + mercGravadas; totalVenta = totalGravadas + totalExentas; totalVentaNeta = totalVenta - totalDescuento; totalComprobante = totalVentaNeta + totalImpuesto; FacturaDatos facturaI = new FacturaDatos(); facturaI.cia = cia; facturaI.tipo = Convert.ToString(cboTipo.SelectedValue); facturaI.documento = documento; facturaI.caja = Global.GlobalVend.caja; facturaI.fecha = Convert.ToDateTime(txtFecha.Text); facturaI.codCliente = txtCodCliente.Text; facturaI.pago = "0"; facturaI.agente = txtVendedor.Text; facturaI.moneda = Convert.ToString(cboMoneda.SelectedValue); facturaI.cambio = "0"; facturaI.descripcion = txtDescripcion.Text; facturaI.referencia = txtReferencia.Text; facturaI.estado = Convert.ToString(cboEstado.SelectedValue); facturaI.facturaDigital = "0"; facturaI.servGravados = (float)servGravados; facturaI.servExentos = (float)servExentos; facturaI.mercGravadas = (float)mercGravadas; facturaI.mercExentas = (float)mercExentas; facturaI.totalExentas = (float)totalExentas; facturaI.totalGravadas = (float)totalGravadas; facturaI.totalVenta = (float)totalVenta; facturaI.totalDescuento = (float)totalDescuento; facturaI.totalVentaNeta = (float)totalVentaNeta; facturaI.totalImpuesto = (float)totalImpuesto; facturaI.totalComprobante = (float)totalComprobante; facturaLogica.InsertarFactura(facturaI); detalleFacturaLogica.InsertarDetalleFactura(listaDetalle); }