예제 #1
0
        public IActionResult GenerarPDFAnticipo(int id)
        {
            Guid guid = Guid.NewGuid();

            _log.RegistrarEvento($"{guid}{Environment.NewLine}{JsonConvert.SerializeObject(id)}");

            //ES MOMENTANEO SE DEBE ELIMINAR
            GenerarPDFAnticipoResponseDTO response = _AnticipoService.GenerarPDF(id);

            try
            {
                string mimetype  = "";
                int    extension = 1;
                var    path      = $"{_webHostEnvironment.ContentRootPath}\\Reportes\\rptAnticipo.rdlc";

                LocalReport lr = new LocalReport(path);
                Dictionary <string, string> parameters = new Dictionary <string, string>();

                lr.AddDataSource("dsAnticipo", Util.ToDataTable(response.resultado));
                var result = lr.Execute(RenderType.Pdf, extension, parameters, mimetype);

                return(File(result.MainStream, "application/pdf"));
            }
            catch (ResultException ex)
            {
                response.Result = new Result()
                {
                    Success = true, ErrCode = ex.Result.ErrCode, Message = ex.Result.Message
                };
            }
            catch (Exception ex)
            {
                response.Result = new Result()
                {
                    Success = false, Message = "Ocurrio un problema en el servicio, intentelo nuevamente."
                };
                _log.RegistrarEvento(ex, guid.ToString());
            }

            _log.RegistrarEvento($"{guid}{Environment.NewLine}{JsonConvert.SerializeObject(response)}");

            return(Ok(response));
        }
예제 #2
0
        // Report Generate Code
        // Report Index Action
        public IActionResult ReportGenerate()
        {
            string m_type    = "";
            int    extension = 1;
            // Path of Report Template
            var path = $"Models\\Report\\Report.rdlc";
            // Dictionary
            Dictionary <string, string> parameters = new Dictionary <string, string>();

            // Add Parameter of Report @parameter RDLC Report
            parameters.Add("ReportParameter1", "Bismillah Testing a Report Waleed");
            // Local Report
            LocalReport report = new LocalReport(path /* passing a parameter of report directory */);
            // Result
            var result = report.Execute(RenderType.Pdf, extension, parameters, m_type);

            // Returning a value
            return(File(result.MainStream, "application/pdf")); // Print to PDF Form
        }
예제 #3
0
        public byte[] GenerateReportAsync(string reportName, DataTable datos, string nombre, string apellido1, string apellido2)
        {
            string fileDirPath  = Assembly.GetExecutingAssembly().Location.Replace("smarthometec_API.dll", string.Empty);
            string rdlcFilePath = string.Format("{0}reportes\\{1}.rdlc", fileDirPath, reportName);
            Dictionary <string, string> parameters = new Dictionary <string, string>();

            Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
            Encoding.GetEncoding("windows-1252");
            LocalReport report = new LocalReport(rdlcFilePath);


            Debug.WriteLine("llego aca");

            report.AddDataSource("DataSet1", datos);
            parameters.Add("nombre", nombre + " " + apellido1 + " " + apellido2);
            var result = report.Execute(GetRenderType("pdf"), 1, parameters);

            return(result.MainStream);
        }
