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)); }
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)); }