Exemple #1
0
        public ActionResult ViewTasks()
        {
            ViewBag.Massage = "Tasks list";
            int id;

            if (Session["UserID"] == null)
            {
                id = 0;
            }
            else
            {
                id = Convert.ToInt32(Session["UserID"]);
            }
            var data = LoadTasks(id);
            List <TaskModel> tasks = new List <TaskModel>();

            foreach (var row in data)
            {
                tasks.Add(new TaskModel
                {
                    Id           = row.Id,
                    TaskName     = row.TaskName,
                    TaskPriority = row.TaskPriority,
                    TaskStatus   = row.TaskStatus,
                    TaskDeadline = row.TaskDeadline,
                    TaskDetails  = row.TaskDetails
                });
            }
            /* zobaczymy */
            SortingPagingInfoModel info = new SortingPagingInfoModel
            {
                SortField        = "Id",
                SortDirection    = "ascending",
                PageSize         = 10,
                CurrentPageIndex = 0
            };

            info.PageCount            = Convert.ToInt32(Math.Ceiling(((double)(tasks.Count() / (double)info.PageSize))));
            tasks                     = tasks.OrderBy(t => t.Id).Take(info.PageSize).ToList();
            ViewBag.SortingPagingInfo = info;
            return(View(tasks));
        }
Exemple #2
0
        public ActionResult ViewTasks(SortingPagingInfoModel info)
        {
            ViewBag.Massage = "Tasks list";
            int id;

            if (Session["UserID"] == null)
            {
                id = 0;
            }
            else
            {
                id = Convert.ToInt32(Session["UserID"]);
            }
            var data = LoadTasks(id);
            List <TaskModel> tasks = new List <TaskModel>();

            foreach (var row in data)
            {
                tasks.Add(new TaskModel
                {
                    Id           = row.Id,
                    TaskName     = row.TaskName,
                    TaskPriority = row.TaskPriority,
                    TaskStatus   = row.TaskStatus,
                    TaskDeadline = row.TaskDeadline,
                    TaskDetails  = row.TaskDetails
                });
            }
            info.PageCount = Convert.ToInt32(Math.Ceiling(((double)(tasks.Count() / (double)info.PageSize))));
            if (info.PageCount == 1)
            {
                info.CurrentPageIndex = 0;
            }
            switch (info.SortField)
            {
            case "Id":
                tasks = (info.SortDirection == "ascending" ?
                         tasks.OrderBy(t => t.Id).ToList() :
                         tasks.OrderByDescending(t => t.Id).ToList());
                break;

            case "TaskName":
                tasks = (info.SortDirection == "ascending" ?
                         tasks.OrderBy(t => t.TaskName).ToList() :
                         tasks.OrderByDescending(t => t.TaskName).ToList());
                break;

            case "TaskPriority":
                tasks = (info.SortDirection == "ascending" ?
                         tasks.OrderBy(t => t.TaskPriority).ToList() :
                         tasks.OrderByDescending(t => t.TaskPriority).ToList());
                break;

            case "TaskStatus":
                tasks = (info.SortDirection == "ascending" ?
                         tasks.OrderBy(t => t.TaskStatus).ToList() :
                         tasks.OrderByDescending(t => t.TaskStatus).ToList());
                break;

            case "TaskDeadline":
                tasks = (info.SortDirection == "ascending" ?
                         tasks.OrderBy(t => t.TaskDeadline).ToList() :
                         tasks.OrderByDescending(t => t.TaskDeadline).ToList());
                break;
            }
            tasks = tasks.Skip(info.CurrentPageIndex * info.PageSize).Take(info.PageSize).ToList();
            ViewBag.SortingPagingInfo = info;
            return(View(tasks));
        }