/// <summary> /// Заполняет модель данными /// </summary> private void FillTasks(FormCollection collection, int id, string cookiePage, bool isArchive) { // Получаем данные либо из запроса либо из кук, в зависимости от типа действия TaskFilter filter = _FilterUtility.GetCurrentFilter(id, !isArchive, collection); if (isArchive && filter.SortType == TasksSortType.ByStatus) { filter.SortType = TasksSortType.ByName; } #region Подготавливаем данные int page; if (collection["Page"] == null) { page = Cookies.GetFromCookies(cookiePage).TryToInt(1); // Сюда попадаем при фильтрации, при пейджинге не попадаем // Запоминаем фильтры пользователя _FilterUtility.SaveFilterToCookies(id, collection); } else { page = collection["Page"].TryToInt(1); Cookies.AddToCookie(cookiePage, page.ToString()); } // Данные для отображения List <ITask> tasks = isArchive ? Utility.Tasks.GetFromArchive(filter) : Utility.Tasks.Get(filter); var pagedTasks = new PagedTasks(page, tasks); ViewData.Model = pagedTasks.Tasks; ViewData.Add("Page", page); ViewData.Add("TotalItems", pagedTasks.TotalCount); ViewData.Add("isArchive", isArchive); #endregion }
public PartialViewResult StatusTasks(int boardId, int statusId, int?page) { var filter = _FilterUtility.GetCurrentFilter(boardId, false); filter.Statuses = new[] { statusId }; IEnumerable <ITask> tasks = Utility.Tasks.Get(filter); #region Задачи для отображения и пейджинга // Пейджинг if (!page.HasValue) { page = 1; } var pagedTasks = new PagedTasks(page.Value, tasks); #endregion ViewData.Model = pagedTasks; return(PartialView("StatusTasks")); }