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