ZazoTazo

Lab11 Main

Nov 19th, 2020
260
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 4.62 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 Program
  10.     {
  11.         private static int index = 0;
  12.         static List<Employee> employees = new List<Employee>();
  13.         static EmployeeSort employeeSort = new EmployeeSort();
  14.         static void Main(string[] args)
  15.         {
  16.             //Employee[] arr = new Employee[]
  17.             //{
  18.             //    new Employee{ID = 1, Salary = 50 },
  19.             //    new Employee{ID = 2, Salary = 10 },
  20.             //    new Employee{ID = 3, Salary = 30}
  21.             //};
  22.             //int result = arr[1].CompareTo(arr[2]);
  23.             //Array.Sort(arr);
  24.  
  25.             List<string> menuItems = new List<string>() { "New", "Display", "Sort", "Exit" };
  26.  
  27.             Console.CursorVisible = false;
  28.  
  29.             while (true)
  30.             {
  31.                 string selectedMenuItem = drawMenu(menuItems);
  32.                 if (selectedMenuItem == "New")
  33.                 {
  34.                     Console.Clear();
  35.                     newEmployee();
  36.                 }
  37.                 else if (selectedMenuItem == "Display")
  38.                 {
  39.                     Console.Clear();
  40.                     displayEmployee();
  41.                 }
  42.                 else if (selectedMenuItem == "Sort")
  43.                 {
  44.                     Console.Clear();
  45.                     Console.WriteLine("Choose sorting type:\n1. ID\n2. Name\n3. Salary");
  46.                     int choice = int.Parse(Console.ReadLine());
  47.                     switch (choice)
  48.                     {
  49.                         case 1:
  50.                             employeeSort.sortChoice = EmployeeSort.sortBy.ID;
  51.                             break;
  52.                         case 2:
  53.                             employeeSort.sortChoice = EmployeeSort.sortBy.name;
  54.                             break;
  55.                         case 3:
  56.                             employeeSort.sortChoice = EmployeeSort.sortBy.salary;
  57.                             break;
  58.                         default:
  59.                             Console.WriteLine("Error, invalid choice");
  60.                             break;
  61.                     }
  62.                     employees.Sort(employeeSort);
  63.                 }
  64.                 else if (selectedMenuItem == "Exit")
  65.                 {
  66.                     Environment.Exit(0);
  67.                 }
  68.             }
  69.         }
  70.  
  71.         private static string drawMenu(List<string> items)
  72.         {
  73.             for (int i = 0; i < items.Count; i++)
  74.             {
  75.                 if (i == index)
  76.                 {
  77.                     Console.BackgroundColor = ConsoleColor.Gray;
  78.                     Console.ForegroundColor = ConsoleColor.Black;
  79.                     Console.WriteLine(items[i]);
  80.                 }
  81.                 else
  82.                 {
  83.                     Console.WriteLine(items[i]);
  84.                 }
  85.                 Console.ResetColor();
  86.             }
  87.  
  88.             ConsoleKeyInfo ckey = Console.ReadKey();
  89.  
  90.             if (ckey.Key == ConsoleKey.DownArrow)
  91.             {
  92.                 if (index == items.Count - 1)
  93.                 {
  94.                     //index = 0;
  95.                 }
  96.                 else
  97.                 {
  98.                     index++;
  99.                 }
  100.             }
  101.             else if (ckey.Key == ConsoleKey.UpArrow)
  102.             {
  103.                 if (index <= 0)
  104.                 {
  105.                     //index = menuItems.count - 1;
  106.                 }
  107.                 else
  108.                 {
  109.                     index--;
  110.                 }
  111.             }
  112.             else if (ckey.Key == ConsoleKey.Enter)
  113.             {
  114.                 return items[index];
  115.             }
  116.             else
  117.             {
  118.                 return "";
  119.             }
  120.  
  121.             Console.Clear();
  122.             return "";
  123.         }
  124.  
  125.         static void newEmployee()
  126.         {
  127.             string name;
  128.             int id, salary;
  129.             Console.WriteLine("Enter employee information.");
  130.             Console.Write("ID: "); id = int.Parse(Console.ReadLine());
  131.             Console.Write("Name: "); name = Console.ReadLine();
  132.             Console.Write("Salary: "); salary = int.Parse(Console.ReadLine());
  133.  
  134.             Employee e = new Employee(id, name, salary);
  135.             employees.Add(e);
  136.         }
  137.  
  138.         static void displayEmployee()
  139.         {
  140.             foreach(var employee in employees)
  141.             {
  142.                 Console.WriteLine("Employee ID: {0}\nEmployee Name: {1}\nEmployee Salary: {2}\n", employee.ID, employee.name, employee.salary);
  143.             }
  144.         }
  145.     }
  146. }
  147.  
Add Comment
Please, Sign In to add comment