public async Task <ActionResult> Create(AssignSubjectTeacherVM model) { if (ModelState.IsValid) { if (model.ClassName != null) { int counter = 0; string theClass = ""; string theName = ""; foreach (var item in model.ClassName) { var countFromDb = await Db.AssignSubjectTeachers.AsNoTracking().CountAsync(x => x.ClassName.Equals(item) && x.SubjectId.Equals(model.SubjectId)); var subject = await Db.Subjects.FindAsync(model.SubjectId); // var countFromDb = CA.Count(); if (countFromDb >= 1) { TempData["UserMessage"] = $"Admin have already assigned Teacher to {subject.SubjectName} in {item} Class"; TempData["Title"] = "Error."; ViewBag.SubjectId = new SelectList(await _query.SubjectListAsync(userSchool), "SubjectId", "SubjectName"); ViewBag.ClassName = new MultiSelectList(await _query.ClassListAsync(userSchool), "FullClassName", "FullClassName"); ViewBag.StaffName = new SelectList(await _query.StaffListAsync(userSchool), "Username", "Username"); return(View(model)); } var assigSubjectTeacher = new AssignSubjectTeacher() { ClassName = item, SubjectId = model.SubjectId, StaffName = model.StaffName, SchoolId = userSchool }; Db.AssignSubjectTeachers.Add(assigSubjectTeacher); counter += 1; theClass = subject.SubjectName; theName = model.StaffName; } TempData["UserMessage"] = $" You have Assigned {theClass} Subject to {theName} in {counter} class Successfully."; TempData["Title"] = "Success."; await Db.SaveChangesAsync(); } return(RedirectToAction("Index", "AssignSubjectTeachers")); } ViewBag.SubjectId = new SelectList(await _query.SubjectListAsync(userSchool), "SubjectId", "SubjectName"); ViewBag.ClassName = new MultiSelectList(await _query.ClassListAsync(userSchool), "FullClassName", "FullClassName"); ViewBag.StaffName = new SelectList(await _query.StaffListAsync(userSchool), "Username", "Username"); return(View(model)); }
public async Task <ActionResult> Edit([Bind(Include = "Id,SubjectId,ClassName,StaffName")] AssignSubjectTeacher assignSubjectTeacher) { if (ModelState.IsValid) { assignSubjectTeacher.SchoolId = userSchool; Db.Entry(assignSubjectTeacher).State = EntityState.Modified; await Db.SaveChangesAsync(); TempData["UserMessage"] = $"Subject Teacher Updated Successfully Successfully."; TempData["Title"] = "Success."; return(RedirectToAction("Index")); } ViewBag.SubjectId = new SelectList(await _query.SubjectListAsync(userSchool), "SubjectId", "SubjectName"); ViewBag.ClassName = new MultiSelectList(await _query.ClassListAsync(userSchool), "FullClassName", "FullClassName"); ViewBag.StaffName = new SelectList(await _query.StaffListAsync(userSchool), "Username", "Username"); return(View(assignSubjectTeacher)); }