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