예제 #1
0
        public IActionResult Index(ToDoFilterModel filter, SimplePagerModel pager)
        {
            var userId    = User.GetLoggedInUserId <string>();
            var isTeacher = User.IsTeacher();

            var model = new ToDoViewModel();

            if (isTeacher)
            {
                model = _toDoModelFactory.PrepareTeacherToDoViewModel(filter, pager, userId);
            }
            else
            {
                model = _toDoModelFactory.PrepareToDoViewModel(filter, pager, userId);
            }

            return(View(model));
        }
예제 #2
0
        public ToDoViewModel PrepareTeacherToDoViewModel(ToDoFilterModel filter, SimplePagerModel pager, string userId)
        {
            var pagedList = _toDoService.SearchTeacherToDos(
                subjects: filter.Subjects,
                deadline: filter.Deadline,
                name: filter.Name,
                statusId: filter.StatusId,
                pageIndex: pager.PageIndex, pageSize: pager.PageSize > 0 ? pager.PageSize : Constants.Paging.DefaultPageSize, userId);

            var toDoListModel = new ToDoViewModel
            {
                ToDoItems = pagedList.Select(PrepareToDoModel).ToList(),
                Paging    = PagerExtensions.ToSimplePagerModel(pagedList),
                Statuses  = EnumHelpers.GetEnumKeyValuePairList <TaskStatus>(),
                Filter    = filter,
            };

            return(toDoListModel);
        }
예제 #3
0
        public JsonResult GetToDos(ToDoFilterModel filter, SimplePagerModel pager)
        {
            var userId    = User.GetLoggedInUserId <string>();
            var isTeacher = User.IsTeacher();

            var model = new ToDoViewModel();

            if (isTeacher)
            {
                model = _toDoModelFactory.PrepareTeacherToDoViewModel(filter, pager, userId);
            }
            else
            {
                model = _toDoModelFactory.PrepareToDoViewModel(filter, pager, userId);
            }

            return(CreateJsonResult(true, new
            {
                ToDos = model.ToDoItems,
                Pager = model.Paging
            }));
        }