コード例 #1
0
        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();
        }
コード例 #2
0
ファイル: Articulo.cs プロジェクト: GeorgiMC/FacturacionX
        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();
        }
コード例 #3
0
        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);
        }
コード例 #4
0
        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");
            }
        }
コード例 #5
0
        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();
        }
コード例 #6
0
        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);
        }
コード例 #7
0
        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);
        }