public async Task <ActionResult> UnBlockUserAccount(string id)
        {
            UserBlockDataDTO userBlockDataDTO = await UserService.FindUserForUnBlockAsync(id);

            var mapper = new MapperConfiguration(cfg => cfg.CreateMap <UserBlockDataDTO,
                                                                       UserBlockData>()).CreateMapper();
            var userBlockData = mapper.Map <UserBlockDataDTO,
                                            UserBlockData>(userBlockDataDTO);

            return(View(userBlockData));
        }
Esempio n. 2
0
        public async Task <UserBlockDataDTO> FindUserForUnBlockAsync(string id)
        {
            if (id == null)
            {
                throw new Exception("Не существует пользователя с запрашиваемым id");
            }
            UserBlockDataDTO userBlockDataDTO = null;

            try
            {
                ApplicationUser applicationUser = await database.UserManager.FindByIdAsync(id);

                if (applicationUser == null)
                {
                    throw new Exception("Не существует пользователя с запрашиваемым id");
                }
                else
                {
                    DateTime?lockoutEndDate = applicationUser.LockoutEndDateUtc;
                    if (lockoutEndDate != null)
                    {
                        DateTime localLockoutEndDate = (DateTime)lockoutEndDate;
                        lockoutEndDate = (DateTime?)localLockoutEndDate.AddHours(3);
                    }
                    userBlockDataDTO = new UserBlockDataDTO()
                    {
                        UserId         = applicationUser.Id,
                        Email          = applicationUser.Email,
                        LockoutEnabled = applicationUser.LockoutEnabled,
                    };
                    if (applicationUser.LockoutEndDateUtc == null)
                    {
                        userBlockDataDTO.DateTimeBlock = DateTime.Now;
                    }
                    else
                    {
                        userBlockDataDTO.DateTimeBlock = (DateTime)lockoutEndDate;
                    }
                }
            }
            catch (Exception exception)
            {
                logger.Error($"{exception.Message} {exception.StackTrace}");
            }
            return(userBlockDataDTO);
        }
Esempio n. 3
0
        public async Task UnblockUserAccount(UserBlockDataDTO userBlockDataDTO)
        {
            try
            {
                var result = await database.UserManager.SetLockoutEnabledAsync(userBlockDataDTO.UserId, true);

                if (result.Succeeded)
                {
                    result = await database.UserManager.SetLockoutEndDateAsync(userBlockDataDTO.UserId, DateTimeOffset.UtcNow);

                    result = await database.UserManager.SetLockoutEnabledAsync(userBlockDataDTO.UserId, false);

                    ApplicationUser applicationUser = database.UserManager.FindById(userBlockDataDTO.UserId);
                }
            }
            catch (Exception exception)
            {
                logger.Error($"{exception.Message} {exception.StackTrace}");
            }
        }