Example #1
0
        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());
        }
Example #2
0
        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);
        }
Example #3
0
        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());
            }
        }