public async Task <IActionResult> AddActivity(int userId, ActivityForCreationDto activityForCreationDto) { // if (userId != int.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value)) // return Unauthorized(); var userFromRepo = await _repository.GetUser(userId); var activity = _mapper.Map <Activity> (activityForCreationDto); userFromRepo.Activities.Add(activity); if (await _repository.SaveAll()) { var activityToReturn = _mapper.Map <ActivityForReturnDto> (activity); return(CreatedAtRoute("GetActivity", new { id = activity.Id }, activityToReturn)); } return(BadRequest("Could not add the activity")); }
public async Task <ActionResult <ActivityDto> > PostActivity(ActivityForCreationDto activity) { if (activity == null) { throw new ArgumentNullException(nameof(activity)); } var activityEntity = _mapper.Map <Activity>(activity); _repository.AddActivity(activityEntity); await _repository.SaveChangesAsync(); var activityToReturn = _mapper.Map <ActivityDto>(activityEntity); return(CreatedAtAction( "GetActivity", new { id = activityToReturn.Id }, activityToReturn)); }