public ActionResult CheckModules() { var arguments = new ModuleFilterSorterArguments { LeerjaarFilter = _unitOfWork.GetRepository <Schooljaar>().GetAll().Max(src => src.JaarId) }; var maxSchooljaar = _unitOfWork.GetRepository <Schooljaar>().GetAll().Max(src => src.JaarId); var queryPack = new ModuleQueryablePack(arguments, _unitOfWork.GetRepository <Module>().GetAll().AsQueryable().Where(src => src.Schooljaar.Equals(maxSchooljaar))); var modules = _filterSorterService.ProcessData(queryPack).ToList(); var moduleList = new ModuleListViewModel(modules.Count()); moduleList.AddModules(modules); var users = _userRepository.GetAll().AsQueryable(); var userList = new UserListViewModel(users.Count()); userList.AddUsers(users); var checkModulesVm = new CheckModulesViewModel { ModuleViewModels = moduleList, Users = userList }; return(View(checkModulesVm)); }
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)); }
public ModuleListViewModel GetOverview([FromBody] ArgumentsViewModel value) { var modules = _unitOfWork.GetRepository <Module>().GetAll(); ICollection <string> competentieFilters = null; if (value.Filter.Competenties.First() != null) { competentieFilters = value.Filter.Competenties; } ICollection <string> tagFilters = null; if (value.Filter.Tags.First() != null) { tagFilters = value.Filter.Tags; } ICollection <string> leerlijnFilters = null; if (value.Filter.Leerlijnen.First() != null) { leerlijnFilters = value.Filter.Leerlijnen; } ICollection <string> faseFilters = null; if (value.Filter.Fases.First() != null) { faseFilters = value.Filter.Fases; } ICollection <string> blokFilters = null; if (value.Filter.Blokken.First() != null) { blokFilters = value.Filter.Blokken.ToArray(); } string zoektermFilter = null; if (value.Filter.Zoekterm != null) { zoektermFilter = value.Filter.Zoekterm; } string leerjaarFilter = null; if (value.Filter.Leerjaar != null) { leerjaarFilter = value.Filter.Leerjaar; } int column = value.OrderBy.Column; string columnName; switch (column) { case 1: columnName = "Naam"; break; case 2: columnName = "CursusCode"; break; case 3: columnName = "Schooljaar"; break; case 7: columnName = "Verantwoordelijke"; break; default: columnName = "Naam"; break; } bool dir; if (value.OrderBy.Dir == "desc") { dir = true; } else { dir = false; } var arguments = new ModuleFilterSorterArguments { CompetentieFilters = competentieFilters, TagFilters = tagFilters, LeerlijnFilters = leerlijnFilters, FaseFilters = faseFilters, BlokFilters = blokFilters, ZoektermFilter = zoektermFilter, LeerjaarFilter = leerjaarFilter, SortBy = columnName, SortDesc = dir }; var queryPack = new ModuleQueryablePack(arguments, modules.AsQueryable()); modules = _filterSorterService.ProcessData(queryPack); var enumerable = modules as Module[] ?? modules.ToArray(); var modArray = enumerable.ToArray().Where(m => m.Status.Equals("Compleet (gecontroleerd)")); if (User.Identity.IsAuthenticated) { modArray = enumerable.ToArray(); } var moduleList = modArray as Module[] ?? modArray.ToArray(); var moduleListVm = new ModuleListViewModel(moduleList.Count()); moduleListVm.AddModules(moduleList); return(moduleListVm); }