public FixedList <ProjectItem> GetWorkOnActivities(ActivityOrderBy orderBy = ActivityOrderBy.Default) { var list = ProjectData.GetNoSummaryActivities(this.FilterAsSql()); list = this.ApplyNoSqlFilter(list); list = this.ApplySort(list, orderBy); return(list.ToFixedList()); }
static public FixedList <ProjectItem> GetWorkOnActivities(ActivityFilter filter, ActivityOrderBy orderBy) { Assertion.Require(filter, "filter"); var finder = new ProjectFinder(filter); FixedList <ProjectItem> activities = finder.GetWorkOnActivities(orderBy); return(activities); }
private List <ProjectItem> ApplySort(List <ProjectItem> list, ActivityOrderBy orderBy) { switch (orderBy) { case ActivityOrderBy.Deadline: return((from item in list orderby item.Deadline, item.Name select item) .ToList()); case ActivityOrderBy.Responsible: var list1 = from item in list where ((Activity)item).Responsible.Id != -1 orderby((Activity)item).Responsible.Alias, item.Deadline, item.Name select item; var list2 = from item in list where ((Activity)item).Responsible.Id == -1 orderby item.Deadline, item.Name select item; return(list1.Concat(list2).ToList()); case ActivityOrderBy.PlannedEndDate: return((from item in list orderby item.PlannedEndDate, item.Name select item) .ToList()); case ActivityOrderBy.ActivityName: return((from item in list orderby item.Name select item) .ToList()); case ActivityOrderBy.Default: default: return((from item in list orderby item.Position, item.Id select item) .ToList()); } }