Beispiel #1
0
        public void TestMultiModulePdfOutput()
        {
            ModuleExportArguments opt = new ModuleExportArguments()
            {
                ExportAll = true
            };
            ModuleExportablePack pack = new ModuleExportablePack(opt, data);
            PdfDocument          pdf  = mes.ExportAll(pack);

            pdf.Save("D:\\Education\\Proj_blk6\\TestIO\\pdf_FULL.pdf");
        }
Beispiel #2
0
        public ActionResult ExportAllModules(ExportArgumentsViewModel value)
        {
            var modules = _unitOfWork.GetRepository <Module>().GetAll();

            if (!User.Identity.IsAuthenticated)
            {
                modules = modules.Where(element => element.Status.Equals("Compleet (gecontroleerd)"));
            }

            ICollection <string> competentieFilters = null;

            if (value.Filters.Competenties.First() != null)
            {
                competentieFilters = value.Filters.Competenties;
            }

            ICollection <string> tagFilters = null;

            if (value.Filters.Tags.First() != null)
            {
                tagFilters = value.Filters.Tags;
            }

            ICollection <string> leerlijnFilters = null;

            if (value.Filters.Leerlijnen.First() != null)
            {
                leerlijnFilters = value.Filters.Leerlijnen;
            }

            ICollection <string> faseFilters = null;

            if (value.Filters.Fases.First() != null)
            {
                faseFilters = value.Filters.Fases;
            }

            ICollection <string> blokFilters = null;

            if (value.Filters.Blokken.First() != null)
            {
                blokFilters = value.Filters.Blokken;
            }

            string zoektermFilter = null;

            if (value.Filters.Zoekterm != null)
            {
                zoektermFilter = value.Filters.Zoekterm;
            }

            string leerjaarFilter = null;

            if (value.Filters.Leerjaar != null)
            {
                leerjaarFilter = value.Filters.Leerjaar;
            }

            var arguments = new ModuleFilterSorterArguments
            {
                CompetentieFilters = competentieFilters,
                TagFilters         = tagFilters,
                LeerlijnFilters    = leerlijnFilters,
                FaseFilters        = faseFilters,
                BlokFilters        = blokFilters,
                ZoektermFilter     = zoektermFilter,
                LeerjaarFilter     = leerjaarFilter
            };

            var queryPack = new ModuleQueryablePack(arguments, modules.AsQueryable());

            modules = _filterSorterService.ProcessData(queryPack);

            var exportArguments = new ModuleExportArguments
            {
                ExportCursusCode      = value.Export.CursusCode,
                ExportNaam            = value.Export.Naam,
                ExportBeschrijving    = value.Export.Beschrijving,
                ExportAlgInfo         = value.Export.AlgemeneInformatie,
                ExportStudieBelasting = value.Export.Studiebelasting,
                ExportOrganisatie     = value.Export.Organisatie,
                ExportWeekplanning    = value.Export.Weekplanning,
                ExportBeoordeling     = value.Export.Beoordeling,
                ExportLeermiddelen    = value.Export.Leermiddelen,
                ExportLeerdoelen      = value.Export.Leerdoelen,
                ExportCompetenties    = value.Export.Competenties,
                ExportLeerlijnen      = value.Export.Leerlijnen,
                ExportTags            = value.Export.Tags
            };

            var exportablePack = new ModuleExportablePack(exportArguments, modules);

            BufferedStream fStream = _moduleExporterService.ExportAllAsStream(exportablePack);

            string expByName = User.Identity.Name;

            if (expByName == null || expByName.Equals(""))
            {
                expByName = "download";
            }

            string saveTo = DateTime.Now.ToString("yyyy-MM-dd") + "_" + expByName;

            Session[saveTo] = fStream;

            //Return the filename under which you can retrieve it from Session data.
            //Ajax/jQuery will then parse that string, and redirect to /Module/Export/All/{saveTo}
            //This redirect will be caught in the controller action below here.
            return(Json(saveTo));
        }