public async Task <IActionResult> Create([FromBody] CreateReviewAndNotitficationDto reviewAndNotificationDto)
        {
            if (reviewAndNotificationDto == null)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                var reviewCreateMapped = new CreateReviewDto {
                    Comment      = reviewAndNotificationDto.review.Comment,
                    CustomerId   = reviewAndNotificationDto.review.CustomerId,
                    TeamMemberId = reviewAndNotificationDto.review.TeamMemberId
                };

                var reviewNotificationCreateMapped = new CreateReviewNotificationsDto
                {
                    ReviewActionId = reviewAndNotificationDto.reviewNotification.ReviewActionId,
                    ReviewKindId   = reviewAndNotificationDto.reviewNotification.ReviewKindId,
                    StartDate      = reviewAndNotificationDto.reviewNotification.StartDate,
                    EndDate        = reviewAndNotificationDto.reviewNotification.EndDate,
                    DateAdded      = DateTime.UtcNow
                };

                //var reviewMapped = Mapper.Map<CreateReviewDto>(reviewAndNotificationDto);
                //var notificationMapped = Mapper.Map<CreateReviewNotificationsDto>(reviewAndNotificationDto);

                // var targetReview = Mapper.Map<Reviews>(reviewMapped);
                var targetReview = Mapper.Map <Reviews>(reviewCreateMapped);

                await _review.Create(targetReview);

                //
                if (!await _review.Save())
                {
                    return(StatusCode(500, "Server Error, Something went wrong with our server"));
                }
                var createdReview = Mapper.Map <Reviews>(targetReview);

                //notificationMapped.ReviewId = createdReview.Id;
                reviewNotificationCreateMapped.ReviewId = createdReview.Id;
                // var targetNotification = Mapper.Map<ReviewNotifications>(notificationMapped);
                var targetNotification = Mapper.Map <ReviewNotifications>(reviewNotificationCreateMapped);

                await _reviewNotification.Create(targetNotification);

                if (!await _review.Save())
                {
                    return(StatusCode(500, "Server Error, Something went wrong with our server"));
                }

                var createdNotification = Mapper.Map <ReviewNotifications>(targetNotification);
                return(CreatedAtRoute("GetReview", new { id = createdNotification.Id }, createdNotification));
                //return CreatedA("/GetReview/"+  createdNotification.Id, createdNotification);
            }
            else
            {
                return(BadRequest(ModelState));
            }
        }
Beispiel #2
0
        /// <summary>
        /// A megadott adatok alapján az értékelés létrehozása.
        /// Ha a megadott azonosítóval étterem vagy felhasználó nem található, akkor kivételt dobunk.
        /// </summary>
        /// <param name="guestId">A vendég azonosítója, aki az értékelést írta.</param>
        /// <param name="review">A létrehozandó értékelés adatai.</param>
        /// <returns>A létrehozott értékelés adatai.</returns>
        public async Task <ReviewDto> AddReviewToRestaurant(string guestId, CreateReviewDto review)
        {
            var dbRestaurant = (await dbContext.Restaurants
                                .SingleOrDefaultAsync(r => r.Id == review.RestaurantId))
                               .CheckIfRestaurantNull();

            var dbUser = (await dbContext.Users
                          .SingleOrDefaultAsync(u => u.Id == guestId))
                         .CheckIfUserNull();

            var dbReview = new Review {
                Title       = review.Title,
                Description = review.Description,
                CreatedAt   = DateTime.Now,
                Rating      = review.Rating,
                User        = dbUser,
                Restaurant  = dbRestaurant
            };

            await dbContext.AddAsync(dbReview);

            await dbContext.SaveChangesAsync();

            return(await dbContext.Entry(dbReview).ToReviewDto());
        }
        public IActionResult CreateReview([FromBody] CreateReviewDto createReviewDto)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest());
            }

            return(Ok(_reviewService.CreateReview(createReviewDto)));
        }
Beispiel #4
0
        public async Task <ReviewDto> CreateReviewAsync(CreateReviewDto input)
        {
            var review = ObjectMapper.Map <Review>(input);

            review = await _reviewRepo.InsertAsync(review);

            await CurrentUnitOfWork.SaveChangesAsync();

            return(ObjectMapper.Map <ReviewDto>(review));
        }
Beispiel #5
0
        public async Task <ActionResult <CreateReviewCommand.Result> > CreateMovie([FromBody] CreateReviewDto review, [FromHeader] Guid userId, CancellationToken cancellationToken)
        {
            var command = Mapping.Map <CreateReviewDto, CreateReviewCommand.Command>(review);

            command.UserId = userId;

            var result = await _commandBus.Send(command, cancellationToken);

            return(Created("{id}", new { id = result.Id }));
        }
        public void Create_IncreasesCount()
        {
            // Arrange
            var context        = this.ServiceProvider.GetRequiredService <WmipDbContext>();
            var reviewsService = new ReviewsService(context);
            var creationInfo   = new CreateReviewDto()
            {
                Title = "rev"
            };

            // Act
            reviewsService.Create(creationInfo);

            //Assert
            Assert.Single(context.Reviews);
        }
Beispiel #7
0
        public ReviewDto CreateReview(CreateReviewDto addReviewDto)
        {
            if (!(_context.SimpleUsers.Any(x => x.Id == addReviewDto.ReviewerId) && _context.Lectures.Any(x => x.Id == addReviewDto.LectureId)))
            {
                return(null);
            }

            var review = _iMapper.Map <Review>(addReviewDto);

            _context.Reviews.Add(review);
            _context.SaveChanges();

            var reviewDto = _iMapper.Map <ReviewDto>(review);

            return(reviewDto);
        }
        public bool Create(CreateReviewDto creationInfo)
        {
            try
            {
                var review = new Review
                {
                    Title       = creationInfo.Title,
                    Body        = creationInfo.Body,
                    Summary     = creationInfo.Summary,
                    ReviewScore = creationInfo.ReviewScore,
                    ReviewType  = creationInfo.ReviewType,
                    AlbumId     = creationInfo.AlbumId,
                    UserId      = creationInfo.UserId,
                };

                this.context.Reviews.Add(review);
                this.context.SaveChanges();
                return(true);
            }
            catch
            {
                return(false);
            }
        }
