// GET: Groups/Create
        public ActionResult Create()
        {
            var model = new CreateGroupModelGet();

            model.StudyYear.AddRange(Enum.GetNames(typeof(Enums.StudyYear)));
            model.Semester.AddRange(Enum.GetNames(typeof(Enums.Semester)));
            model.CourseType.AddRange(Enum.GetNames(typeof(Enums.CourseType)));
            model.StudyPrograms = db.StudyPrograms.Select(sP => sP.Name).ToList();

            return(View(model));
        }
        public ActionResult Create(CreateGroupModelPost model)
        {
            List <StudyProgram> studyPrograms = new List <StudyProgram>();

            StudyProgram studyProgramDb;

            foreach (string studyProgram in model.StudyPrograms)
            {
                studyProgramDb = db.StudyPrograms.Where(sP => sP.Name.Equals(studyProgram)).First();
                if (studyProgramDb != null)
                {
                    studyPrograms.Add(studyProgramDb);
                }
            }
            Group gr = db.Groups.Where(g => g.CourseCode == model.CourseCode).FirstOrDefault();

            if (ModelState.IsValid && gr == null)
            {
                Group group = new Group()
                {
                    CourseCode        = model.CourseCode,
                    CourseName        = model.CourseName,
                    CourseDescription = model.CourseDescription,
                    StudyYear         = (Enums.StudyYear)Enum.Parse(typeof(Enums.StudyYear), model.StudyYear),
                    Semester          = (Enums.Semester)Enum.Parse(typeof(Enums.Semester), model.Semester),
                    CourseType        = (Enums.CourseType)Enum.Parse(typeof(Enums.CourseType), model.CourseType),
                    //StudyPrograms = studyPrograms,
                    NumberOfPosts    = 0,
                    NumberOfReplies  = 0,
                    CoursePictureUrl = DefaultImagePath.DEFAULT_GROUP_IMAGE
                };

                db.Groups.Add(group);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }
            ModelState.AddModelError("", "The CourseCode is already taken!");

            var m = new CreateGroupModelGet();

            m.StudyYear.AddRange(Enum.GetNames(typeof(Enums.StudyYear)));
            m.Semester.AddRange(Enum.GetNames(typeof(Enums.Semester)));
            m.CourseType.AddRange(Enum.GetNames(typeof(Enums.CourseType)));
            m.StudyPrograms = db.StudyPrograms.Select(sP => sP.Name).ToList();

            return(View(m));
        }