public async Task <ValidationResultModel <ReviewResponse> > Save(CreateReviewRequest model)
        {
            var result = new ValidationResultModel <ReviewResponse>();

            if (result.Succeeded)
            {
                var reviewDbModel = model.Map <CreateReviewRequest, Reviews>();
                reviewDbModel = await _reviewRepository.Save(reviewDbModel);

                result.Model = reviewDbModel.Map <Reviews, ReviewResponse>();
            }

            return(result);
        }
Exemple #2
0
        public async Task CreateReviewSuccessTest(CreateReviewRequest request)
        {
            // Arrange
            var user = new ClaimsPrincipal(new ClaimsIdentity(new Claim[]
            {
                new Claim(ClaimTypes.Name, "anuviswan"),
            }, "mock"));

            var mockReviewService = new Mock <IReviewService>();

            mockReviewService.Setup(x => x.CreateAsync(It.IsAny <ReviewEntity>(), It.IsAny <string>()))
            .Returns(Task.FromResult(new ReviewEntity() with {
                Id = nameof(ReviewEntity.Id)
            }));
        public async Task <IActionResult> AddReview([FromBody] CreateReviewRequest request)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState.Select(x => x.Value.Errors)
                                  .Where(x => x.Count > 0)
                                  .ToList()));
            }

            await _requestInfoService.RegisterInformation("Post", "/reviews");

            var review = await _reviewService.CreateReviewAsync(request);

            return(new OkObjectResult(review));
        }
Exemple #4
0
        public async Task <IActionResult> Save([FromBody] CreateReviewRequest request)
        {
            try
            {
                request.UserId = User.GetUserId();

                var result = await ReviewService.Save(request);

                return(Ok(result));
            }
            catch (Exception ex)
            {
                Logger.LogException(ex, "Fox.Catalog.Api");
                return(BadRequest(ex));
            }
        }
Exemple #5
0
        public override async Task <CreateReviewResponse> CreateReview(CreateReviewRequest request,
                                                                       ServerCallContext context)
        {
            var reviewRepository = _commandFactory.RepositoryAsync <Domain.Review>();

            var review = Domain.Review
                         .Load(request.Content)
                         .AddAuthor(request.UserId.ConvertTo <Guid>())
                         .AddProduct(request.ProductId.ConvertTo <Guid>());

            var result = await reviewRepository.AddAsync(review);

            return(new CreateReviewResponse
            {
                Result = result.ToDto()
            });
        }
        /// <summary>
        /// Creates the review.
        /// </summary>
        /// <param name="request">The request.</param>
        /// <returns></returns>
        public async Task <APIResponse> CreateReview(CreateReviewRequest request)
        {
            try
            {
                var client = httpClientFactory.CreateClient(VendorServiceOperation.serviceName);

                var         param       = JsonConvert.SerializeObject(request);
                HttpContent contentPost = new StringContent(param, Encoding.UTF8, "application/json");

                var response = await client.PostAsync(servicesConfig.Vendor + VendorServiceOperation.CreateReview(), contentPost);

                return(JsonConvert.DeserializeObject <APIResponse>(await response.Content.ReadAsStringAsync()));
            }
            catch (Exception ex)
            {
                logger.Error(ex, "Exception in method 'CreateReview()'");
                var exMessage = ex.InnerException != null ? ex.InnerException.Message : ex.Message;
                return(new APIResponse(exMessage, HttpStatusCode.InternalServerError));
            }
        }
        public async Task <IActionResult> RunAsync([HttpTrigger(AuthorizationLevel.Anonymous, "post", Route = null)] HttpRequest req)
        {
            var contentType = "Text";

            var textToReview = JsonConvert.DeserializeObject <CreateReviewRequest>(await new StreamReader(req.Body).ReadToEndAsync().ConfigureAwait(false)).ContentValue;

            if (!string.IsNullOrWhiteSpace(textToReview))
            {
                const int MaxSplitLength = 1024;
                var       iteration      = 0;

                do
                {
                    var remainingTextLength = textToReview.Length - (iteration * MaxSplitLength);
                    var splitLength         = remainingTextLength < MaxSplitLength ? remainingTextLength : MaxSplitLength;
                    var startingIndex       = iteration * MaxSplitLength;
                    var textSection         = textToReview.Substring(startingIndex, splitLength);

                    var contentId  = Guid.NewGuid().ToString();
                    var endpoint   = $"https://westus2.api.cognitive.microsoft.com/contentmoderator/review/v1.0/teams/hackathon2020wus2/jobs?ContentType={contentType}&ContentId={contentId}&WorkflowName=hackathontext";
                    var httpClient = _httpClientFactory.CreateClient();

                    var requestBody = new CreateReviewRequest()
                    {
                        ContentValue = textSection
                    };

                    var content = new StringContent(JsonConvert.SerializeObject(requestBody), Encoding.UTF8, "application/json");
                    content.Headers.Add("Ocp-Apim-Subscription-Key", _options.Value.ContentModeratorApiKey);

                    var response = await httpClient.PostAsync(endpoint, content).ConfigureAwait(false);

                    iteration++;
                } while (iteration * MaxSplitLength < textToReview.Length);
            }

            return(new OkResult());
        }
Exemple #8
0
        public async Task <ActionResult <ReviewResponse> > CreateReviewAsync(CreateReviewRequest request, [FromServices] Command <CreateReviewRequest, ReviewResponse> command)
        {
            var response = await command.ExecuteAsync(request);

            return(CreatedAtRoute("GetSingleReview", new { reviewId = response.Id }, response));
        }
        public async Task <ActionResult <ReviewViewModel> > CreateReviewAsync([FromQuery] CreateReviewRequest request)
        {
            var createdEntity = await _reviewService.AddAsync(request);

            return(Created(string.Format(CreateEntityPattern, RoutePattern, createdEntity.Id), createdEntity));
        }
 //[Auth(Policy = "access_review_api")]
 public async Task <IActionResult> Post(CreateReviewRequest request)
 {
     return(Ok(await _reviewServiceClient.CreateReviewAsync(request)));
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="CreateStoryCommand"/> class.
 /// </summary>
 /// <param name="request">The request.</param>
 public CreateReviewCommand(CreateReviewRequest request)
 {
     Request = request;
 }
        public async Task <IActionResult> CreateReview([FromBody] CreateReviewRequest request)
        {
            var result = await reviewCommentService.CreateReview(request);

            return(StatusCode((int)result.Code, result.Value));
        }