public ActionResult Post([FromBody] TravelReviewViewModel travelReviewViewModel)
        {
            if (ModelState.IsValid)
            {
                if (this._authService.IsUserAuthorizedAsync(travelReviewViewModel.CaptchaToken))
                {
                    TravelReview travelReview = this._mapper.MapViewModel(travelReviewViewModel);
                    String       errorMessage = this._travelReviewService.GetValidationError(travelReview);

                    if (String.IsNullOrEmpty(errorMessage))
                    {
                        this._travelReviewService.CreateTravelReview(travelReview);

                        return(Ok());
                    }
                    else
                    {
                        return(StatusCode(StatusCodes.Status422UnprocessableEntity, errorMessage));
                    }
                }
                else
                {
                    return(Unauthorized());
                }
            }
            else
            {
                return(StatusCode(StatusCodes.Status422UnprocessableEntity, ModelState));
            }
        }
Example #2
0
        private void FillTravelReviewWithIdIfItIsNecessary(TravelReview travelReview)
        {
            if (travelReview.ReviewId.Equals(0))
            {
                travelReview.ReviewId = _firstReviewId;

                TravelReview existingReview = this._getRepository.GetFirstByConditionsAndSort(x => true, x => x.ReviewId, Constants.SortTypes.Desc);

                if (existingReview != null)
                {
                    travelReview.ReviewId = existingReview.ReviewId + 1;
                }
            }
        }
Example #3
0
 private void FillTravelReviewIfItIsNecessary(TravelReview travelReview)
 {
     this.FillTravelReviewWithIdIfItIsNecessary(travelReview);
     this.FillTransportIfItIsNecessary(travelReview.ReviewTransport);
     this.FillFeelingIfItIsNecessary(travelReview.TravelFeeling);
 }
Example #4
0
 public string GetValidationError(TravelReview travelReview)
 {
     //TODO: implementar
     return(String.Empty);
 }
Example #5
0
        public void CreateTravelReview(TravelReview travelReview)
        {
            this.FillTravelReviewIfItIsNecessary(travelReview);

            this._saveRepository.Save(travelReview);
        }