public async Task <ActionResult> Reinstate([FromBody] Guid id) { var site = await _contextService.CurrentSiteAsync(); var user = await _contextService.CurrentUserAsync(); var command = new ReinstateUser { Id = id, SiteId = site.Id, UserId = user.Id }; await _userService.ReinstateAsync(command); return(Ok()); }
public async Task ReinstateAsync(ReinstateUser command) { var user = await _dbContext.Users .FirstOrDefaultAsync(x => x.Id == command.Id && x.Status != UserStatusType.Deleted); if (user == null) { throw new DataException($"User with Id {command.Id} not found."); } user.Reinstate(); _dbContext.Events.Add(new Event(command.SiteId, command.UserId, EventType.Reinstated, typeof(User), command.Id)); await _dbContext.SaveChangesAsync(); }