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 IEnumerable <Module> ProcessData(IQueryablePack <Module> inputData) { var filtered = filter.Filter(inputData); ModuleQueryablePack toSort = new ModuleQueryablePack(inputData.Args, filtered.AsQueryable()); var sorted = sorter.Sort(toSort); return(sorted); }
public void testAllFilters() //Excluding the special-case generic filter { List <string> competentie = new List <string>(); competentie.Add("procesanaly"); List <string> competentieNiveau = new List <string>(); competentieNiveau.Add("ginner"); List <string> tag = new List <string>(); tag.Add("Java"); List <string> leerlijn = new List <string>(); leerlijn.Add("algo"); List <string> blokken = new List <string>(); blokken.Add("" + 3); List <string> faseNamen = new List <string>(); faseNamen.Add("Intell"); int leerjaar = 1415; List <int> EC = new List <int>(); EC.Add(3); string status = "Comple"; ModuleFilterSorterArguments args = new ModuleFilterSorterArguments { CompetentieFilters = competentie, CompetentieNiveauFilters = competentieNiveau, TagFilters = tag, LeerlijnFilters = leerlijn, BlokFilters = blokken, FaseFilters = faseNamen, LeerjaarFilter = leerjaar, ECfilters = EC, StatusFilter = status }; ModuleQueryablePack pack = new ModuleQueryablePack(args, data); IEnumerable <Module> result; result = mfs.Filter(pack); Assert.IsNotNull(result); Assert.AreEqual(1, result.Count()); Assert.AreEqual("INMODL312345", result.First().CursusCode); }
public void testEmptyFilter() { ModuleFilterSorterArguments args = new ModuleFilterSorterArguments(); ModuleQueryablePack pack = new ModuleQueryablePack(args, data); IEnumerable <Module> result; result = mfs.Filter(pack); Assert.IsNotNull(result); Assert.AreEqual(3, result.Count()); }
public void testEmptySorting() { ModuleFilterSorterArguments args = new ModuleFilterSorterArguments(); ModuleQueryablePack pack = new ModuleQueryablePack(args, data); IEnumerable <Module> result; result = mss.Sort(pack); Assert.IsNotNull(result); //No need to check for count. That is not modified anywhere in this sequence. }
public void testGenericFilter() { ModuleFilterSorterArguments args = new ModuleFilterSorterArguments { ZoektermFilter = "INMODL" }; ModuleQueryablePack pack = new ModuleQueryablePack(args, data); IEnumerable <Module> result; result = mfs.Filter(pack); Assert.IsNotNull(result); Assert.AreEqual(1, result.Count()); Assert.AreEqual("INMODL312345", result.First().CursusCode); }
public void testModuleNaamSorting() { ModuleFilterSorterArguments args = new ModuleFilterSorterArguments(); args.SortBy = "Naam"; args.SortDesc = false; ModuleQueryablePack pack = new ModuleQueryablePack(args, data); IEnumerable <Module> result; result = mss.Sort(pack); Assert.IsNotNull(result); Assert.AreEqual("Algoritmiek 3000S", result.First().Naam); Assert.AreEqual("Programmeren 7", result.Last().Naam); }
public void testCompetentieFilterSingle() //These tests were for testing the concept of the listXlist filter. (find if any string in this list contains any string from the other list) { List <string> competentie = new List <string>(); competentie.Add("procesanaly"); ModuleFilterSorterArguments args = new ModuleFilterSorterArguments { CompetentieFilters = competentie }; ModuleQueryablePack pack = new ModuleQueryablePack(args, data); IEnumerable <Module> result; result = mfs.Filter(pack); Assert.IsNotNull(result); Assert.AreEqual(2, result.Count()); }
public void testCompetentieFilterMulti() //These tests were for testing the concept of the listXlist filter. { List <string> competentie = new List <string>(); competentie.Add("procesanaly"); competentie.Add("vernietigen"); ModuleFilterSorterArguments args = new ModuleFilterSorterArguments { CompetentieFilters = competentie }; ModuleQueryablePack pack = new ModuleQueryablePack(args, data); IEnumerable <Module> result; result = mfs.Filter(pack); Assert.IsNotNull(result); Assert.AreEqual(3, result.Count()); }
public void TestFilterSorterCombo() { ModuleFilterSorterArguments args = new ModuleFilterSorterArguments(); args.SortBy = "Naam"; args.SortDesc = true; List <string> tags = new List <string>(); tags.Add("C#"); args.TagFilters = tags; ModuleQueryablePack toProcess = new ModuleQueryablePack(args, data); var processed = mfss.ProcessData(toProcess); Assert.IsNotNull(processed); Assert.AreEqual(2, processed.Count()); Assert.AreEqual("Algoritmiek 3000S", processed.Last().Naam); Assert.AreEqual("Programmeren 7", processed.First().Naam); }
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); }