public IList<FullItemModel> Get(string sort, bool des, ListModel model)
        {
            //should be in the controller for checking usage.
            if (model.TaskId != null)
            {
                Task task = session.Load<Task>(model.TaskId);
                FullItemModel item = new FullItemModel();
                item.FilledBy(task);
                return new List<FullItemModel> { item };
            }

            IList<FullItemModel> models = new List<FullItemModel>();

            Project current = session.Load<Project>(model.CurrentProject.TailSelectedProject.Id);
            IList<int> allProjectIds = current.GetDescendantIds();

            var tasks = _querySource
                .Get(model, allProjectIds)
                .Sort(sort, des)
                .Paged(model.Pager);

            foreach (var task in tasks)
            {
                FullItemModel item = new FullItemModel();
                item.FilledBy(task);
                models.Add(item);
            }

            return models;
        }
        public FullItemModel Get(int taskId)
        {
            Task task = session.Load<Task>(taskId);
            FullItemModel model = new FullItemModel();
            model.FilledBy(task);

            model.Project = new FFLTask.SRV.ViewModel.Project.FullItemModel();
            model.Project.FilledBy(task.Project);

            return model;
        }