예제 #4
0
        public IActionResult DailyReport()
        {
            var dt = _stationXRepo.FindAll();

            string mimetype  = "";
            int    extension = 1;
            var    path      = $@"{this._webHostEnvironment.WebRootPath}\Reports\DailyReport.rdlc";

            Dictionary <string, string> param = new Dictionary <string, string>();

            param.Add("param", "Station Pusat Daily Reports");

            LocalReport localReport = new LocalReport(path);

            localReport.AddDataSource("dsStationX", dt);
            var result = localReport.Execute(RenderType.Pdf, extension, param, mimetype);

            return(File(result.MainStream, "application/pdf"));
        }
        public IActionResult Get()
        {
            string mimtype     = "";
            int    extension   = 1;
            var    _reportPath = @"Reports\testeReport.rdlc";

            LocalReport localReport = new LocalReport(_reportPath);


            //Dados
            System.Data.DataTable dt = new System.Data.DataTable();
            dt.Clear();
            dt.Columns.Add("Id", typeof(int));
            dt.Columns.Add("Name", typeof(string));
            dt.Rows.Add(1, "Paulo");
            dt.Rows.Add(2, "Jose");
            localReport.AddDataSource("DataSet1", dt);


            //Parametros do relatório
            var reportParams = new Dictionary <string, string>();

            //reportParams.Add("Key1", "value1");
            //reportParams.Add("Key2", "value2");
            if (reportParams != null && reportParams.Count > 0)// if you use parameter in report
            {
                List <ReportParameter> reportparameter = new List <ReportParameter>();
                foreach (var record in reportParams)
                {
                    reportparameter.Add(new ReportParameter());
                }
            }

            //Geração do arquivo
            System.Text.Encoding.RegisterProvider(System.Text.CodePagesEncodingProvider.Instance);
            var result = localReport.Execute(RenderType.Pdf, extension, parameters: reportParams);

            byte[] file = result.MainStream;

            Stream stream = new MemoryStream(file);

            return(File(stream, "application/pdf", "testeReport.pdf"));
        }
        // please not this just for demo and test  purpos method and need enhancement
        // it's not support subreports
        // we can find one better than this
        public async Task <IActionResult> GenerateReport()
        {
            #region generate report using DataTable
            //var dt = new DataTable();
            //dt.Columns.Add("FullName");
            //dt.Columns.Add("Email");
            //dt.Columns.Add("DateOfBirth");
            //dt.Columns.Add("Gender");
            //dt.Columns.Add("Department");
            //var employeeList = new List<Employee>(); //await employeeRepository.GetEmployees();
            //DataRow dr;
            //foreach (var emp in employeeList)
            //{
            //    dr = dt.NewRow();
            //    dr["FullName"] = $"{emp.FirstName}{emp.LastName} ";
            //    dr["Email"] = emp.Email;
            //    dr["Gender"] = emp.Gender;
            //    dr["Department"] = emp.Department.DepartmentName;
            //    dr["DateOfBirth"] = emp.DateOfBrith;
            //    dt.Rows.Add(dr);
            //}
            #endregion


            var employeeList = await employeeRepository.GetDepartmentsEmployeesAsSP();

            var departments = await departmentRepository.GetDepartments();

            //var employeeList = await employeeRepository.GetEmployeesAsSP();
            string mimeType   = "";
            int    extenstion = 1;
            //var path = $"{_webHostEnvironment.WebRootPath}\\Reports\\EmployeeReport.rdlc";
            var path = $"{_webHostEnvironment.WebRootPath}\\Reports\\EmployeesPerDepartmentReport.rdlc";

            Dictionary <string, string> parameters = new Dictionary <string, string>();
            //parameters.Add("param", "Blazor RDLC Report");
            LocalReport localReport = new LocalReport(path);

            //localReport.AddDataSource("dsDepartment", departments);
            localReport.AddDataSource("dsEmployeesPerDepartment", employeeList);
            var result = localReport.Execute(RenderType.Pdf, extenstion, parameters, mimeType);
            return(File(result.MainStream, "application/pdf"));
        }
예제 #7
0
        public IActionResult Index()
        {
            LocalReport         _localReport = new LocalReport("Reporti/Report1.rdlc");
            List <Report1Model> podaci       = getStudenti(_db);
            DataSet             ds           = new DataSet();

            _localReport.AddDataSource("DataSet1", podaci);

            Dictionary <string, string> parameters = new Dictionary <string, string>();

            parameters.Add("ReportSastavio", HttpContext.LogiraniKorisnik().ImePrezime);

            //ReportResult result = _localReport.Execute(RenderType.ExcelOpenXml, parameters: parameters);
            //return File(result.MainStream, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");


            ReportResult result = _localReport.Execute(RenderType.Pdf, parameters: parameters);

            return(File(result.MainStream, "application/pdf"));
        }
