Beispiel #1
0
        private List <TabularItemNode> Sort(CacheFieldNode cacheField, SharedItemsCollection cacheItems)
        {
            // Sort the fields according to their types.
            IComparer <string> comparer = null;

            if (this.TabularDataNode.CustomListSort && cacheField.IsDateGrouping)
            {
                if (cacheField.FieldGroup.GroupBy == PivotFieldDateGrouping.Months)
                {
                    comparer = new MonthComparer();
                }
                else if (cacheField.FieldGroup.GroupBy == PivotFieldDateGrouping.Days)
                {
                    comparer = new DayComparer();
                }
            }
            else
            {
                comparer = new NaturalComparer();
            }

            // Sort the slicer cache items.
            if (this.TabularDataNode.SortOrder == SortOrder.Descending)
            {
                return(this.TabularDataNode.Items.OrderByDescending(t => cacheItems[t.AtomIndex].Value, comparer).ToList());
            }
            return(this.TabularDataNode.Items.OrderBy(t => cacheItems[t.AtomIndex].Value, comparer).ToList());
        }
        public void ShouldReturnFalseWhenDayIsNotToday()
        {
            var dayCompare = new DayComparer();

            Assert.False(dayCompare.Compare(DateTime.UtcNow.AddDays(-1).DayOfWeek));
        }
        public void ShouldReturnTrueWhenDayIsToday()
        {
            var dayCompare = new DayComparer();

            Assert.True(dayCompare.Compare(DateTime.UtcNow.DayOfWeek));
        }