/// <summary> /// lists all workouts /// </summary> /// <param name="publicOnly">indicates whether only public workouts are listet or non public workouts, aswell</param> /// <returns>List of workouts</returns> public IEnumerable<ml_WorkoutPlan> List(bool publicOnly, WorkoutSearchViewModel searchParam, out int workoutCount) { return List(-1, publicOnly, searchParam, out workoutCount); }
/// <summary> /// get list of workouts /// </summary> /// <param name="userID">ID of user whose workouts are listet. -1 for all users.</param> /// <param name="publicOnly">Indicates if only public workouts are listed or also non public ones.</param> /// <param name="searchParam">WorkoutSearchViewModel with the data from the filter form</param> /// <param name="workoutCount">out param. Gives the total number of workouts</param> /// <returns>List of WorkoutPlanModels</returns> private IEnumerable<ml_WorkoutPlan> List(int userID, bool publicOnly, WorkoutSearchViewModel searchParam, out int workoutCount) { workoutCount = (from p in _repo.GetAll() where (userID == -1 || p.UserID == userID) && p.Deleted == 0 && (!publicOnly || p.Public == 1) select p).Count(); var result = from p in _repo.GetAll() where (userID == -1 || p.UserID == userID) && p.Deleted == 0 && (!publicOnly || p.Public == 1) select p; if (searchParam != null && !String.IsNullOrEmpty(searchParam.Keywords)) { string[] keywords = searchParam.Keywords.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries); foreach (string keyword in keywords) { string tmp = keyword; result = result.Where(p => p.PlanName.Contains(keyword) || p.ml_User.userName.Contains(keyword)); } } if (searchParam != null && searchParam.NumWorkouts > 0) { result = result.Where(p => p.NumWorkouts == searchParam.NumWorkouts); } result = result.OrderByDescending(p => p.CRDT); return result; }
public ActionResult ListAll(WorkoutSearchViewModel model) { TempData["workoutSearchKeywords"] = model.Keywords; TempData["workoutSearchNumWorkouts"] = model.NumWorkouts; int workoutCount = 0; IEnumerable<ml_WorkoutPlan> workouts = _workoutService.List(true, model, out workoutCount); ViewData["WorkoutCount"] = workoutCount; return PartialView("_ListAll", workouts); }