public async Task <PhotoCreateResponse> AddUserPhoto(int userId, UserPhotoRequest userPhotoRequest) { var photoUploadResult = _photoAccessor.AddPhoto(userPhotoRequest.File); var user = await _usersRepo.Get(userId); var photo = new Photo(); _mapper.Map(userPhotoRequest, photo); photo.Url = photoUploadResult.Url; photo.PublicId = photoUploadResult.PublicId; photo.IsMain = !user.Photos.Any(p => p.IsMain); photo.User = user; await _repo.Create(photo); return(_mapper.Map <PhotoCreateResponse>(photo)); }