public async Task <IActionResult> UnblockUser(UsersPenaltiesIndexModel model)
        {
            if (this.ModelState.IsValid)
            {
                string username    = model.UsersPenaltiesInputModel.Username;
                var    currentUser = await this.userManager.GetUserAsync(this.User);

                bool isUnblocked = await this.usersPenaltiesService.UnblockUser(username, currentUser);

                if (isUnblocked)
                {
                    this.TempData["Success"] = string.Format(SuccessMessages.SuccessfullyUnblockedUser, username.ToUpper());
                }
                else
                {
                    this.TempData["Error"] = string.Format(ErrorMessages.UserAlreadyUnblocked, username.ToUpper());
                }
            }
            else
            {
                this.TempData["Error"] = ErrorMessages.InvalidInputModel;
                return(this.RedirectToAction("BlockUnblockUser", "UsersPenalties", model));
            }

            return(this.RedirectToAction("BlockUnblockUser", "UsersPenalties"));
        }
        public async Task <IActionResult> BlockUnblockUser()
        {
            var model = new UsersPenaltiesIndexModel
            {
                UsersPenaltiesViewModel = new UsersPenaltiesViewModel
                {
                    BlockedUsernames    = this.usersPenaltiesService.GetAllBlockedUsers(),
                    NotBlockedUsernames = await this.usersPenaltiesService.GetAllNotBlockedUsers(),
                },
                UsersPenaltiesInputModel = new UsersPenaltiesInputModel(),
            };

            return(this.View(model));
        }