Пример #1
0
        /// <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));
        }
Пример #10
0
        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;
        }
Пример #11
0
        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;
        }