public async Task <IActionResult> SetModuleMark(CourseModuleMarksViewModel model)
        {
            try
            {
                var result = await _coursesRepository.UpdateModuleStudentsMarks(model);

                if (result)
                {
                    // success
                    return(RedirectToAction("Details", "Courses", new { courseId = model.Course.CourseId }));
                }
                return(RedirectToAction("Index", "Courses", new { error = "При виставленні оцінки за модуль сталася невідома помилка!" }));
            }
            catch
            {
                // Error
                return(RedirectToAction("Index", "Courses", new { error = "При виставленні оцінки за модуль сталася невідома помилка!" }));
            }



            //}
            //// Error for Model (Model.AddError or smth like that)
            //else
            //{
            //    ModelState.AddModelError(string.Empty, "Сталася невідома помилка!");
            //}
            //return View(model);
        }
Exemplo n.º 2
0
        public async Task <bool> UpdateModuleStudentsMarks(CourseModuleMarksViewModel model)
        {
            var marksIds      = model.Marks.Select(x => x.CourseModuleId);
            var marksToUpdate = await _context.Mark.Where(x => marksIds.Contains(x.CourseModuleId)).ToListAsync();

            model.Marks.ForEach(x => {
                var toUpdate = marksToUpdate.First(y => y.StudentId == x.StudentId);

                toUpdate.LabMark  = x.LabMark;
                toUpdate.TestMark = x.TestMark;

                _context.Mark.Update(toUpdate);
            });

            return(await _context.SaveChangesAsync() >= 0);
        }
        public IActionResult SetModuleMark(int courseId, int moduleId)
        {
            CourseModuleMarksViewModel model = _coursesRepository.GetModuleStudentsMarks(courseId, moduleId);

            return(View(model));
        }