public async Task <IActionResult> Login([FromBody] LoginModel loginModel) { var validationResult = _loginValidator.Validate(loginModel); if (!validationResult.IsValid) { return(BadRequest(new ApiResponse { Status = HttpStatusCode.BadRequest, Errors = validationResult.GetFieldLevelErrors() })); } var isAuthenticated = await _accountLogic.Authenticate(loginModel); if (!isAuthenticated) { return(StatusCode((int)HttpStatusCode.OK, new AccountModel { UserName = loginModel.UserName })); } var accountModel = await _accountLogic.GetUserRoleAndCentre(loginModel.UserName); accountModel.Token = _tokenLogic.Generate(accountModel); return(Ok(accountModel)); }