public ActionResult Create(SubjectsViewModel subjectsViewModel) { if (!ModelState.IsValid) { ViewBag.Type = "create"; return View(subjectsViewModel); } try { List<Groups> groups = new List<Groups>(); foreach (string value in subjectsViewModel.SelectedGroups.ToList()) { groups.Add(groupsService.FindById(Convert.ToInt32(value))); } Subjects subject = subjectsViewModel.subject; subject.id_user = Convert.ToInt32(subjectsViewModel.SelectedUser); subject.Groups = groups; subjectService.Add(subject); TempData["Status"] = "success"; TempData["Msg"] = "Nowy przedmiot został dodany!"; } catch (Exception e) { TempData["Status"] = "invalid"; TempData["Msg"] = "Nie udało się dodać nowego przedmiotu!"; } return RedirectToAction("List"); }
public ActionResult Edit(SubjectsViewModel subjectsViewModel) { if (!ModelState.IsValid) { ViewBag.Type = "edit"; return View(subjectsViewModel); } try { Subjects subjectFromRepo = subjectService.FindById(subjectsViewModel.subject.id_subject); subjectFromRepo.id_user = Convert.ToInt32(subjectsViewModel.SelectedUser); subjectFromRepo.subject_name = subjectsViewModel.subject.subject_name; if (subjectsViewModel.SelectedGroups == null || subjectsViewModel.SelectedGroups.Length == 0) { foreach (Groups group in subjectFromRepo.Groups.ToList()) { subjectFromRepo.Groups.Remove(group); } } else { subjectFromRepo.Groups.Clear(); foreach (string value in subjectsViewModel.SelectedGroups.ToList()) { Groups group = groupsService.FindById(Convert.ToInt32(value)); subjectFromRepo.Groups.Add(group); } } subjectService.Edit(subjectFromRepo); TempData["Status"] = "success"; TempData["Msg"] = "Aktualizacja przemdiotu przebiegła pomyślnie!"; } catch (Exception e) { TempData["Status"] = "invalid"; TempData["Msg"] = "Nie udało się zaktualizować przedmiotu!"; } return RedirectToAction("List"); }
public ActionResult Edit(int id) { ViewBag.Type = "edit"; if (id == null) { throw new SubjectNotFoundException(); } Subjects subject = null; try { ViewBag.Teachers = new SelectList(usersService.FindAllTeachers(), "id_user", "full_name"); ViewBag.Groups = new SelectList(groupsService.FindAll, "id_group", "full_name"); subject = subjectService.FindById(id); List<string> selectedGroups = new List<string>(); foreach (Groups group in subject.Groups) { selectedGroups.Add(Convert.ToString(group.id_group)); } SubjectsViewModel viewModel = new SubjectsViewModel(); viewModel.subject = subject; viewModel.SelectedUser = Convert.ToString(subject.id_user); viewModel.SelectedGroups = selectedGroups.ToArray(); return View(viewModel); } catch (SubjectNotFoundException ex) { TempData["Status"] = "invalid"; TempData["Msg"] = "Nie znaleziono przedmiotu!"; return RedirectToAction("List"); } }