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));
        }
Beispiel #5
0
        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);
        }
Beispiel #6
0
        /// <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);
        }
Beispiel #7
0
 /// <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));
 }
Beispiel #8
0
        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 }));
        }