Esempio n. 1
0
        public IActionResult Create(int?id)
        {
            if (id is null || !CourseExists((int)id))
            {
                return(NotFound());
            }

            if (TempData["ValidationError"] != null)
            {
                ModelState.AddModelError("", (string)TempData["ValidationError"]);
            }

            var moduleDefaultStartTime = GetCourseStartTime((int)id).AddHours(8);

            var model = new ModuleActivityCreateViewModel
            {
                CourseId          = (int)id,
                ModuleStartTime   = moduleDefaultStartTime,
                ModuleEndTime     = moduleDefaultStartTime.AddHours(1),
                ActivityStartTime = moduleDefaultStartTime,
                ActivityEndTime   = moduleDefaultStartTime
            };

            return(View(model));
        }
        public ActionResult Edit([Bind(Include = "Id,Name,Description,StartDate,EndDate,ActivityTypeId,CourseModuleId,ModuleName,FullCourseName,EditMode,ShowActivityList")] ModuleActivityCreateViewModel activityViewModel)
        {
            if (ModelState.IsValid)
            {
                var activity = new ModuleActivity
                {
                    Id             = activityViewModel.Id,
                    Name           = activityViewModel.Name,
                    Description    = activityViewModel.Description,
                    StartDate      = activityViewModel.StartDate,
                    EndDate        = activityViewModel.EndDate,
                    CourseModuleId = activityViewModel.CourseModuleId,
                    ActivityTypeId = activityViewModel.ActivityTypeId,
                };

                db.Entry(activity).State = EntityState.Modified;
                db.SaveChanges();

                var changedActivity = db.Activities.Find(activity.Id);

                TempData["FeedbackMessage"] = "Aktiviteten har ändrats";
                TempData["FeedbackData"]    = changedActivity;
            }

            if (activityViewModel.ShowActivityList)
            {
                activityViewModel.EditMode = false;
                return(RedirectToAction("Create", new { id = activityViewModel.CourseModuleId }));// View("Manage", activityViewModel);
            }

            activityViewModel.ActivityTypes = db.ActivityTypes.ToList();
            return(View("Manage", activityViewModel));
        }
        public ActionResult Create([Bind(Include = "Id,Name,Description,StartDate,EndDate,CourseModuleId,ActivityTypeId,FullCourseName,CourseModuleId,ModuleName,EditMode,ShowActivityList")] ModuleActivityCreateViewModel activityViewModel)
        {
            if (ModelState.IsValid)
            {
                var activity = new ModuleActivity
                {
                    Name           = activityViewModel.Name,
                    Description    = activityViewModel.Description,
                    StartDate      = activityViewModel.StartDate,
                    EndDate        = activityViewModel.EndDate,
                    CourseModuleId = activityViewModel.CourseModuleId,
                    ActivityTypeId = activityViewModel.ActivityTypeId,
                };

                var createdActivity = db.Activities.Add(activity);
                db.SaveChanges();

                TempData["FeedbackMessage"] = "Aktiviteten har lagts till";
                TempData["FeedbackData"]    = createdActivity;

                return(RedirectToAction("Create", new { id = activityViewModel.CourseModuleId }));
            }

            activityViewModel.ActivityTypes = db.ActivityTypes.ToList();
            return(View("Manage", activityViewModel));
        }
        public ActionResult Create(int id)
        {
            var module = db.Modules.Where(m => m.Id == id).FirstOrDefault();

            if (module == null)
            {
                return(RedirectToAction("Index", "Home"));
            }

            var course = db.Courses.Where(c => c.Id == module.CourseId).FirstOrDefault();

            if (course == null)
            {
                return(RedirectToAction("Index", "Home"));
            }

            //Find previous activity's end date
            DateTime startDate;
            var      lastActivity = db.Activities.Where(m => m.CourseModuleId == id).OrderByDescending(m => m.EndDate).FirstOrDefault();

            if (lastActivity != null)
            {
                startDate = lastActivity.EndDate.AddDays(1);
            }
            else
            {
                //No previous activity exist, use modules start date
                startDate = module.StartDate;
            }

            var activityViewModel = new ModuleActivityCreateViewModel
            {
                ModuleName       = module.Name,
                CourseModuleId   = id,
                FullCourseName   = course.Name,
                CourseId         = course.Id,
                StartDate        = startDate,
                EndDate          = startDate,
                ActivityTypes    = db.ActivityTypes.ToList(),
                ShowActivityList = true,
            };

            return(View("Manage", activityViewModel));
        }
        public ActionResult Edit(int?id, bool showActivityList = false)
        {
            if (id == null)
            {
                return(RedirectToAction("Index", "Home"));
            }

            ModuleActivity moduleActivity = db.Activities.Find(id);

            if (moduleActivity == null)
            {
                return(RedirectToAction("Index", "Home"));
            }

            var activityViewModel = new ModuleActivityCreateViewModel(moduleActivity)
            {
                ActivityTypes    = db.ActivityTypes.ToList(),
                EditMode         = true,
                ShowActivityList = showActivityList
            };

            return(View("Manage", activityViewModel));
        }