public async Task <IHttpActionResult> DeleteFavMovieAsync(string userName, [FromBody] FavoriteMovieModelIn movie) { await Task.Yield(); if (userName == null || movie == null) { return(BadRequest("Nor user nor movie can be empty")); } var target = ConfigurationManager.AppSettings["User"]; target += $"/{userName}/favoriteMovies"; var request = new HttpRequestMessage(HttpMethod.Delete, target); var authToken = Request.Headers.Authorization; request.Headers.Authorization = authToken; var jsonContent = JsonConvert.SerializeObject(movie); var stringContent = new StringContent(jsonContent, Encoding.UTF8, "application/json"); request.Content = stringContent; var response = await client.SendAsync(request); var returned = await response.Content.ReadAsStringAsync().ConfigureAwait(false); JavaScriptSerializer jsonSerializer = new JavaScriptSerializer(); var contentJson = jsonSerializer.DeserializeObject(returned); if (response.IsSuccessStatusCode) { return(Ok(contentJson)); } else { return(Content(response.StatusCode, contentJson)); } }
public async Task <IHttpActionResult> DeleteFavMovieAsync(string userName, [FromBody] FavoriteMovieModelIn movie) { await Task.Yield(); if (userName == null || movie == null) { return(BadRequest("Nor user nor movie can be empty")); } var token = Request.Headers.Authorization.ToString(); var isCorrectUser = CheckIfSessionIsCorrect(userName, token); if (!isCorrectUser) { return(ResponseMessage(Request.CreateErrorResponse(HttpStatusCode.Forbidden, "You cant modify other users accounts"))); } var wasUpdated = userLogic.RemoveFavoriteMovie(userName, movie.MovieName); if (!wasUpdated) { return(ResponseMessage(Request.CreateErrorResponse(HttpStatusCode.NotFound, "The movie or user does not exist in our servers"))); } return(Ok("Updated favorite movie list")); }