Inheritance: Employee, ICourses
 private void addEmployee_MouseUp(object sender, MouseButtonEventArgs e)
 {
     string firstName = firstNameInput.Text;
     string lastName = lastNameInput.Text;
     string egn = egnInput.Text;
     Position position = (Position)positionComboBox.SelectedItem;
     ContractType type = (ContractType)contractTypeComboBox.SelectedItem;
     decimal salary = (decimal)SliderGrade.Value;
     int rating = 1;
     // Get the object with Max ID
     var maxIdEmEmployee = _employeeContainer.EmployeesList.Aggregate((seed, f) => f.Id > seed.Id ? f : seed); // IT is magic but works - don't know how, dont' touch it please :)
     int id = maxIdEmEmployee.Id + 1;
     Employee newEmployee;
     switch (position)
     {
         case Position.Unknown:
             throw new ArgumentException("Please Select Valid Position Type");
         case Position.Principal:
             newEmployee = new Principal(firstName, lastName, egn, type, id, salary, rating);
             break;
         case Position.Administrator:
             newEmployee = new Administrator(firstName, lastName, egn, type, id, salary, rating);
             break;
         case Position.Teacher:
             newEmployee = new Teacher(firstName, lastName, egn, type, id, salary, rating);
             break;
         //case Position.Support:
         //    newEmployee = new Support(firstName, lastName, egn, type, id);
         //    break;
         case Position.Hygienist:
             newEmployee = new Hygienist(firstName, lastName, egn, type, id, salary, rating);
             break;
         default:
             newEmployee = new Teacher(firstName, lastName, egn, type, id, salary, rating);
             break;
     }
     _employeeContainer.Add(newEmployee);
     this.Close();
 }
        public EmployeesView(Employee employee)
        { 
            InitializeComponent();
            _employee = employee;

            this.firstName.Text = _employee.FirstName;
            this.lastName.Text = _employee.LastName;
            this.tbxIDNumber.Text = _employee.Id.ToString();
            this.homeTown.Text = _employee.HomeTown;

            if (_employee is Teacher)
            {
                _teacher = (Teacher)_employee;
                this.rank.Text = _teacher.Rank.ToString();
                lvCourses.ItemsSource = _teacher.CoursesList;
            }
            else
            {
 //               promoteBtn.Visibility = System.Windows.Visibility.Hidden;
                addBtn.Visibility = System.Windows.Visibility.Hidden;
                addCourseButton.Visibility = System.Windows.Visibility.Hidden;
                tabMain.Visibility = System.Windows.Visibility.Hidden;
            }
        }