public class UsersAuthenticateCommand : IRequest { [Required] public string Username { get; set; } [Required] public string Password { get; set; } } public class UsersAuthenticateCommandHandler : IRequestHandler { private IUserService _userService; public UsersAuthenticateCommandHandler(IUserService userService) { _userService = userService; } public async Task Handle(UsersAuthenticateCommand command, CancellationToken cancellationToken) { UsersAuthenticateCommandResult response = _userService.Authenticate(command); if (response == null) return new BadRequestObjectResult(new { result = "Username or password is incorrect" }); return new OkObjectResult(response); } }