예제 #8
0
        public byte[] GenerateReportAsync(string reportName)
        {
            string fileDirPath  = Assembly.GetExecutingAssembly().Location.Replace("ReportAPI.dll", string.Empty);
            string rdlcFilePath = string.Format("{0}ReportFiles\\{1}.rdlc", fileDirPath, reportName);
            Dictionary <string, string> parameters = new Dictionary <string, string>();

            Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
            Encoding.GetEncoding("windows-1252");
            LocalReport report = new LocalReport(rdlcFilePath);

            List <UserDto> userList = new List <UserDto>();

            userList.Add(new UserDto
            {
                FirstName = "Alex",
                LastName  = "Smith",
                Email     = "*****@*****.**",
                Phone     = "2345334432"
            });

            userList.Add(new UserDto
            {
                FirstName = "John",
                LastName  = "Legend",
                Email     = "*****@*****.**",
                Phone     = "5633435334"
            });

            userList.Add(new UserDto
            {
                FirstName = "Stuart",
                LastName  = "Jones",
                Email     = "*****@*****.**",
                Phone     = "3575328535"
            });

            report.AddDataSource("dsUsers", userList);
            var result = report.Execute(GetRenderType("pdf"), 1, parameters);

            return(result.MainStream);
        }
예제 #9
0
        public byte[] GenerateReport(ReportType type, string reportPathAndName, List <DataTable> dataTables = null, Dictionary <string, string> reportParameters = null)
        {
            this.dataTable = dataTables;
            LocalReport reportViewer = new LocalReport(reportPathAndName);

            parametrat = reportParameters;

            switch (type)
            {
            case ReportType.PagaTabelare:
                reportViewer.AddDataSource("dataset", dataTable[0]);
                break;

            default:
                break;
            }

            var result = reportViewer.Execute(RenderType.Pdf, 1, parametrat, mimeType);

            return(result.MainStream);
        }
예제 #10
0
        public IActionResult Flyer(string surname)
        {
            var dt = new DataTable();

            if (surname != null)
            {
                dt = _repository.GetEmployeeBySurname(surname);
            }

            string mimetype  = "";
            int    extension = 1;
            var    path      = $"{this._webHostEnvironment.WebRootPath}\\Reports\\rptEmployeesFlyers.rdlc";

            Dictionary <string, string> parameters = new Dictionary <string, string>();
            LocalReport localReport = new LocalReport(path);

            localReport.AddDataSource("dsEmployees", dt);
            var result = localReport.Execute(RenderType.Pdf, extension, parameters, mimetype);

            return(File(result.MainStream, "application/pdf"));
        }
예제 #11
0
        public IActionResult Print()
        {
            var      dt     = new DataTable();
            DateTime inicio = Convert.ToDateTime("2021/03/01");
            DateTime fin    = DateTime.Now;

            dt = adultosDAL.AdultosUltimoContacto(inicio, fin);
            string mimetype  = "";
            int    extension = 1;
            var    path      = $"{this._webHostEnvironment.WebRootPath}\\Reports\\AdultosUltimoContacto.rdlc";

            Dictionary <string, string> parameters = new Dictionary <string, string>();

            parameters.Add("prm", "RDLC Matrix Report");
            LocalReport localReport = new LocalReport(path);

            localReport.AddDataSource("dsAdultosUltimoContacto", dt);
            var result = localReport.Execute(RenderType.Pdf, extension, parameters, mimetype);

            return(File(result.MainStream, "application/pdf"));
        }
