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));
        }