Esempio n. 1
0
        /// <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
        }
Esempio n. 2
0
        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"));
        }