public async Task <IActionResult> Edit(short id, [Bind("RequestId,RequestDate,RequestText,Id")] ContactRequest contactRequest) { try { if (id != contactRequest.RequestId) { return(NotFound()); } // Préparation de l'appel à l'API string accessToken = await HttpContext.GetTokenAsync("access_token"); HttpClient client = new HttpClient(); client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", accessToken); string content = await client.GetStringAsync(_configuration["URLAPI"] + $"api/ContactRequests/{id}"); ContactRequest oldContactRequest = JsonConvert.DeserializeObject <ContactRequest>(content); if (oldContactRequest == null) { return(NotFound()); } contactRequest.Id = oldContactRequest.Id; contactRequest.RequestDate = oldContactRequest.RequestDate; // Préparation de la requête update à l'API StringContent httpContent = new StringContent(contactRequest.ToJson(), Encoding.UTF8, "application/json"); HttpResponseMessage response = await client.PutAsync(_configuration["URLAPI"] + $"api/UserContactRequests/{id}", httpContent); if (response.StatusCode != HttpStatusCode.NoContent) { return(BadRequest()); } return(RedirectToAction(nameof(Index))); } catch (HttpRequestException e) { return(Unauthorized()); } }
public async Task <IActionResult> Create([Bind("RequestId,RequestDate,RequestText,Id")] ContactRequest contactRequest) { try { // Préparation de l'appel à l'API string accessToken = await HttpContext.GetTokenAsync("access_token"); HttpClient client = new HttpClient(); client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", accessToken); string content = await client.GetStringAsync(_configuration["URLAPI"] + "api/account/getUserInfo"); AspNetUser user = JsonConvert.DeserializeObject <AspNetUser>(content); if (user == null) { return(NotFound()); } contactRequest.RequestDate = DateTime.Now; contactRequest.Id = user.Id.ToString(); StringContent httpContent = new StringContent(contactRequest.ToJson(), Encoding.UTF8, "application/json"); HttpResponseMessage response = await client.PostAsync(_configuration["URLAPI"] + "api/UserContactRequests", httpContent); if (response.StatusCode == HttpStatusCode.Unauthorized) { return(Unauthorized()); } return(RedirectToAction(nameof(Index))); } catch (HttpRequestException e) { return(Unauthorized()); } }