Пример #1
0
        public async Task <IActionResult> Post([FromBody] AttractionLike model)
        {
            if (!await MatchAppUserWithToken((int)model.AppUserId))
            {
                return(Unauthorized());
            }

            if (!await _repo.RecordExist("AppUser", (int)model.AppUserId))
            {
                return(NotFound());
            }

            var attractionFromRepo = await _repo.GetAttraction((int)model.AttractionId);

            if (attractionFromRepo == null)
            {
                return(NotFound());
            }

            var likeRecord = await _repo.GetAttractionLike((int)model.AppUserId, (int)model.AttractionId);

            if (await _repo.AttractionLiked((int)model.AppUserId, (int)model.AttractionId))
            {
                return(BadRequest("既にリアクションされています"));
            }

            _repo.Add(model);
            await _appUserRepo.AddLikeCountToUser((int)attractionFromRepo.AppUserId);

            if (await _repo.SaveAll() > 0)
            {
                return(Created("GetAttractionLike", null));
            }
            return(BadRequest("Failed to post attraction like"));
        }
Пример #2
0
        public async Task <ActionResult> Post([FromBody] AttractionUpdateDto model)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            if (!await this.MatchAppUserWithToken(model.AppUserId))
            {
                return(Unauthorized());
            }

            var newAttraction = this._mapper.Map <Attraction>(model);

            // List<AttractionCategorization> categorizationList = new List<AttractionCategorization>();
            // foreach (var categoryId in model.CategoryIds)
            // {
            //     categorizationList.Add(new AttractionCategorization() { AttractionCategoryId = categoryId });
            // }
            // newAttraction.Categorizations = categorizationList;

            _attractionRepo.Add(newAttraction);
            if (await _attractionRepo.SaveAll() > 0)
            {
                return(CreatedAtRoute("GetAttraction", new { id = newAttraction.Id }, _mapper.Map <AttractionForReturnDto>(newAttraction)));
            }
            return(BadRequest("Failed to add clanseek"));
        }
        public async Task <ActionResult> Post([FromBody] AttractionReviewUpdateDto model)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            if (!await this.MatchAppUserWithToken((int)model.AppUserId))
            {
                return(Unauthorized());
            }
            if (!await _attractionRepo.AttractionExists(model.AttractionId))
            {
                return(NotFound("Attraction " + model.AttractionId + " is not exist"));
            }
            if (await _attractionRepo.AttractionReviewed(model.AppUserId, model.AttractionId))
            {
                return(BadRequest("既にレビューされています"));
            }

            var newAttractionReview = this._mapper.Map <AttractionReview>(model);

            _attractionRepo.Add(newAttractionReview);
            if (await _attractionRepo.SaveAll() > 0)
            {
                return(CreatedAtRoute("GetAttractionReview", new { id = newAttractionReview.Id }, _mapper.Map <AttractionReviewForReturnDto>(newAttractionReview)));
            }
            return(BadRequest("Failed to add attraction review"));
        }
 public IActionResult Create(Attraction attraction)
 {
     if (ModelState.IsValid)
     {
         Attraction newAttraction = _attractionRepository.Add(attraction);
         return(RedirectToAction("details", new { id = newAttraction.AttractionID }));
     }
     return(View());
 }
Пример #5
0
 public void AddAtrraction(Attraction Atrraction)
 {
     _iRespository.Add(Atrraction);
 }