예제 #12
0
        public ServiceResult <byte[]> PrintAccountFor(Guid solicitationId)
        {
            var newDirectory = Path.Combine(StaticFilesDirectory, "Reports", "Rendición.rdl");
            var files        = new FileInfo(newDirectory);

            var notif = new ServiceResult <byte[]>();

            if (!files.Exists)
            {
                notif.AddError("Error", "El Reporte no fue encontrado.");
                return(notif);
            }
            var solic = _solicitationSubsidyService.GetByIdSubsidy(solicitationId).Response;

            if (solic == null)
            {
                notif.AddError("Error", "La solicitud no existe.");
                return(notif);
            }
            var rv = new LocalReport(newDirectory);

            rv.AddDataSource("UserDataSet", new List <UserDto>()
            {
                solic.User
            });
            rv.AddDataSource("OrganismDataSet", new List <OrganismBaseDto>()
            {
                new OrganismBaseDto()
                {
                    Name = _context.Distributions.FirstOrDefault(x => x.Id == solic.User.DistributionId).Name
                }
            });
            rv.AddDataSource("DestinationDataSet", solic.Destinies);
            rv.AddDataSource("ExpenditureDataSet", solic.Expenditures);
            System.Text.Encoding.RegisterProvider(System.Text.CodePagesEncodingProvider.Instance);

            var result = rv.Execute(RenderType.Pdf);

            return(new ServiceResult <byte[]>(result.MainStream));
        }
예제 #13
0
        public ServiceResult <byte[]> ExpenditureProcedure()
        {
            var newDirectory = Path.Combine(StaticFilesDirectory, "Reports", "Expenditures.rdl");
            var files        = new FileInfo(newDirectory);

            var notif = new ServiceResult <byte[]>();

            if (!files.Exists)
            {
                notif.AddError("Error", "El Reporte no fue encontrado.");
                return(notif);
            }
            var rv = new LocalReport(newDirectory);

            var solicitation = _context.ExpenditureProcedure();

            if (solicitation.Count() > 0)
            {
                rv.AddDataSource("ExpenditureDataSet", new List <ExpenditureProcedureDto>(solicitation));
            }
            else
            {
                rv.AddDataSource("ExpenditureDataSet", new List <ExpenditureProcedureDto>()
                {
                    new ExpenditureProcedureDto()
                });
            }
            rv.AddDataSource("CommonDataSet", new List <ReportDto>()
            {
                new ReportDto()
                {
                    TodayDate = DateTime.Today.ToShortDateString()
                }
            });
            System.Text.Encoding.RegisterProvider(System.Text.CodePagesEncodingProvider.Instance);
            var result = rv.Execute(RenderType.Pdf);

            return(new ServiceResult <byte[]>(result.MainStream));
        }
예제 #14
0
        public IActionResult Print()
        {
            var    studentsData = GetStudentList();
            string mimetype     = "";
            int    extension    = 1;
            var    path         = $"{this._webHostEnvironment.WebRootPath}\\Reports\\Designer\\StudentReport.rdlc";
            var    header       = new ReportHeader()
            {
                Logo  = $"{this._webHostEnvironment.WebRootPath}\\Images\\Logo\\logo.png",
                Title = "Student Information by RDLC Reports"
            };
            Dictionary <string, string> parameters = new Dictionary <string, string>();
            //parameters.Add("title", "Student Information by RDLC Report");
            LocalReport lr = new LocalReport(path);

            lr.AddDataSource("ReportHeader", header.ToDataTable());
            lr.AddDataSource("Students", studentsData);

            var result = lr.Execute(RenderType.Pdf, extension, parameters, mimetype);

            return(File(result.MainStream, "application/pdf"));
        }
        public IActionResult DailyReport(string tanggal)
        {
            var dt = new DataTable();

            dt = _stationXService.GetStationInfoListbyDate(tanggal);

            string mimetype  = "";
            int    extension = 1;
            var    path      = $@"{this._webHostEnvironment.WebRootPath}\Reports\DailyReport.rdlc";

            Dictionary <string, string> param = new Dictionary <string, string>();

            param.Add("header", "Station Pusat Daily Reports");
            param.Add("selectDate", tanggal);

            LocalReport localReport = new LocalReport(path);

            localReport.AddDataSource("dsStationX", dt);

            var result = localReport.Execute(RenderType.Pdf, extension, param, mimetype);

            return(File(result.MainStream, "application/pdf"));
        }
