public AchievementUser CreateAchievementUser(CreateAchievementUserDto dto)
        {
            var user = _userService.GetMainUserByUsername(dto.Username);

            var achievement = _repository.GetById <Achievement>(dto.AchievementId);

            if (achievement == null)
            {
                throw new InvalidOperationException("Invalid achievement");
            }

            var entity = new AchievementUser
            {
                Achievement = achievement,
                User        = user,
                IsApproved  = false,
                VideoId     = dto.VideoId
            };

            return(_repository.Add <AchievementUser>(entity));
        }
 public void DenyAchievement(AchievementUser achievementUser)
 {
     _repository.Delete <AchievementUser>(achievementUser);
 }
 public void ApproveAchievement(AchievementUser achievementUser)
 {
     achievementUser.IsApproved = true;
     _repository.Update <AchievementUser>(achievementUser);
 }