public async Task <IActionResult> AuthenticateAsync([FromBody] LoginDto login, [FromServices] IUserApplicationService service) { try { await service.AuthenticateAsync(login); login.GenerateToken(); return(Ok(login)); } catch (UnauthorizedAccessException) { return(Unauthorized()); } catch (ArgumentNullException) { return(Unauthorized()); } catch (Exception ex) { Console.WriteLine(ex); return(Problem("Something is not right, calm down calm down! We're working to fix...(I hope so!")); } }