示例#1
0
        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
            }));
        }
示例#2
0
        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");
            }
        }
示例#3
0
        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
                });
            }
        }