예제 #1
0
        /// <summary>
        /// Get the lecture view model for a lecture
        /// </summary>
        /// <param name="lectureId">The id for the lecture</param>
        /// <returns>The lecture view model (or null if no lecture was found)</returns>
        private UpdateLectureViewModel GetUpdateViewModel(int lectureId)
        {
            UpdateLectureViewModel lvm = null;
            var lecture = _manager.LectureManager.Get(lectureId);

            if (lecture != null)
            {
                lvm = new UpdateLectureViewModel()
                {
                    Class        = lecture.Class,
                    Lecture      = lecture,
                    LectureItems = new List <UpdateLectureItem>(lecture.Attendance.Count),
                };

                foreach (var a in lecture.Attendance)
                {
                    lvm.LectureItems.Add(
                        new UpdateLectureItem
                    {
                        StudentId   = a.Student.Id,
                        StudentName = $"{a.Student.FirstName} {a.Student.LastName}",
                        LectureId   = lecture.Id,
                        Present     = a.Present
                    }
                        );
                }

                lvm.LectureItems = lvm.LectureItems.OrderBy(item => item.StudentName).ToList();
            }

            return(lvm);
        }
예제 #2
0
        public ActionResult Override(UpdateLectureViewModel lvm)
        {
            var lecture = _manager.LectureManager.Get(lvm.Lecture.Id);

            if (lecture == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            _manager.LectureManager.Update(lecture.Id, lvm.LectureItems);
            return(RedirectToAction("Override", "Lecture", new { lectureId = lecture.Id }));
        }
예제 #3
0
        public IActionResult Put([FromBody] UpdateLectureViewModel updateLectureViewModel)
        {
            var lectureDto = Mapper.Map <LectureDto>(updateLectureViewModel);

            var updatedLecture = _lectureService.UpdateLecture(lectureDto);

            updateLectureViewModel = Mapper.Map <UpdateLectureViewModel>(updatedLecture);

            if (updateLectureViewModel == null)
            {
                return(BadRequest());
            }

            if (updateLectureViewModel.StartDate > updateLectureViewModel.EndDate)
            {
                BadRequest();
            }

            return(Ok(updateLectureViewModel));
        }