Exemple #1
0
        private int Compare(object oX, object oY, TaskComparingMethod method)
        {
            var x = (Task) oX;
            var y = (Task) oY;

            switch (method)
            {
                case TaskComparingMethod.LastObserved:
                    {
                        DateTime xtime = x.LastObserved;
                        DateTime ytime = y.LastObserved;

                        if (xtime > ytime)
                        {
                            return -1;
                        }
                        
                        if (xtime < ytime)
                        {
                            return 1;
                        }

                        return 0;
                    }
                case TaskComparingMethod.Relevance:
                    {
                        var xrank = (int) x.MatchRanking(MatchPhrase);
                        var yrank = (int) y.MatchRanking(MatchPhrase);

                        if (xrank > yrank)
                        {
                            return -1;
                        }
                        else if (xrank < yrank)
                        {
                            return 1;
                        }
                        else
                        {
                            return 0;
                        }
                    }
                case TaskComparingMethod.TotalTime:
                    {
                        TimeSpan xtime = TimeSpan.Parse(x.TotalTime);
                        TimeSpan ytime = TimeSpan.Parse(y.TotalTime);

                        if (xtime > ytime)
                        {
                            return -1;
                        }
                        else if (xtime < ytime)
                        {
                            return 1;
                        }
                        else
                        {
                            return 0;
                        }
                    }
            }

            throw new NotImplementedException("Comparison method not implemented!");
        }
Exemple #2
0
 private TaskComparer(TaskComparingMethod method)
 {
     _mainMethod = method;
 }