public async Task <IActionResult> Register(UserRegistrationRequest request) { try { if (!ModelState.IsValid) { return(BadRequest(new AuthFailedResponse { Status = "false", Errors = ModelState.Values.SelectMany(x => x.Errors.Select(xx => xx.ErrorMessage)) })); } var authResponse = await _identityService.RegisterAsync(request.Email, request.Password); if (!authResponse.Success) { return(Ok(new AuthFailedResponse { Status = "false", Errors = authResponse.Errors })); } return(Ok(new AuthSuccessResponse { Status = "true", Token = authResponse.Token, Username = authResponse.Username, Created = new JavaScriptSerializer().Serialize(authResponse.Created), Expiry = new JavaScriptSerializer().Serialize(authResponse.Expiry) })); } catch (Exception ex) { return(BadRequest(new AuthFailedResponse { Status = "true", Errors = CommonUtility.CreateEnumerable(ex.Message) })); } }