public ActionResult BanUser(ProfileVM profileVM) { if (!ModelState.IsValid) { return(RedirectToAction("Index")); } using (ChekitDB chekitDB = new ChekitDB()) { UsersDTO usersDTO = chekitDB.Users.FirstOrDefault(x => x.Login == profileVM.UserVM.Login); if (usersDTO.Role == "Админ") { TempData["Error"] = "Администратора нельзя заблокировать"; return(RedirectToAction("Index")); } usersDTO.BanStatus = true; chekitDB.SaveChanges(); BlackListDTO blackListDTO = new BlackListDTO(); blackListDTO.Email = profileVM.UserVM.Email; blackListDTO.Login = profileVM.UserVM.Login; blackListDTO.UserId = profileVM.UserVM.UserId; blackListDTO.Reason = profileVM.BlackListUserVM.Reason; chekitDB.BlackList.Add(blackListDTO); chekitDB.SaveChanges(); } TempData["OK"] = "Пользователь занесен в черный список"; return(RedirectToAction("Index")); }
//разблокировка юзера public ActionResult Unblock(int id, int userId) { using (ChekitDB chekitDB = new ChekitDB()) { BlackListDTO blackList = chekitDB.BlackList.Find(id); UsersDTO usersDTO = chekitDB.Users.Find(userId); usersDTO.BanStatus = false; chekitDB.BlackList.Remove(blackList); chekitDB.SaveChanges(); } TempData["OK"] = "Пользователь восстановлен!"; return(RedirectToAction("Index")); }
//выбор админа public ActionResult ChoiceAdmin(int id) { using (ChekitDB chekitDB = new ChekitDB()) { string login = User.Identity.Name; UsersDTO userNow = chekitDB.Users.FirstOrDefault(x => x.Login == login); if (userNow.UserId == id) { TempData["Error"] = "С себя снять роль админа нельзя"; return(RedirectToAction("AssignAdminUser")); } List <UserRoleDTO> userRoles = chekitDB.UserRoles.ToList(); UserRoleDTO checkAdmin = chekitDB.UserRoles.FirstOrDefault(x => x.UserId == id); List <UserRoleDTO> adminUsers = userRoles.Where(x => x.RoleId == 1).ToList(); foreach (var item in adminUsers) { if (checkAdmin.UserId == item.UserId) { chekitDB.UserRoles.Remove(checkAdmin); chekitDB.SaveChanges(); UserRoleDTO user = new UserRoleDTO() { UserId = id, RoleId = 2 }; UsersDTO commonUser = chekitDB.Users.FirstOrDefault(x => x.UserId == id); commonUser.Role = "Пользователь"; TempData["OK"] = "Роль админа снята"; chekitDB.UserRoles.Add(user); chekitDB.SaveChanges(); return(RedirectToAction("AssignAdminUser")); } } chekitDB.UserRoles.Remove(checkAdmin); chekitDB.SaveChanges(); UserRoleDTO newAdmin = new UserRoleDTO() { UserId = id, RoleId = 1 }; chekitDB.UserRoles.Add(newAdmin); UsersDTO usersDTO = chekitDB.Users.FirstOrDefault(x => x.UserId == id); usersDTO.Role = "Админ"; chekitDB.SaveChanges(); } TempData["OK"] = "Админ назначен"; return(RedirectToAction("AssignAdminUser")); }