public async Task <Response> PostUserToAppAsync( string urlBase, string servicePrefix, string controller, SetUserToAppRequest setUserToAppRequest, string tokenType, string accessToken) { try { var request = JsonConvert.SerializeObject(setUserToAppRequest); var content = new StringContent(request, Encoding.UTF8, "application/json"); var client = new HttpClient { BaseAddress = new Uri(urlBase) }; client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue(tokenType, accessToken); var url = $"{servicePrefix}{controller}"; var response = await client.PostAsync(url, content); var answer = await response.Content.ReadAsStringAsync(); var obj = JsonConvert.DeserializeObject <Response>(answer); return(obj); } catch (Exception ex) { return(new Response { IsSuccess = false, Message = ex.Message, }); } }
public async Task <IActionResult> PostUserToCurrentApp([FromBody] SetUserToAppRequest request) { var user = await _userHelper.GetUserByEmailAsync(request.Email); if (user == null) { return(BadRequest(new Response { IsSuccess = false, Message = "User not found" })); } var app = await _applicationRepository.GetAll().FirstOrDefaultAsync(a => a.AppId == Guid.Parse(request.AppId)); app.User = user; if (await _applicationRepository.UpdateAsync(app) == null) { return(BadRequest(new Response { IsSuccess = false, Message = "Bad request" })); } return(Ok(new Response { IsSuccess = true, Message = "The user now is set to the current application" })); }