Exemple #1
0
        public WorkoutPreviewViewModel GetWorkoutPreviewById(string id)
        {
            var workoutExpression = new WorkoutRoutineByIdWithIncludes(id);
            var workout           = _repository.GetBy <WorkoutRoutine>(workoutExpression);

            return(new WorkoutPreviewViewModel
            {
                Id = workout.Id,
                AvatarUrl = _userService.GetAvatar(workout.Creator.Username),
                Creator = workout.Creator.Username,
                Days = workout.WorkoutDays.Count,
                Title = _userService.GetTitleForAchievementPoints(workout.Creator.AchievementPoints).Name,
                WorkoutName = workout.Name,
                WorkoutRoutine = workout
            });
        }
Exemple #2
0
        public IEnumerable <WorkoutPreviewViewModel> GetAllWorkoutsPreview()
        {
            var expression = new WorkoutRoutineByIdWithIncludes();
            var workouts   = _repository.List <WorkoutRoutine>(expression);

            return(workouts.Where(x => x.IsPublic == true).Select(x => new WorkoutPreviewViewModel
            {
                Id = x.Id,
                Creator = x.Creator.Username,
                Days = x.WorkoutDays.Count,
                WorkoutName = x.Name,
                AvatarUrl = _userService.GetAvatar(x.Creator.Username),
                Title = _userService.GetTitleForAchievementPoints(x.Creator.AchievementPoints).Name,
                WorkoutRoutine = x,
                TimesUsed = x.TimesCopied.Count
            }).ToList());
        }
Exemple #3
0
        public void AddWorkoutUse(string workoutId, string username)
        {
            var expression = new WorkoutRoutineByIdWithIncludes(workoutId);
            var workout    = _repository.GetBy <WorkoutRoutine>(expression);
            var user       = _userService.GetMainUserByUsername(username);

            if (workout.TimesCopied.Any(x => x.UserId == user.Id))
            {
                return;
            }

            var timesCopiedEntity = new CopiedWorkoutsFromUsers
            {
                User           = user,
                WorkoutRoutine = workout
            };

            _repository.Add <CopiedWorkoutsFromUsers>(timesCopiedEntity);

            return;
        }