public ActionResult CreateSection() { var userLogins = _userService.GetAllUserEntities() .Where(u => !u.IsBlocked) .Select(u => new SelectListItem() {Value = u.Login, Text = u.Login}); var section = new SectionCreateViewModel() {UsersLogin = userLogins}; return View(section); }
public ActionResult EditSection(SectionCreateViewModel viewModel) { if (ModelState.IsValid) { var existedSection = _sectionService.GetSectionEntity(viewModel.Id); if (existedSection.ModeratorLogin.CompareTo(viewModel.SettedModeratorLogin) != 0) { var moderator = _userService.GetUserEntityByLogin(viewModel.SettedModeratorLogin); if (!moderator.Roles.Any(r => r.RoleName == Role.Moderator.ToString())) { moderator.Roles.Add(new RoleEntity() { RoleName = Role.Moderator.ToString(), Id = (int)Role.Moderator }); _userService.UpdateUser(moderator); } existedSection.UserRefId = moderator.Id; var oldModerator = _userService.GetUserEntityByLogin(existedSection.ModeratorLogin); var oldRole = oldModerator.Roles.FirstOrDefault(t => t.Id == (int) Role.Moderator); if (oldRole != null) { var result = oldModerator.Roles.Remove(oldRole); } _userService.UpdateUser(oldModerator); } existedSection.SectionName = viewModel.SectionName; existedSection.Discription = viewModel.Discription; _sectionService.UpdateSection(existedSection); return RedirectToAction("AllSections", "Admin"); } viewModel.UsersLogin = _userService.GetAllUserEntities() .Where(u => !u.IsBlocked) .Select(u => new SelectListItem() { Value = u.Login, Text = u.Login }); return View(viewModel); }
public ActionResult CreateSection(SectionCreateViewModel viewModel) { if (ModelState.IsValid) { var moderator = _userService.GetUserEntityByLogin(viewModel.SettedModeratorLogin); if (moderator.Roles.All(r => r.RoleName != Role.Moderator.ToString())) { moderator.Roles.Add(new RoleEntity() { RoleName = Role.Moderator.ToString(), Id = (int)Role.Moderator }); } _userService.UpdateUser(moderator); viewModel.UserRefId = moderator.Id; var bllSection = viewModel.ToBllSectionEntity(); _sectionService.CreateSection(bllSection); return RedirectToAction("AllSections", "Admin"); } viewModel.UsersLogin = _userService.GetAllUserEntities() .Where(u => !u.IsBlocked) .Select(u => new SelectListItem() { Value = u.Login, Text = u.Login }); return View(viewModel); }