Advertisement
ZazoTazo

Lab11 Employee

Nov 19th, 2020
712
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.88 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6.  
  7. namespace Project_1
  8. {
  9.     class Employee : Human
  10.     {
  11.         public int ID;
  12.         public float salary;
  13.  
  14.         public Employee(int id, string name, float salary)
  15.         {
  16.             this.name = name;
  17.             ID = id;
  18.             this.salary = salary;
  19.         }
  20.  
  21.         //for icomparable
  22.         //public int CompareTo(object obj)
  23.         //{
  24.         //    Employee e = (Employee)obj;
  25.         //    //return (this.Salary.CompareTo(e.Salary));
  26.         //    if (this.salary == e.salary)
  27.         //    {
  28.         //        return 0;
  29.         //    }
  30.         //    else
  31.         //    {
  32.         //        if (this.salary < e.salary)
  33.         //        {
  34.         //            return -1;
  35.         //        }
  36.         //        else
  37.         //        {
  38.         //            return 1;
  39.         //        }
  40.         //    }
  41.         //}
  42.  
  43.         //public int CompareTo(Employee other)
  44.         //{
  45.         //    return salary.CompareTo(other.salary);
  46.         //}
  47.     }
  48.  
  49.     class EmployeeSort : IComparer<Employee>
  50.     {
  51.         public enum sortBy
  52.         {
  53.             ID,
  54.             name,
  55.             salary
  56.         }
  57.         public sortBy sortChoice = sortBy.salary;
  58.         public int Compare(Employee x, Employee y)
  59.         {
  60.             switch (sortChoice)
  61.             {
  62.                 case sortBy.ID:
  63.                     return x.ID.CompareTo(y.ID);
  64.                 case sortBy.name:
  65.                     return x.name.CompareTo(y.name);
  66.                 case sortBy.salary:
  67.                     return x.salary.CompareTo(y.salary);
  68.                 default:
  69.                     Console.WriteLine("Error, invalid choice");
  70.                     break;
  71.             }
  72.             return x.salary.CompareTo(y.salary);
  73.         }
  74.     }
  75. }
  76.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement