public int CompareTo(Employee other, EmployeeComparer.ComparisonType which)
        {
            switch (which)
            {
            case EmployeeComparer.ComparisonType.Name:
                return(this.Name.CompareTo(other.Name));

            case EmployeeComparer.ComparisonType.Number:
                return(this.Number.CompareTo(other.Number));

            case EmployeeComparer.ComparisonType.Rate:
                return(other.Rate.CompareTo(this.Rate));

            case EmployeeComparer.ComparisonType.Hours:
                return(other.Hours.CompareTo(this.Hours));

            case EmployeeComparer.ComparisonType.Gross:
                return(other.Gross.CompareTo(this.Gross));
            }
            return(0);
        }
Beispiel #2
0
        /// <summary>
        /// Compares right hand side to employee whichComparison
        /// </summary>
        /// <param name="rhs">Employee to compare</param>
        /// <param name="whichComparison">Which property to compare with</param>
        /// <returns>value to indicate greater, less, or equal</returns>
        public int CompareTo(Employee rhs, EmployeeComparer.ComparisonType whichComparison)
        {
            switch (whichComparison)
            {
            case EmployeeComparer.ComparisonType.Name:
                return(Name.CompareTo(rhs.Name));

            case EmployeeComparer.ComparisonType.Number:
                return(Number.CompareTo(rhs.Number));

            case EmployeeComparer.ComparisonType.Rate:
                return(Rate.CompareTo(rhs.Rate) * -1);    //*-1 to sort descending

            case EmployeeComparer.ComparisonType.Hours:
                return(Hours.CompareTo(rhs.Hours) * -1);    //*-1 to sort descending

            case EmployeeComparer.ComparisonType.Gross:
                return(Gross.CompareTo(rhs.Gross) * -1);    //*-1 to sort descending
            }
            return(0);
        }