예제 #1
0
 private void SetOrder(CodeCoverageOrder order)
 {
     if (Order == order)
     {
         OrderDescending = !OrderDescending;
     }
     else
     {
         Order = order;
     }
 }
예제 #2
0
        public object Convert(object[] values, Type targetType, object parameter, System.Globalization.CultureInfo culture)
        {
            if (values.Length < 2 ||
                !(values[0] is IEnumerable <IFolderNodeViewModel>) ||
                !(values[1] is CodeCoverageOrder) ||
                !(values[2] is bool)
                )
            {
                return(null);
            }
            IEnumerable <IFolderNodeViewModel> viewModels = values[0] as IEnumerable <IFolderNodeViewModel>;

            CodeCoverageOrder coverageOrder = (CodeCoverageOrder)values[1];

            if ((bool)values[2])
            {
                switch (coverageOrder)
                {
                case CodeCoverageOrder.Description:
                    return(viewModels.OrderByDescending(n => n.Description));

                case CodeCoverageOrder.Missed:
                    return(viewModels.OrderByDescending(n => n.MissedLines));

                case CodeCoverageOrder.MissedPercentage:
                    return(viewModels.OrderByDescending(n => n.MissedLinesPercentage));

                case CodeCoverageOrder.Covered:
                    return(viewModels.OrderByDescending(n => n.CoveredLines));

                case CodeCoverageOrder.CoveredPercentage:
                    return(viewModels.OrderByDescending(n => n.CoveredLinesPercentage));

                case CodeCoverageOrder.Total:
                    return(viewModels.OrderByDescending(n => n.TotalLines));
                }
            }
            else
            {
                switch (coverageOrder)
                {
                case CodeCoverageOrder.Description:
                    return(viewModels.OrderBy(n => n.Description));

                case CodeCoverageOrder.Missed:
                    return(viewModels.OrderBy(n => n.MissedLines));

                case CodeCoverageOrder.MissedPercentage:
                    return(viewModels.OrderBy(n => n.MissedLinesPercentage));

                case CodeCoverageOrder.Covered:
                    return(viewModels.OrderBy(n => n.CoveredLines));

                case CodeCoverageOrder.CoveredPercentage:
                    return(viewModels.OrderBy(n => n.CoveredLinesPercentage));

                case CodeCoverageOrder.Total:
                    return(viewModels.OrderBy(n => n.TotalLines));
                }
            }
            return(null);
        }