Beispiel #9
0
        public async Task <IActionResult> Create(CreateReviewDto input)
        {
            var newReview = await _reviewAppService.CreateReviewAsync(input);

            return(CreatedAtRoute("GetReview", new { id = newReview.Id }, newReview));
        }
 public virtual Task <ReviewDto> CreateAsync(CreateReviewDto input)
 {
     return(_service.CreateAsync(input));
 }
Beispiel #11
0
        /// <summary>
        /// Értékelés létrehozása az aktuális vendég által a megadott adatok alapján.
        /// </summary>
        /// <param name="review">A létrehozandó értékelés adatai.</param>
        /// <returns>A létrehozott értékelés adatai.</returns>
        public async Task <ReviewDto> AddReviewToRestaurant(CreateReviewDto review)
        {
            string userId = httpContext.GetCurrentUserId();

            return(await reviewRepository.AddReviewToRestaurant(userId, review));
        }
Beispiel #12
0
        public async Task <ActionResult <ReviewDto> > AddReviewToRestaurant([FromBody] CreateReviewDto review)
        {
            var createdReview = await reviewManager.AddReviewToRestaurant(review);

            return(CreatedAtAction(nameof(GetReview), new { id = createdReview.Id }, createdReview));
        }
Beispiel #13
0
        public async Task <IActionResult> CreateMessage([FromBody] ServerResponse ServerResponse)
        {
            // declare a complex type as input parameter
            HttpResponseMessage rs;
            string response;

            if (ServerResponse.text == null)
            {
                ServerResponse.text = "";
            }
            // loop through the server's text value to determine the next cause of action
            if (ServerResponse.text.Equals("", StringComparison.Ordinal))
            {
                // always include a 'CON' in your first statements
                response  = "CON Welcome to Crext";
                response += "Enter organisation Id";

                var team = await _teamMember.GetTeamMemberByPhone(ServerResponse.phoneNumber);

                if (team == null)
                {
                    response = "END You were not Identified, Please continue with the phone number that was registered by the organisation";
                }

                //validate Organisation Id
                var orgId  = Convert.ToInt32(ServerResponse.text);
                var hasOrg = await _organisation.Find(orgId);

                if (hasOrg)
                {
                    response += "Enter Customer Phone Number";

                    var findcus = await _customer.GetPhone(ServerResponse.text);

                    if (findcus != null)
                    {
                        response += "Enter Option \n 1 Add Payment \n 2 Report";
                        var opt = ServerResponse.text;
                        if (opt.Equals("1", StringComparison.Ordinal))
                        {
                            response += "Enter Amount";
                            var amount = ServerResponse.text;

                            //Update feed back with comment "Customer Paid Amount on Date"
                            var reviewCreateMapped = new CreateReviewDto
                            {
                                Comment      = "Customer Paid " + amount + " on " + DateTime.UtcNow,
                                CustomerId   = findcus.Id.ToString(),
                                TeamMemberId = team.Id,
                                Status       = Helpers.ReviewStatus.UNREAD.ToString()
                            };

                            var reviewNotificationCreateMapped = new CreateReviewNotificationsDto
                            {
                                ReviewActionId = 4,
                                ReviewKindId   = 1,
                                StartDate      = DateTime.UtcNow,
                                EndDate        = DateTime.UtcNow,
                                DateAdded      = DateTime.UtcNow
                            };

                            var targetReview = Mapper.Map <Reviews>(reviewCreateMapped);

                            await _review.Create(targetReview);

                            //
                            if (!await _review.Save())
                            {
                                return(StatusCode(500, "END Server Error, Something went wrong with our server"));
                            }
                            var createdReview = Mapper.Map <Reviews>(targetReview);

                            //notificationMapped.ReviewId = createdReview.Id;
                            reviewNotificationCreateMapped.ReviewId = createdReview.Id;
                            // var targetNotification = Mapper.Map<ReviewNotifications>(notificationMapped);
                            var targetNotification = Mapper.Map <ReviewNotifications>(reviewNotificationCreateMapped);



                            await _reviewNotification.Create(targetNotification);

                            if (!await _review.Save())
                            {
                                return(StatusCode(500, "END Server Error, Something went wrong with our server"));
                            }

                            var createdNotification = Mapper.Map <ReviewNotifications>(targetNotification);
                            response = "End Update Successful";
                            return(CreatedAtRoute("GetReview", new { id = createdNotification.Id }, response));
                        }
                        else if (opt.Equals("2", StringComparison.Ordinal))
                        {
                        }
                    }
                    else
                    {
                        //Wrong Phone Number
                    }
                }
                else
                {
                    //Wroung Organisation  Phone number
                }
            }

            else if (ServerResponse.text.Equals("1", StringComparison.Ordinal))
            {
                response = "END Your phone number is " + ServerResponse.phoneNumber;
                //the last response starts with an 'END' so that the server understands that it's the final response
            }
            else
            {
                response = "END invalid option";
            }
            // rs = Request.CreateResponse(HttpStatusCode.Created, response);
            var re = CreatedAtRoute("Get", response);

            // append your response to the HttpResponseMessage and set content type to text/plain, exactly what the server expects
            //  rs.Content = new StringContent(response, Encoding.UTF8, "text/plain");
            // finally return your response to the server
            return(re);
        }