Exemplo n.º 1
0
        /// <summary>
        /// Get the list that has been grouped by whether user has bought or teached.
        /// </summary>
        /// <returns>
        /// A list contains two GroupInfoList, one is attending list, another
        /// is teaching list.
        /// </returns>
        internal List <GroupInfoList <object> > GetGroupsByAttendingOrTeaching()
        {
            List <GroupInfoList <object> > groups = new List <GroupInfoList <object> >();

            GroupInfoList <object> attending = new GroupInfoList <object>();
            GroupInfoList <object> teaching  = new GroupInfoList <object>();

            attending.Key = "Attending";
            teaching.Key  = "Teaching";

            foreach (Course g in Collection)
            {
                if (g.IsBuy)
                {
                    attending.Add(g);
                }
                if (g.IsTeach)
                {
                    teaching.Add(g);
                }
            }

            groups.Add(attending);
            groups.Add(teaching);

            return(groups);
        }
Exemplo n.º 2
0
        /// <summary>
        /// Gets the search result group.
        /// </summary>
        /// <param name="searchCount">The search count.</param>
        /// <returns></returns>
        internal List <GroupInfoList <object> > GetSearchResultGroup(string searchCount)
        {
            List <GroupInfoList <object> > group = new List <GroupInfoList <object> >();

            GroupInfoList <object> searchResult = new GroupInfoList <object>();

            searchResult.Key = searchCount + " Result";

            foreach (Course g in Collection)
            {
                searchResult.Add(g);
            }

            group.Add(searchResult);

            return(group);
        }
Exemplo n.º 3
0
        //internal List<GroupInfoList<object>> GetSearchResultBySearchString(string searchString)
        //{
        //    List<GroupInfoList<object>> group = new List<GroupInfoList<object>>();


        //}

        /// <summary>
        /// Get the single group classified by the category Title.
        /// </summary>
        /// <param name="categoryTitle">The category title.</param>
        /// <returns>
        /// A list only contain a single GroupInfoList, which contain the
        /// elements that had been grouped.
        /// </returns>
        internal List <GroupInfoList <object> > GetSingleGroupByCategoryTitle(string categoryTitle)
        {
            List <GroupInfoList <object> > group = new List <GroupInfoList <object> >();

            var query = from course in Collection
                        where ((Course)course).Category == categoryTitle
                        group course by((Course)course).Category into g
                        select new { GroupTitle = g.Key, Courses = g };

            foreach (var g in query)
            {
                GroupInfoList <object> info = new GroupInfoList <object>();
                info.Key = g.GroupTitle;
                foreach (var course in g.Courses)
                {
                    info.Add(course);
                }
                group.Add(info);
            }

            return(group);
        }
Exemplo n.º 4
0
        /// <summary>
        /// Get the list that has been grouped by the category.
        /// </summary>
        /// <returns>
        /// A list of GroupInfoList, each GroupInfoList contains the data
        /// classified according to the category.
        /// </returns>
        internal List <GroupInfoList <object> > GetGroupsByCategory()
        {
            List <GroupInfoList <object> > groups = new List <GroupInfoList <object> >();

            var query = from course in Collection
                        group course by((Course)course).Category into g
                        select new { GroupTitle = g.Key, Courses = g };

            foreach (var g in query)
            {
                GroupInfoList <object> info = new GroupInfoList <object>();
                info.Key = g.GroupTitle;
                if (Constants.CategoryNameList.Contains(info.Key))
                {
                    info.CategoryImg = "ms-appx:///Images/Category/" + info.Key + ".jpg";
                }
                else
                {
                    info.CategoryImg = Constants.RecUriDic[info.Key as string];
                }

                Random ran    = new Random();
                int    random = ran.Next(3, 6);
                int    size   = 0;
                if (random > g.Courses.Count())
                {
                    size = g.Courses.Count();
                }
                else
                {
                    size = random;
                }

                switch (size)
                {
                case 1:
                {
                    (g.Courses.ElementAt(0) as Course).ItemContainerType = GridViewItemContainerType.SquareGridViewItemContainerSize;
                    break;
                }

                case 2:
                {
                    (g.Courses.ElementAt(0) as Course).ItemContainerType = GridViewItemContainerType.DoubleHeightGridViewItemContainerSize;
                    (g.Courses.ElementAt(1) as Course).ItemContainerType = GridViewItemContainerType.DoubleHeightGridViewItemContainerSize;
                    break;
                }

                case 3:
                {
                    (g.Courses.ElementAt(0) as Course).ItemContainerType = GridViewItemContainerType.DefaultGridViewItemContainerSize;
                    (g.Courses.ElementAt(1) as Course).ItemContainerType = GridViewItemContainerType.DefaultGridViewItemContainerSize;
                    (g.Courses.ElementAt(2) as Course).ItemContainerType = GridViewItemContainerType.SquareGridViewItemContainerSize;
                    break;
                }

                case 4:
                {
                    (g.Courses.ElementAt(0) as Course).ItemContainerType = GridViewItemContainerType.DoubleWidthGridViewItemContsinerSize;
                    (g.Courses.ElementAt(1) as Course).ItemContainerType = GridViewItemContainerType.DoubleHeightGridViewItemContainerSize;
                    (g.Courses.ElementAt(2) as Course).ItemContainerType = GridViewItemContainerType.DefaultGridViewItemContainerSize;
                    (g.Courses.ElementAt(3) as Course).ItemContainerType = GridViewItemContainerType.DefaultGridViewItemContainerSize;
                    break;
                }

                case 5:
                {
                    (g.Courses.ElementAt(0) as Course).ItemContainerType = GridViewItemContainerType.DefaultGridViewItemContainerSize;
                    (g.Courses.ElementAt(1) as Course).ItemContainerType = GridViewItemContainerType.DefaultGridViewItemContainerSize;
                    (g.Courses.ElementAt(2) as Course).ItemContainerType = GridViewItemContainerType.DoubleWidthGridViewItemContsinerSize;
                    (g.Courses.ElementAt(3) as Course).ItemContainerType = GridViewItemContainerType.DefaultGridViewItemContainerSize;
                    (g.Courses.ElementAt(4) as Course).ItemContainerType = GridViewItemContainerType.DefaultGridViewItemContainerSize;
                    break;
                }

                case 6:
                {
                    (g.Courses.ElementAt(0) as Course).ItemContainerType = GridViewItemContainerType.DoubleHeightGridViewItemContainerSize;
                    (g.Courses.ElementAt(1) as Course).ItemContainerType = GridViewItemContainerType.DefaultGridViewItemContainerSize;
                    (g.Courses.ElementAt(2) as Course).ItemContainerType = GridViewItemContainerType.DefaultGridViewItemContainerSize;
                    (g.Courses.ElementAt(3) as Course).ItemContainerType = GridViewItemContainerType.DoubleWidthGridViewItemContsinerSize;
                    (g.Courses.ElementAt(4) as Course).ItemContainerType = GridViewItemContainerType.DefaultGridViewItemContainerSize;
                    (g.Courses.ElementAt(5) as Course).ItemContainerType = GridViewItemContainerType.DefaultGridViewItemContainerSize;
                    break;
                }
                }
                for (int i = 0; i < size; ++i)
                {
                    var c = g.Courses.ElementAt(i);
                    info.Add(c);
                }
                groups.Add(info);
            }

            return(groups);
        }