public async Task <ActionResult> Edit(AssignedClassesViewModel assignedClass) { if (ModelState.IsValid) { var studentName = await Db.Students.AsNoTracking().Where(x => x.StudentId.Equals(assignedClass.StudentId)) .Select(s => s.FullName) .FirstOrDefaultAsync(); var assigClass = new AssignedClass() { AssignedClassId = assignedClass.AssignedClassId, StudentId = assignedClass.StudentId.ToString(), ClassName = assignedClass.ClassName, TermName = assignedClass.TermName.ToString(), SessionName = assignedClass.SessionName, SchoolId = userSchool }; Db.Entry(assigClass).State = EntityState.Modified; await Db.SaveChangesAsync(); TempData["UserMessage"] = "Student Class Updated Successfully."; TempData["Title"] = "Success."; return(RedirectToAction("Index")); } ViewBag.StudentId = new MultiSelectList(Db.Students.AsNoTracking(), "StudentID", "FullName"); ViewBag.SessionName = new SelectList(Db.Sessions.AsNoTracking(), "SessionName", "SessionName"); ViewBag.ClassName = new SelectList(Db.Classes.AsNoTracking(), "FullClassName", "FullClassName"); ViewBag.TermName = new SelectList(Db.Terms.AsNoTracking(), "TermName", "TermName"); return(View(assignedClass)); }
public async Task <ActionResult> Create(AssignedClassesViewModel model) { if (ModelState.IsValid) { if (model.StudentId != null) { int counter = 0; string theClass = ""; foreach (var item in model.StudentId) { var countFromDb = await Db.AssignedClasses.AsNoTracking().CountAsync(x => x.TermName.Equals(model.TermName.ToString()) && x.SessionName.Equals(model.SessionName) && x.StudentId.Equals(item)); if (countFromDb >= 1) { TempData["UserMessage"] = "You have already Assigned Class these student"; TempData["Title"] = "Error."; ViewBag.StudentId = new MultiSelectList(Db.Students.AsNoTracking(), "StudentID", "FullName"); ViewBag.SessionName = new SelectList(Db.Sessions.AsNoTracking(), "SessionName", "SessionName"); ViewBag.ClassName = new SelectList(Db.Classes.AsNoTracking(), "FullClassName", "FullClassName"); ViewBag.TermName = new SelectList(Db.Terms.AsNoTracking(), "TermName", "TermName"); return(View(model)); } else { var studentName = await Db.Students.AsNoTracking().Where(x => x.StudentId.Equals(item)) .Select(s => s.FullName) .FirstOrDefaultAsync(); var assigClass = new AssignedClass() { StudentId = item, ClassName = model.ClassName, TermName = model.TermName, SessionName = model.SessionName, StudentName = studentName, SchoolId = userSchool }; Db.AssignedClasses.Add(assigClass); counter += 1; theClass = model.ClassName; } } await Db.SaveChangesAsync(); TempData["UserMessage"] = $"You have Assigned to {counter} Student(s) to {theClass} Successfully."; TempData["Title"] = "Success."; return(RedirectToAction("Index", "AssignedClasses")); } return(RedirectToAction("Index")); } ViewBag.StudentId = new MultiSelectList(Db.Students.AsNoTracking(), "StudentID", "FullName"); ViewBag.SessionName = new SelectList(Db.Sessions.AsNoTracking(), "SessionName", "SessionName"); ViewBag.ClassName = new SelectList(Db.Classes.AsNoTracking(), "FullClassName", "FullClassName"); ViewBag.TermName = new SelectList(Db.Terms.AsNoTracking(), "TermName", "TermName"); return(View(model)); }
public async Task <ActionResult> Save(AssignedClass assignedClass) { var status = false; var message = string.Empty; if (ModelState.IsValid) { if (assignedClass.AssignedClassId > 0) { assignedClass.SchoolId = userSchool; Db.Entry(assignedClass).State = EntityState.Modified; message = "Class Updated Successfully..."; } else { assignedClass.SchoolId = userSchool; Db.AssignedClasses.Add(assignedClass); message = "Class Created Successfully..."; } await Db.SaveChangesAsync(); status = true; } return(new JsonResult { Data = new { status = status, message = message } }); //return View(subject); }
public async Task <ActionResult> DeleteConfirmed(int id) { AssignedClass assignedClass = await Db.AssignedClasses.FindAsync(id); if (assignedClass != null) { Db.AssignedClasses.Remove(assignedClass); } await Db.SaveChangesAsync(); TempData["UserMessage"] = "You have removed Student from Class"; TempData["Title"] = "Deleted."; return(RedirectToAction("Index")); }
// GET: AssignedClasses/Delete/5 public async Task <ActionResult> Delete(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } AssignedClass assignedClass = await Db.AssignedClasses.FindAsync(id); if (assignedClass == null) { return(HttpNotFound()); } return(View(assignedClass)); }
// GET: AssignedClasses/Edit/5 public async Task <ActionResult> Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } AssignedClass assignedClass = await Db.AssignedClasses.FindAsync(id); if (assignedClass == null) { return(HttpNotFound()); } var myModel = new AssignedClassesViewModel(); myModel.AssignedClassId = assignedClass.AssignedClassId; ViewBag.StudentId = new MultiSelectList(Db.Students.AsNoTracking(), "StudentID", "FullName"); ViewBag.SessionName = new SelectList(Db.Sessions.AsNoTracking(), "SessionName", "SessionName"); ViewBag.ClassName = new SelectList(Db.Classes.AsNoTracking(), "FullClassName", "FullClassName"); return(View(myModel)); }