예제 #16
0
        private IActionResult PrintEstimate(BillModel bill)
        {
            string mimeType  = "";
            int    extention = 1;
            Dictionary <string, string> parameters = new Dictionary <string, string>();
            //parameters.Add("ClientName", bill.ClientName);
            var path = $"{this._webHostEnvironment.WebRootPath}";

            path = path.Replace("wwwroot", "Reporting");
            path = path + "\\Estimate.rdlc";
            DataTable dt = new DataTable();

            dt = generateDataSet(bill);
            //SetParameter(dt);
            var data = GetEntities <Invoice>(dt);

            LocalReport lclReport = new LocalReport(path);

            lclReport.AddDataSource("DataSet1", data);
            var result = lclReport.Execute(RenderType.Pdf, extention, parameters, mimeType);

            return(File(result.MainStream, "application/pdf"));
        }
예제 #17
0
        public ServiceResult <byte[]> PrintReport_SolicitationByDestiniesAndDates(ReportByDestiniesAndDatesDto reportByDestiniesAndDates)
        {
            var newDirectory = Path.Combine(StaticFilesDirectory, "Reports", "SolicitationSubsidyByDestinationAndDate.rdl");
            var files        = new FileInfo(newDirectory);

            var notif = new ServiceResult <byte[]>();

            if (!files.Exists)
            {
                notif.AddError("Error", "El Reporte no fue encontrado.");
                return(notif);
            }

            reportByDestiniesAndDates.CityId     = reportByDestiniesAndDates.CityId.Equals(Guid.Empty) ? null : reportByDestiniesAndDates.CityId;
            reportByDestiniesAndDates.CountryId  = reportByDestiniesAndDates.CountryId.Equals(Guid.Empty) ? null : reportByDestiniesAndDates.CountryId;
            reportByDestiniesAndDates.ProvinceId = reportByDestiniesAndDates.ProvinceId.Equals(Guid.Empty) ? null : reportByDestiniesAndDates.ProvinceId;
            reportByDestiniesAndDates.StartDate  = new DateDto()
            {
                Day   = reportByDestiniesAndDates.StartDateDay,
                Month = reportByDestiniesAndDates.StartDateMonth,
                Year  = reportByDestiniesAndDates.StartDateYear
            };
            reportByDestiniesAndDates.EndDate = new DateDto()
            {
                Day   = reportByDestiniesAndDates.EndDay,
                Month = reportByDestiniesAndDates.EndMonth,
                Year  = reportByDestiniesAndDates.EndYear
            };

            var      rv        = new LocalReport(newDirectory);
            DateTime?startDate = null;
            DateTime?endDate   = null;

            if (reportByDestiniesAndDates.StartDate != null &&
                !reportByDestiniesAndDates.StartDate.Day.Equals(0) &&
                !reportByDestiniesAndDates.StartDate.Month.Equals(0) &&
                !reportByDestiniesAndDates.StartDate.Year.Equals(0))
            {
                startDate = reportByDestiniesAndDates.StartDate.ToDateTime();
            }

            if (reportByDestiniesAndDates.EndDate != null &&
                !reportByDestiniesAndDates.EndDate.Day.Equals(0) &&
                !reportByDestiniesAndDates.EndDate.Month.Equals(0) &&
                !reportByDestiniesAndDates.EndDate.Year.Equals(0))
            {
                endDate = reportByDestiniesAndDates.EndDate.ToDateTime();
            }
            var solicitation = _context.Report_SolicitationByDestiniesAndDates(
                startDate,
                endDate,
                reportByDestiniesAndDates.CountryId,
                reportByDestiniesAndDates.CityId,
                reportByDestiniesAndDates.ProvinceId
                );


            if (solicitation.Count() > 0)
            {
                rv.AddDataSource("ReportSolicitationByUser", new List <SolicitationSubsidyByOrganism>(solicitation));
            }
            else
            {
                rv.AddDataSource("ReportSolicitationByUser", new List <SolicitationSubsidyByOrganism>()
                {
                    new SolicitationSubsidyByOrganism()
                });
            }
            rv.AddDataSource("CommonDataSet", new List <ReportDto>()
            {
                new ReportDto()
                {
                    TodayDate = DateTime.Today.ToShortDateString()
                }
            });
            System.Text.Encoding.RegisterProvider(System.Text.CodePagesEncodingProvider.Instance);
            var result = rv.Execute(RenderType.Pdf);

            return(new ServiceResult <byte[]>(result.MainStream));
        }
        public IActionResult GenerarPDFLiquidacionProceso(int id, int empresaId)
        {
            Guid guid = Guid.NewGuid();

            _log.RegistrarEvento($"{guid}{Environment.NewLine}{JsonConvert.SerializeObject(id)}");

            //ES MOMENTANEO SE DEBE ELIMINAR
            GenerarPDFLiquidacionProcesoResponseDTO response = new GenerarPDFLiquidacionProcesoResponseDTO();;

            try
            {
                List <ConsultaLiquidacionProcesoPlantaPorIdBE> listaLiquidacionProcesoPlanta = new List <ConsultaLiquidacionProcesoPlantaPorIdBE>();

                response.data = LiquidacionProcesoPlantaService.ConsultarLiquidacionProcesoPlantaPorId(new ConsultaLiquidacionProcesoPlantaPorIdRequestDTO
                {
                    LiquidacionProcesoPlantaId = id,
                    EmpresaId = empresaId
                });


                if (response != null && response.data != null)
                {
                    listaLiquidacionProcesoPlanta.Add(response.data);
                }

                string mimetype  = "";
                int    extension = 1;
                var    path      = $"{_webHostEnvironment.ContentRootPath}\\Reportes\\rptLiquidacionProceso.rdlc";

                LocalReport lr = new LocalReport(path);
                Dictionary <string, string> parameters = new Dictionary <string, string>();

                if (listaLiquidacionProcesoPlanta.Count > 0)
                {
                    lr.AddDataSource("dsLiquidacionProceso", Util.ToDataTable(listaLiquidacionProcesoPlanta, true));
                }
                if (response != null && response.data.Detalle != null)
                {
                    lr.AddDataSource("dsLiquidProcesoDetalle", Util.ToDataTable(response.data.Detalle));
                }
                if (response != null && response.data.Resultado != null)
                {
                    lr.AddDataSource("dsLiquidProcesoResultado", Util.ToDataTable(response.data.Resultado));
                }
                var result = lr.Execute(RenderType.Pdf, extension, parameters, mimetype);

                return(File(result.MainStream, "application/pdf"));
            }
            catch (ResultException ex)
            {
                response.Result = new Result()
                {
                    Success = true, ErrCode = ex.Result.ErrCode, Message = ex.Result.Message
                };
            }
            catch (Exception ex)
            {
                response.Result = new Result()
                {
                    Success = false, Message = "Ocurrio un problema en el servicio, intentelo nuevamente."
                };
                _log.RegistrarEvento(ex, guid.ToString());
            }

            _log.RegistrarEvento($"{guid}{Environment.NewLine}{JsonConvert.SerializeObject(response)}");

            return(Ok(response));
        }
