public async Task <IActionResult> DeleteReview([FromBody] ReviewDeleteRequest request) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } CultureInfo cultureInfo = new CultureInfo(request.CultureInfo); Resource.Culture = cultureInfo; UserEntity userEntity = await _context.Users.FindAsync(request.User); if (userEntity == null) { return(BadRequest(new Response { IsSuccess = false, Message = Resource.UserDoesntExists })); } DocumentEntity documentEntity = await _context.Documents.FindAsync(request.Document); if (documentEntity == null) { return(BadRequest(new Response { IsSuccess = false, Message = Resource.DocumentDoesntexist })); } ReviewEntity reviewEntity = await _context.Reviews .FirstOrDefaultAsync(p => p.User.Id == userEntity.Id && p.Document.Id == documentEntity.Id); _context.Reviews.Remove(reviewEntity); await _context.SaveChangesAsync(); return(Ok(new Response { IsSuccess = true, Message = Resource.TheReviewWasDeletedSuccessfully })); }
private async void CreateDetailAsync() { var action = await App.Current.MainPage.DisplayAlert(Languages.Alert, Languages.Question, Languages.Accept, Languages.Reject); if (action) { string url = App.Current.Resources["UrlAPI"].ToString(); bool connection = await _apiService.CheckConnectionAsync(url); if (!connection) { await App.Current.MainPage.DisplayAlert(Languages.Error, Languages.ConnectionError, Languages.Accept); return; } TokenResponse token = JsonConvert.DeserializeObject <TokenResponse>(Settings.Token); ReviewDeleteRequest reviewRequest = new ReviewDeleteRequest { User = this.User.Id, Document = this.Document.Id, CultureInfo = Languages.Culture }; Response response = await _apiService.DeleteReviewAsync(url, "/api", "/Search/DeleteReview", reviewRequest, "bearer", token.Token); if (!response.IsSuccess) { await App.Current.MainPage.DisplayAlert(Languages.Error, response.Message, Languages.Accept); return; } await App.Current.MainPage.DisplayAlert(Languages.Ok, response.Message, Languages.Accept); await _navigationService.NavigateAsync("/OpenLibraryMasterDetailPage/NavigationPage/MyCommentPage"); } }
public async Task <Response> DeleteReviewAsync(string urlBase, string servicePrefix, string controller, ReviewDeleteRequest reviewRequest, string tokenType, string accessToken) { try { string request = JsonConvert.SerializeObject(reviewRequest); StringContent content = new StringContent(request, Encoding.UTF8, "application/json"); HttpClient client = new HttpClient { BaseAddress = new Uri(urlBase) }; client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue(tokenType, accessToken); string url = $"{servicePrefix}{controller}"; HttpResponseMessage response = await client.PostAsync(url, content); string answer = await response.Content.ReadAsStringAsync(); Response obj = JsonConvert.DeserializeObject <Response>(answer); if (!response.IsSuccessStatusCode) { return(new Response { IsSuccess = false, Message = obj.Message }); } return(obj); } catch (Exception ex) { return(new Response { IsSuccess = false, Message = ex.Message }); } }