public async Task <ActionResult> Create(AssignSubjectViewModel model) { if (ModelState.IsValid) { int counter = 0; string theClass = String.Empty; if (model.SubjectId != null) { foreach (var term in model.TermName) { foreach (var item in model.SubjectId) { var CA = Db.AssignSubjects.Where(x => x.ClassName.Equals(model.ClassName) && x.SubjectId.Equals(item) && x.SchoolId.Equals(userSchool)); var countFromDb = await CA.CountAsync(); if (countFromDb >= 1) { TempData["UserMessage"] = $"Admin have already assigned {item} subject to {model.ClassName} Class"; TempData["Title"] = "Error."; ViewBag.SubjectId = new MultiSelectList(await _query.SubjectListAsync(userSchool), "SubjectId", "SubjectName"); ViewBag.ClassName = new SelectList(await _query.ClassListAsync(userSchool), "FullClassName", "FullClassName"); ViewBag.TermName = new MultiSelectList(Db.Terms.AsNoTracking(), "TermName", "TermName"); return(View(model)); } var assigSubject = new AssignSubject { ClassName = model.ClassName, SubjectId = item, TermName = term, SchoolId = userSchool }; Db.AssignSubjects.Add(assigSubject); counter += 1; theClass = model.ClassName; } } await Db.SaveChangesAsync(); TempData["UserMessage"] = $" You have Assigned {counter} Subject(s) to {theClass} Successfully."; TempData["Title"] = "Success."; return(RedirectToAction("Index", "AssignSubjects")); } } ViewBag.SubjectId = new MultiSelectList(await _query.SubjectListAsync(userSchool), "SubjectId", "SubjectName"); ViewBag.ClassName = new SelectList(await _query.ClassListAsync(userSchool), "FullClassName", "FullClassName"); ViewBag.TermName = new MultiSelectList(Db.Terms.AsNoTracking(), "TermName", "TermName"); return(View(model)); }
public async Task <IActionResult> AddClassSubject(AssignSubjectViewModel objAssignSubjectVM) { if (ModelState.IsValid) { List <string> lstSubject = Request.Form["lstSubject"].ToList(); var ClassSection = await _AssignSubjectRepository.GetClassSectionById(objAssignSubjectVM.Class_Id, objAssignSubjectVM.Section_Id); if (ClassSection != null) { int result = 0; if (lstSubject.Count > 0) { foreach (var objSubject in lstSubject) { var ClassSubject = new ClassSubject { ClassSection_Id = ClassSection.ClassSection_id, Subject_Id = Convert.ToInt32(objSubject) }; result = await _AssignSubjectRepository.AddClassSubject(ClassSubject); } if (result > 0) { TempData["Success"] = "Assign Subject To Class Successfully"; return(RedirectToAction("Index", "assignSubject", new { area = "admin" })); } else { TempData["Error"] = "Assign Subject To Class Failed"; return(RedirectToAction("Index", "assignSubject", new { area = "admin" })); } } } else { TempData["Error"] = "Kindly First Assign Section To Class"; return(RedirectToAction("Index", "assignSubject", new { area = "admin" })); } } return(View()); }
public IActionResult AddClassSubject() { var assignSubjectVM = new AssignSubjectViewModel(); assignSubjectVM.Subjects = _AssignSubjectRepository.GetAllSubjects(); assignSubjectVM.Classes = new List <SelectListItem>(); assignSubjectVM.Classes.Insert(0, new SelectListItem() { Value = "-1", Text = "--Select--" }); var objClass = _AssignSubjectRepository.GetAllClasses().ToList(); foreach (var lstclass in objClass) { var selectListItem = new SelectListItem { Text = lstclass.Class_Name, Value = lstclass.Class_Id.ToString(), }; assignSubjectVM.Classes.Add(selectListItem); } assignSubjectVM.Sections = new List <SelectListItem>(); assignSubjectVM.Sections.Insert(0, new SelectListItem() { Value = "-1", Text = "--Select--" }); var objSection = _AssignSubjectRepository.GetAllSections().ToList(); foreach (var lstSection in objSection) { var selectListItem = new SelectListItem { Text = lstSection.Section_Name, Value = lstSection.Section_Id.ToString(), }; assignSubjectVM.Sections.Add(selectListItem); } return(View(assignSubjectVM)); }
public async Task <IActionResult> EditClassSubject(AssignSubjectViewModel objClassSubjectModel) { if (ModelState.IsValid) { //get values of class subject AssignSubjectViewModel objAssignSubject = await _AssignSubjectRepository.GetClassSubjectById(objClassSubjectModel.ClassSubject_Id); //get class section id var ClassSection = await _AssignSubjectRepository.GetClassSectionById(objClassSubjectModel.Class_Id, objClassSubjectModel.Section_Id); if (ClassSection != null) { //assign new values to class subject ClassSubject objSubject = new ClassSubject(); objSubject.ClassSubject_Id = objAssignSubject.ClassSubject_Id; objSubject.ClassSection_Id = ClassSection.ClassSection_id; objSubject.Subject_Id = objClassSubjectModel.Subject_Id; int result = await _AssignSubjectRepository.UpdateClassSubject(objSubject); if (result == 1) { TempData["Success"] = "Class Subject Updated Successfully "; return(RedirectToAction("Index", "assignSubject", new { area = "admin" })); } else { TempData["Error"] = "Updating Class Subject Failed"; return(RedirectToAction("Index", "assignSubject", new { area = "admin" })); } } else { TempData["Error"] = "Class Section Didn't Find"; return(RedirectToAction("Index", "assignSubject", new { area = "admin" })); } } return(View()); }
public async Task <ActionResult> Save(AssignSubjectViewModel model) { bool status = false; string message = string.Empty; if (ModelState.IsValid) { int counter = 0; string theClass = String.Empty; if (model.AssignSubjectId > 0) { var assignSubject = await Db.AssignSubjects.FindAsync(model.AssignSubjectId); if (assignSubject != null) { assignSubject.SchoolId = userSchool; Db.Entry(assignSubject).State = EntityState.Modified; } message = "Class Updated Successfully..."; } else { foreach (var term in model.TermName) { foreach (var item in model.SubjectId) { var CA = Db.AssignSubjects.Where(x => x.ClassName.Equals(model.ClassName) && x.SubjectId.Equals(item) && x.SchoolId.Equals(userSchool)); var countFromDb = await CA.CountAsync(); if (countFromDb >= 1) { message = $"Admin have already assigned {item} subject to {model.ClassName} Class"; return(new JsonResult { Data = new { status = false, message = message } }); } var assigSubject = new AssignSubject { ClassName = model.ClassName, SubjectId = item, TermName = term, SchoolId = userSchool }; Db.AssignSubjects.Add(assigSubject); counter += 1; theClass = model.ClassName; } } await Db.SaveChangesAsync(); message = $" You have Assigned {counter} Subject(s) to {theClass} Successfully."; return(new JsonResult { Data = new { status = true, message = message } }); } } return(new JsonResult { Data = new { status = status, message = message } }); //return View(subject); }