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"));
        }