SearchUser Backend Method(Dropped)
Tue Jul 16 2024 12:29:50 GMT+0000 (Coordinated Universal Time)
Saved by
@iamkatmakhafola
[Authorize(Policy = "Owner")]
[HttpGet]
[Route("SearchUsers")]
public async Task<IActionResult> SearchUsers([FromQuery] string? criteria)
{
try
{
if (string.IsNullOrEmpty(criteria)) // Check if criteria is null or empty
{
// If criteria is not provided, return all users
var users = await _userManager.Users
.Select(u => new SearchUserViewmodel
{
User_ID = u.User_ID,
Name = u.Name,
Surname = u.Surname
})
.ToListAsync();
return Ok(users);
}
// If criteria is provided, filter users based on the criteria
var filteredUsers = await _userManager.Users
.Where(u => u.Name.Contains(criteria) || u.Surname.Contains(criteria))
.Select(u => new SearchUserViewmodel
{
User_ID = u.User_ID,
Name = u.Name,
Surname = u.Surname
})
.ToListAsync();
if (filteredUsers == null || filteredUsers.Count == 0)
{
return NotFound("No users found.");
}
return Ok(filteredUsers);
}
catch (Exception)
{
return StatusCode(StatusCodes.Status500InternalServerError, "Internal Server Error. Please contact support.");
}
}
content_copyCOPY
Comments