public List <TipoArticuloDatos> ObtenerTipoArticulo(string cia, string filtro) { List <TipoArticuloDatos> lista = new List <TipoArticuloDatos>(); DataSet ds = TipoArticuloDatos.ObtenerTipoArticulo(cia, filtro); foreach (DataRow row in ds.Tables[0].Rows) { TipoArticuloDatos obj = new TipoArticuloDatos(); obj.cia = row["cia"].ToString(); obj.codigo = row["codigo"].ToString(); obj.descripcion = row["descripcion"].ToString(); obj.afecta = row["afecta"].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); }