示例#1
0
        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);
        }
示例#2
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);
        }