public ActionResult GenerarRep_FacturacionPorHonorarios(DateTime? FechaInicio, DateTime? FechaFin)
        {
            if (FechaInicio == null || FechaFin == null)
            {
                return RedirectToAction("ReportesGestion", new { message = 1 });
            }

            EmpresaDTO objEmpresa = (new EmpresaBL()).getEmpresa(getCurrentUser().IdEmpresa);

            ReportesBL repBL = new ReportesBL();
            List<HonorarioDTO> lstHonorariosMontos = repBL.getHonorariosEnEmpresa(objEmpresa.IdEmpresa, FechaInicio, FechaFin);

            if (lstHonorariosMontos == null)
                return RedirectToAction("ReportesGestion", new { message = 2 });

            System.Data.DataTable dt = new System.Data.DataTable();
            dt.Clear();

            dt.Columns.Add("Modalidad");
            dt.Columns.Add("Monto con IGV");
            dt.Columns.Add("Monto sin IGV");
            dt.Columns.Add("Porcentaje");

            Decimal SumaTotal = lstHonorariosMontos.Sum(x => x.Monto);

            foreach (var obj in lstHonorariosMontos)
            {
                DataRow row = dt.NewRow();
                row["Modalidad"] = obj.Nombre;
                row["Monto con IGV"] = obj.Monto.ToString("N2", CultureInfo.InvariantCulture);
                row["Monto sin IGV"] = obj.Monto_SinIGV.ToString("N2", CultureInfo.InvariantCulture);
                Decimal porcentaje = SumaTotal == 0 ? 0 : obj.Monto / SumaTotal;
                obj.Porcentaje = porcentaje;
                row["Porcentaje"] = porcentaje.ToString("P2", CultureInfo.InvariantCulture);
                dt.Rows.Add(row);
            }

            System.Data.DataRow rowFinal = dt.NewRow();
            rowFinal[0] = "TOTAL";
            rowFinal[1] = SumaTotal.ToString("N2", CultureInfo.InvariantCulture);
            rowFinal[2] = lstHonorariosMontos.Sum(x => x.Porcentaje).ToString("P2", CultureInfo.InvariantCulture);
            dt.Rows.Add(rowFinal);

            GenerarPdf(dt, "Ventas por Modalidad de Pago", "VentasPorModalidadDePago", objEmpresa, FechaInicio, FechaFin, Response);

            return RedirectToAction("ReportesGestion", new { message = 2 });
        }