public ActionResult DeleteConfirmed(Guid id) { CurriculumRequirement curriculumRequirement = Db.Requirements.Find(id); Db.Requirements.Remove(curriculumRequirement); Db.SaveChanges(); return(RedirectToAction("Index")); }
public ActionResult Edit([Bind(Include = "Id,Name,ShortName,ECTS")] CurriculumRequirement curriculumRequirement) { if (ModelState.IsValid) { Db.Entry(curriculumRequirement).State = EntityState.Modified; Db.SaveChanges(); return(RedirectToAction("Index")); } return(View(curriculumRequirement)); }
public ActionResult Create([Bind(Include = "Id,Name,ShortName,ECTS")] CurriculumRequirement curriculumRequirement) { if (ModelState.IsValid) { curriculumRequirement.Id = Guid.NewGuid(); Db.Requirements.Add(curriculumRequirement); Db.SaveChanges(); return(RedirectToAction("Index")); } return(View(curriculumRequirement)); }
// GET: CurriculumRequirement/Delete/5 public ActionResult Delete(Guid?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } CurriculumRequirement curriculumRequirement = Db.Requirements.Find(id); if (curriculumRequirement == null) { return(HttpNotFound()); } return(View(curriculumRequirement)); }
private CurriculumRequirement GetModule(TimeTableDbContext db, TimeTable.Data.Curriculum curriculum, CieCourse scheduleCourse) { var pck = curriculum.Packages.FirstOrDefault(); if (curriculum.ShortName.Equals("WI") && pck != null) { pck = curriculum.Packages.SingleOrDefault(x => x.Name.Equals("Wahlpflicht")); } if (pck == null) { pck = new CurriculumPackage(); pck.Name = "Studium"; curriculum.Packages.Add(pck); db.CurriculumPackages.Add(pck); } var option = pck.Options.FirstOrDefault(); if (option == null) { option = new PackageOption(); option.Name = "Gesamt"; option.Package = pck; db.PackageOptions.Add(option); } var module = option.Requirements.FirstOrDefault(x => x.Name.ToLower().Equals(scheduleCourse.name.ToLower())); if (module == null) { module = new CurriculumRequirement(); module.Name = scheduleCourse.name; module.ECTS = scheduleCourse.ects; module.USCredits = scheduleCourse.usCredits; module.SWS = scheduleCourse.semesterWeekHours; option.Requirements.Add(module); } db.SaveChanges(); return(module); }
/// <summary> /// Vorrückensregel WI /// ins Dritte darf nur, wer /// </summary> /// <param name="req"></param> /// <returns></returns> public RuleEvaluation Evaluate(CurriculumRequirement req) { var eval = new RuleEvaluation(); var fullFillmentSemester = GetFullfillmentSemester(req); // Gilt nur für 3 Semester und aufwärts if (fullFillmentSemester <= 2) { eval.HasImpact = false; return(eval); } eval.HasImpact = true; // Mathe + 8 weitere Module return(eval); }
/// <summary> /// Es ist der Anfang, nicht das Ende /// </summary> /// <param name="req"></param> /// <returns></returns> private int GetFullfillmentSemester(CurriculumRequirement req) { return(req.Criterias.Min(x => x.Term)); }
public ActionResult CreateFromCourse(ModuleCreateViewModel model) { var course = Db.Activities.OfType <Course>().SingleOrDefault(x => x.Id == model.Course.Id); var curr = Db.Curricula.SingleOrDefault(x => x.Id == model.Curriculum.Id); var pck = curr.Packages.SingleOrDefault(x => x.Name.Equals("Gesamt")); if (pck == null) { pck = new CurriculumPackage { Curriculum = curr, Name = "Gesamt", }; Db.CurriculumPackages.Add(pck); Db.SaveChanges(); } var option = pck.Options.SingleOrDefault(x => x.Name.Equals("Standard")); if (option == null) { option = new PackageOption { Package = pck, Name = "Standard" }; Db.PackageOptions.Add(option); Db.SaveChanges(); } // Doppelte ausschließen var isExisting = option.Requirements.Any(x => x.Name.Equals(model.Name) || x.ShortName.Equals(model.ShortName) || x.CatalogId.Equals(model.CatalogId)); if (isExisting) { ModelState.AddModelError("", "Modul existiert bereits"); // Modell wieder vervollständigen model.Course = course; model.Curriculum = curr; model.MV = GetMyMembership(); return(View(model)); } var module = new CurriculumRequirement { Name = model.Name, ShortName = model.ShortName, CatalogId = model.CatalogId, ECTS = model.Ects, SWS = model.Sws, USCredits = model.UsCredits, LecturerInCharge = GetMyMembership(), Option = option, }; Db.Requirements.Add(module); var nexus = new CourseModuleNexus { Course = course, Requirement = module }; Db.CourseNexus.Add(nexus); Db.SaveChanges(); return(RedirectToAction("Admin", "Course", new { id = course.Id })); }