public async Task <List <BlockedUserResponse> > GetBlockedsByUserName(GetBlockedRequest request) { var kicker = await _context.Users.SingleOrDefaultAsync(user => user.UserName == request.Username); if (kicker == null) { return(null); } var blockedList = await _context.Blocks.Where(block => block.KickerID == kicker.ID).OrderByDescending(block => block.Date).ToListAsync(); if (blockedList.Count == 0) { return(null); } var result = new List <BlockedUserResponse>(); foreach (var blocked in blockedList) { var item = new BlockedUserResponse { ID = blocked.Id, BlockedUserName = await GetUsernameById(blocked.BlockedID), Date = blocked.Date }; result.Add(item); } return(result); }
public async Task <IActionResult> GetBlockedUser([FromQuery] GetBlockedRequest request) { if (!ModelState.IsValid) { return(BadRequest()); } if (!await _userService.isUserNameExist(request.Username)) { return(NotFound("There is no such a username")); } var result = await _userService.GetBlockedsByUserName(request); if (result == null) { return(NotFound()); } return(Ok(result)); }