예제 #19
0
        public IActionResult Exportar(ExportarViewModel exportarViewModel)
        {
            if (exportarViewModel.Registro == 0)
            {
                ModelState.AddModelError("", "Seleccione el tipo de registro que desea exportar");
                return(View(exportarViewModel));
            }

            if (exportarViewModel.Tipo == 0)
            {
                ModelState.AddModelError("", "Seleccione el tipo de exportacion");
                return(View(exportarViewModel));
            }

            System.Text.UTF8Encoding.RegisterProvider(System.Text.CodePagesEncodingProvider.Instance);
            ExportarRepository exportarRepository = new ExportarRepository();
            LocalReport        localReport;
            ReportResult       reportResult;

            /*
             * Tipos
             * 1 - Ciudades
             * 2 - Comidas
             * 3 - Tipo de Atracciones
             * 4 - Atracciones
             * */
            try
            {
                switch (exportarViewModel.Registro)
                {
                case 1:
                    localReport = new LocalReport($"{Environment.WebRootPath}/reportes/reportCiudades.rdlc");
                    var datosCiudades = exportarRepository.GetReporteDatos_Ciudades();
                    localReport.AddDataSource("dsCiudades", datosCiudades);

                    if (exportarViewModel.Tipo == 1)
                    {
                        reportResult = localReport.Execute(RenderType.Pdf);
                        ModelState.AddModelError("", "Exportacion de [ Ciudades ] realizada con exito");
                        //return File(reportResult.MainStream, "application/pdf", "ciudades.pdf");
                        return(File(reportResult.MainStream, "application/pdf"));
                    }
                    else
                    {
                        //reportResult = localReport.Execute(RenderType.Excel);
                        reportResult = localReport.Execute(RenderType.ExcelOpenXml);
                        ModelState.AddModelError("", "Exportacion de [ Ciudades ] realizada con exito");
                        return(File(reportResult.MainStream, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "ciudades.xlsx"));
                    }

                case 2:
                    localReport = new LocalReport($"{Environment.WebRootPath}/reportes/reportComidas.rdlc");
                    var datosComidas = exportarRepository.GetReporteDatos_Comidas();
                    localReport.AddDataSource("dsComidas", datosComidas);

                    if (exportarViewModel.Tipo == 1)
                    {
                        reportResult = localReport.Execute(RenderType.Pdf);
                        ModelState.AddModelError("", "Exportacion de [ Comidas ] realizada con exito");
                        //return File(reportResult.MainStream, "application/pdf", "comidas.pdf");
                        return(File(reportResult.MainStream, "application/pdf"));
                    }
                    else
                    {
                        //reportResult = localReport.Execute(RenderType.Excel);
                        reportResult = localReport.Execute(RenderType.ExcelOpenXml);
                        ModelState.AddModelError("", "Exportacion de [ Comidas ] realizada con exito");
                        return(File(reportResult.MainStream, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "comidas.xlsx"));
                    }

                case 3:
                    localReport = new LocalReport($"{Environment.WebRootPath}/reportes/reportTipoAtracciones.rdlc");
                    var datosTipoAtracciones = exportarRepository.GetReporteDatos_TipoAtracciones();
                    localReport.AddDataSource("dsTipoAtracciones", datosTipoAtracciones);

                    if (exportarViewModel.Tipo == 1)
                    {
                        reportResult = localReport.Execute(RenderType.Pdf);
                        ModelState.AddModelError("", "Exportacion de [ Tipos de Atracciones ] realizada con exito");
                        //return File(reportResult.MainStream, "application/pdf", "tipoatracciones.pdf");
                        return(File(reportResult.MainStream, "application/pdf"));
                    }
                    else
                    {
                        //reportResult = localReport.Execute(RenderType.Excel);
                        reportResult = localReport.Execute(RenderType.ExcelOpenXml);
                        ModelState.AddModelError("", "Exportacion de [ Tipos de Atracciones ] realizada con exito");
                        return(File(reportResult.MainStream, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "tipoatracciones.xlsx"));
                    }

                case 4:
                    localReport = new LocalReport($"{Environment.WebRootPath}/reportes/reportAtracciones.rdlc");
                    var datosAtracciones = exportarRepository.GetReporteDatos_Atracciones();
                    localReport.AddDataSource("dsAtracciones", datosAtracciones);

                    if (exportarViewModel.Tipo == 1)
                    {
                        reportResult = localReport.Execute(RenderType.Pdf);
                        ModelState.AddModelError("", "Exportacion de [ Atracciones ] realizada con exito");
                        //return File(reportResult.MainStream, "application/pdf", "atracciones.pdf");
                        return(File(reportResult.MainStream, "application/pdf"));
                    }
                    else
                    {
                        //reportResult = localReport.Execute(RenderType.Excel);
                        reportResult = localReport.Execute(RenderType.ExcelOpenXml);
                        ModelState.AddModelError("", "Exportacion de [ Atracciones ] realizada con exito");
                        return(File(reportResult.MainStream, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "atracciones.xlsx"));
                    }

                default:
                    ModelState.AddModelError("", "Seleccione tipos validos");
                    return(View(exportarViewModel));
                }
            }
            catch (Exception ex)
            {
                ModelState.AddModelError("", ex.Message);
                return(View(exportarViewModel));
            }
        }