public ActionResult EditMark(LessonStudentMarkView model) { USOSContext context = this.initContext(); LessonStudentMark studentmark = null; Mark mark = context.Mark.Where(x => x.ID == model.MarkID).First(); AppUser user = context.Users.Where(x => x.UserName == model.Username).First(); Lesson lesson = context.Lesson.Where(x => x.ID == model.LessonID).First(); var query = context.LessonStudentMark.Where(x => x.Lesson.ID == model.LessonID && x.Username.UserName == model.Username).Include(x => x.Mark) ; if (query.Count() != 0) { studentmark = query.First(); } if (studentmark == null) { studentmark = new LessonStudentMark(); studentmark.Mark = mark; studentmark.Lesson = lesson; studentmark.Username = user; context.LessonStudentMark.Add(studentmark); context.Entry(studentmark.Lesson).State = EntityState.Unchanged; context.Entry(studentmark.Username).State = EntityState.Unchanged; } else { studentmark.Mark = mark; context.LessonStudentMark.Update(studentmark); } context.SaveChanges(); return RedirectToAction("MarkLecturer", "Mark"); }
public IActionResult MarkWorker() { USOSContext context = this.initContext(); List<Lesson> lessons = context.Lesson.Include(x => x.lecture).ToList(); List<LessonStudentMarkView> lessonsStudentMarkView = new List<LessonStudentMarkView>(); foreach (Lesson lesson in lessons) { List<LessonsGroup> lessonsGroup = context.LessonsGroup.Where(x => x.lesson.ID == lesson.ID).Include(x => x.group).Include(x => x.lesson).Include(x => x.lesson.lecture).ToList();//.Select(x => new LessonsGroup(x)).ToList(); foreach (LessonsGroup lg in lessonsGroup) { List<StudentGroup> studentgroups = context.StudentGroup.Include(x => x.appUser).Include(x => x.group).Where(x => x.group.ID == lg.group.ID).ToList(); foreach (StudentGroup studentgroup in studentgroups) { LessonStudentMarkView view = new LessonStudentMarkView(); if (context.LessonStudentMark.Where(x => x.Lesson.ID == lg.lesson.ID && x.Username.UserName == studentgroup.appUser.UserName).Include(x => x.Mark).Count() != 0) { LessonStudentMark lessonstudentmark = context.LessonStudentMark.Where(x => x.Lesson.ID == lg.lesson.ID && x.Username.UserName == studentgroup.appUser.UserName).Include(x => x.Mark).First(); view.Mark = lessonstudentmark.Mark.Value; } view.LessonID = lesson.ID; view.Username = studentgroup.appUser.UserName; view.Lesson = lg.lesson.lecture.Name; lessonsStudentMarkView.Add(view); } } } return View(lessonsStudentMarkView); }
public ActionResult EditMark(int lessonId, string username) { USOSContext context = this.initContext(); LessonStudentMarkView edit = new LessonStudentMarkView(); edit.LessonID = lessonId; edit.Username = username; edit.Marks = context.Mark.Select(x => new SelectListItem() { Value = Convert.ToString(x.ID), Text = x.Name }).ToList(); return PartialView("EditMark",edit); }