Exemple #1
0
        public async Task <ActionResult> Post([FromBody] CircleEventUpdateDto model)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            if (!await this.MatchAppUserWithToken(model.AppUserId) || !await _repo.IsOwner((int)model.AppUserId, model.CircleId))
            {
                return(Unauthorized());
            }

            var newEvent = this._mapper.Map <CircleEvent>(model);

            _repo.Add(newEvent);
            CircleEvent oldestEvent = null;

            if (await _repo.GetCircleEventCount(model.CircleId) >= CIRCLE_EVENT_MAX)
            {
                oldestEvent = await _repo.GetOldestCircleEvent(model.CircleId);

                _repo.Delete(oldestEvent);
            }
            await _repo.SaveAll();

            if (oldestEvent != null)
            {
                await this.deleteAttachedPhotos(oldestEvent.Photos);
            }

            return(CreatedAtRoute("GetCircleEvent", new { id = newEvent.Id }, _mapper.Map <CircleEventForReturnDto>(await _repo.Get <CircleEvent>(newEvent.Id))));
        }
Exemple #2
0
        public async Task <ActionResult> Put([FromBody] CircleEventUpdateDto model)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var CircleEventFromRepo = await this._repo.Get <CircleEvent>(model.Id);

            if (CircleEventFromRepo == null)
            {
                return(NotFound());
            }
            if (!await MatchAppUserWithToken((int)CircleEventFromRepo.AppUserId))
            {
                return(Unauthorized());
            }

            _mapper.Map(model, CircleEventFromRepo);

            try
            {
                await _repo.SaveAll();
            }
            catch (System.Exception ex)
            {
                return(BadRequest("Failed to update circle event: " + ex.Message));
            }
            return(Ok());
        }