Esempio n. 1
0
        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());
            }
        }
Esempio n. 2
0
        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());
            }
        }