示例#1
0
        public async Task <IActionResult> Create([FromForm] CreateRatingRequest createModel)
        {
            var ratingEntity      = _mapper.Map <Rating>(createModel);
            var createdCustomerId = int.Parse(HttpContext.GetUserIdFromRequest());

            var result = await _ratingService.CreateAsync(
                ratingEntity,
                createdCustomerId,
                createModel.Images,
                _appSettings.Value.RatingImageDir,
                _env.ContentRootPath);

            if (!result.IsSuccess)
            {
                return(BadRequest(result.Errors));
            }

            var ratingUri = _uriService.GetByIdUri(
                ApiRoutes.Rating.GetById.Replace("{ratingId}", ratingEntity.Id.ToString()));
            var ratingResponse = _mapper.Map <RatingResponse>(ratingEntity);

            return(Created(
                       ratingUri,
                       new Response <RatingResponse>(ratingResponse)));
        }
        public CreateRatingResponse Create(CreateRatingRequest request)
        {
            // call into cosmos to create the rating for the given product
            var response = new CreateRatingResponse(request);

            response.Id        = Guid.NewGuid();
            response.TimeStamp = DateTime.UtcNow;
            return(response);
        }
示例#3
0
        public async Task <IActionResult> CreateProductRating(
            [FromRoute] int productId,
            [FromBody] CreateRatingRequest request)
        {
            var command = new CreateRatingCommand
            {
                ProductId = productId,
                UserId    = HttpContext.GetUserId()
            };

            mapper.Map(request, command);
            var result = await mediator.Send(command).ConfigureAwait(false);

            return(Created(uriService.GetRatingUri(result.Id), new Response <RatingResponse>(result)));
        }
示例#4
0
        public IActionResult Create(long menuId, long userId, CreateRatingRequest request)
        {
            try
            {
                request.MenuId = menuId;
                request.UserId = userId;
                var rating  = Mapper.Map <Rating>(request);
                var created = Mapper.Map <RatingDTO>(_serviceUow.RatingService.CreateRating(rating));

                return(Created("Rating", created));
            }
            catch (Exception e)
            {
                return(BadRequest(e.Message));
            }
        }
示例#5
0
        public async Task <IActionResult> CreateRating([FromBody] CreateRatingRequest request)
        {
            User user = await this.users.GetById(request.Uid);

            Rating rating = await this.ratingValues.GetByValue(request.Value);

            if (user == null)
            {
                return(BadRequest(new ErrorResponse {
                    Error = "Invalid uid"
                }));
            }
            if (rating == null)
            {
                return(BadRequest(new ErrorResponse {
                    Error = "Invalid Rating Value"
                }));
            }

            MovieRating userRating = new MovieRating
            {
                UserId   = user.Id,
                MovieId  = request.MovieId,
                RatingId = rating.Id,
                Review   = request.Review
            };

            if (await this.movieRatings.Exists(request.Uid, request.MovieId))
            {
                return(Conflict(new ErrorResponse {
                    Error = "Rating already exists"
                }));
            }

            MovieRating ratingAdded = await this.movieRatings.Add(userRating);

            MovieRatingResponse response = this.mapper.Map <MovieRatingResponse>(ratingAdded);

            return(CreatedAtAction("GetAllRatingsByMovie", new { movieId = response.MovieId }, response));
        }
示例#6
0
        public async Task <IActionResult> Create(CreateRatingRequest request)
        {
            var result = await _serviceClient.CreateRatingAsync(request);

            return(Ok(result));
        }