/// <summary> /// Private helper method to perform a new search or maintain a previous search through /// pagination and filter changes /// </summary> /// <param name="workouts">The base workout query result</param> /// <param name="search">The WorkoutSearch object containing the parameters to search</param> /// <param name="sortBy">The passed sort string if it exists, else null</param> /// <param name="page">The passed page param if it exists, else null</param> /// <param name="session">The Session object to get or set variables from/to</param> /// <param name="viewBag">The viewBag object to pass the set variables back to the view with</param> /// <returns>The searched workouts</returns> public static IQueryable<workout> doSearch(IQueryable<workout> workouts, WorkoutSearch search, string sortBy, int? page, HttpSessionStateBase session, dynamic viewBag) { if (page != null || !String.IsNullOrEmpty(sortBy)) { search = SessionVariableManager.setSearchFromSession(session, search); } else SessionVariableManager.setSessionFromSearch(session, search); if (!String.IsNullOrEmpty(search.name)) workouts = workouts.Where(w => w.name.Contains(search.name)); if (!String.IsNullOrEmpty(search.category)) workouts = workouts.Where(w => w.category.name.Contains(search.category)); if (!String.IsNullOrEmpty(search.username)) workouts = workouts.Where(w => w.user.username.Contains(search.username)); if (!String.IsNullOrEmpty(search.dateAdded)) { string[] dateArrayString = search.dateAdded.Split('-'); int year = Convert.ToInt16(dateArrayString[0]); int month = Convert.ToInt16(dateArrayString[1]); int day = Convert.ToInt16(dateArrayString[2]); workouts = workouts.Where(w => w.created_at.Year == year && w.created_at.Month == month && w.created_at.Day == day); } return workouts; }
public void Initialize() { DbContextHelpers contextHelpers = new DbContextHelpers(); db = contextHelpers.getDbContext(); search = new WorkoutSearch(); myWorkoutsCon = new MyWorkoutsController(db.Object) { ControllerContext = MockContext.AuthenticationContext("jjones") }; myWorkoutsCon.pageSize = 10; ts = new byte[] { 0, 0, 0, 0, 0, 0, 0, 0 }; uWorkout = new user_workout() { id = 1, number_of_ex_completed = 0, workout_id = 1, user_id = 2, timestamp = ts, workout = new workout() { workout_exercise = new List<workout_exercise> { {new workout_exercise()}, {new workout_exercise()}, {new workout_exercise()}, {new workout_exercise()}, } } }; }
public void Initialize() { DbContextHelpers contextHelpers = new DbContextHelpers(); search = new WorkoutSearch(); db = contextHelpers.getDbContext(); controller = new ExerciseController(db.Object) { ControllerContext = MockContext.AuthenticationContext("jjones") }; }
/// <summary> /// Sets the WorkoutSearch object with the stored session search variables if they exist /// </summary> /// <param name="search">The WorkoutSearch object to set</param> /// <returns>The WorkoutSearch object set with the session search variables if the session exists, else the passed in WorkoutSearch object</returns> public static WorkoutSearch setSearchFromSession(HttpSessionStateBase Session, WorkoutSearch search) { if (Session != null) { if (!String.IsNullOrEmpty(Session["NameSearchParam"] as String)) search.name = Session["NameSearchParam"] as String; if (!String.IsNullOrEmpty(Session["CategorySearchParam"] as String)) search.category = Session["CategorySearchParam"] as String; if (!String.IsNullOrEmpty(Session["DateSearchParam"] as String)) search.dateAdded = Session["DateSearchParam"] as String; if (!String.IsNullOrEmpty(Session["UserSearchParam"] as String)) search.username = Session["UserSearchParam"] as String; } return search; }
public void Initialize() { DbContextHelpers contextHelpers = new DbContextHelpers(); search = new WorkoutSearch(); db = contextHelpers.getDbContext(); adminCon = new AdminWorkoutsController(db.Object) { // sign in as admin ControllerContext = MockContext.AuthenticationContext("admin") }; }
public void Initialize() { DbContextHelpers contextHelpers = new DbContextHelpers(); search = new WorkoutSearch(); db = contextHelpers.getDbContext(); controller = new FavoriteWorkoutsController(db.Object) { ControllerContext = MockContext.AuthenticationContext("jjones") }; controller.pageSize = 10; }
/// <summary> /// Sets the session search parameters based on the current search values /// </summary> /// <param name="search">The WorkoutSearch object containing the values to set in the session</param> public static void setSessionFromSearch(HttpSessionStateBase Session, WorkoutSearch search) { if (Session != null) { if (!String.IsNullOrEmpty(search.name)) Session["NameSearchParam"] = search.name; else Session["NameSearchParam"] = ""; if (!String.IsNullOrEmpty(search.category)) Session["CategorySearchParam"] = search.category; else Session["CategorySearchParam"] = ""; if (!String.IsNullOrEmpty(search.dateAdded)) { Session["DateSearchParam"] = search.dateAdded; } else Session["DateSearchParam"] = ""; if (!String.IsNullOrEmpty(search.username)) Session["UserSearchParam"] = search.username; else Session["UserSearchParam"] = ""; } }
//---------------------Private methods------------------------- /// <summary> /// Private helper method to perform a new search or maintain a previous search through /// pagination and filter changes /// </summary> /// <param name="fav_workouts">The base user_favorite_workout query result</param> /// <param name="sortBy">The passed sort string if it exists, else null</param> /// <param name="page">The passed page param if it exists, else null</param> /// <returns>The searched workouts</returns> private IQueryable<user_favorite_workout> doSearch(IQueryable<user_favorite_workout> fav_workouts, WorkoutSearch search, string sortBy, int? page) { if (page != null || !String.IsNullOrEmpty(sortBy)) { search = SessionVariableManager.setSearchFromSession(Session, search); } else SessionVariableManager.setSessionFromSearch(Session, search); if (!String.IsNullOrEmpty(search.name)) fav_workouts = fav_workouts.Where(w => w.workout.name.Contains(search.name)); if (!String.IsNullOrEmpty(search.category)) fav_workouts = fav_workouts.Where(w => w.workout.category.name.Contains(search.category)); if (!String.IsNullOrEmpty(search.username)) fav_workouts = fav_workouts.Where(w => w.workout.user.username.Contains(search.username)); if (!String.IsNullOrEmpty(search.dateAdded)) { string[] dateArrayString = search.dateAdded.Split('-'); int year = Convert.ToInt16(dateArrayString[0]); int month = Convert.ToInt16(dateArrayString[1]); int day = Convert.ToInt16(dateArrayString[2]); fav_workouts = fav_workouts.Where(w => w.workout.created_at.Year == year && w.workout.created_at.Month == month && w.workout.created_at.Day == day); } return fav_workouts; }
public ActionResult Index(string sortBy, int? page, WorkoutSearch workoutSearch) { currUserId = userAccess.getUserId(User.Identity.Name); var user_favorite_workouts = from w in db.user_favorite_workout where w.user_id == currUserId select w; user_favorite_workouts = this.doSearch(user_favorite_workouts, workoutSearch, sortBy, page); user_favorite_workouts = this.doSort(user_favorite_workouts, sortBy); int pageNumber = (page ?? 1); return View("Index", user_favorite_workouts.ToPagedList(pageNumber, pageSize)); }
public ActionResult Index(string filterString, string sortBy, int? page, WorkoutSearch workoutSearch) { currUserId = db.users.Where(a => a.username.Equals(User.Identity.Name)).FirstOrDefault().id; var user_workouts = from w in db.user_workout where w.user_id == currUserId select w; user_workouts = this.doFilter(user_workouts, filterString); user_workouts = this.doSearch(user_workouts, workoutSearch, filterString, sortBy, page); user_workouts = this.doSort(user_workouts, sortBy); int pageNumber = (page ?? 1); var view = View("Index", user_workouts.ToPagedList(pageNumber, pageSize)); return view; }
public ActionResult Index(string sortBy, int? page, WorkoutSearch workoutSearch) { var workouts = from w in db.workouts select w; workouts = WorkoutSortSearch.doSearch(workouts, workoutSearch, sortBy, page, Session, ViewBag); workouts = WorkoutSortSearch.doSort(workouts, sortBy, Session, ViewBag); int pageNumber = (page ?? 1); var view = View("Index", workouts.ToPagedList(pageNumber, pageSize)); return view; }