Beispiel #1
0
        public async Task <ActionResult> Post([FromBody] UserCommentUpdateDto model)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            var circleEvent = await _repo.GetCircleEvent(model.OwnerRecordId);

            if (circleEvent == null)
            {
                return(NotFound());
            }
            if (!await this.MatchAppUserWithToken(model.AppUserId) ||
                (!circleEvent.IsPublic && !await _repo.IsMember((int)model.AppUserId, circleEvent.CircleId)))
            {
                return(Unauthorized());
            }

            var newComment = this._mapper.Map <CircleEventComment>(model);

            newComment.CircleId = circleEvent.CircleId;
            _repo.Add(newComment);
            await _repo.SaveAll();

            return(CreatedAtRoute("GetCircleEventComment", new { id = model.Id }, _mapper.Map <CircleEventCommentForReturnDto>(newComment)));
        }
Beispiel #2
0
        public async Task <ActionResult> Get(int id)
        {
            var circleEventForReturn = _mapper.Map <CircleEventForReturnDto>(await _repo.GetCircleEvent(id));

            if (circleEventForReturn == null)
            {
                return(NotFound());
            }
            //circleEventForReturn.EventCommentCounts = await _repo.GetCircleEventCommentCount(id);
            var loggedInUser = await GetLoggedInUserAsync();

            if (loggedInUser != null)
            {
                var myParticipation = await _repo.GetCircleEventParticipation(loggedInUser.Id, id);

                circleEventForReturn.MyStatus       = myParticipation != null ? (CircleEventParticipationStatus?)myParticipation.Status : null;
                circleEventForReturn.IsCircleMember = await _repo.IsMember(loggedInUser.Id, circleEventForReturn.CircleId);
            }

            return(Ok(circleEventForReturn));
        }