Esempio n. 1
0
        /// <summary>
        /// Возвращает компаратор для заданного критерия сортировки
        /// </summary>
        /// <param name="sortedCriterion">критерий сортировки</param>
        /// <returns></returns>
        public static IComparer <Worker> SortedBy(SortedCriterion sortedCriterion)
        {
            switch (sortedCriterion)
            {
            case SortedCriterion.ID:
                return(new SortByID());

            case SortedCriterion.Name:
                return(new SortByName());

            case SortedCriterion.Post:
                return(new SortByPost());

            case SortedCriterion.Rate:
                return(new SortByRate());

            case SortedCriterion.Salary:
                return(new SortBySalary());

            case SortedCriterion.Hours:
                return(new SortByHours());

            default:
                return(null);
            }
        }
Esempio n. 2
0
 /// <summary>
 /// Компаратор с выбором метода сортировки по критерию
 /// </summary>
 /// <param name="Criterion">Критерий сортировки</param>
 /// <returns></returns>
 public static IComparer <Worker> SortedBy(SortedCriterion Criterion)
 {
     if (Criterion == SortedCriterion.Id)
     {
         return(new SortById());
     }
     else if (Criterion == SortedCriterion.IdDescending)
     {
         return(new SortByIdDescending());
     }
     else if (Criterion == SortedCriterion.Name)
     {
         return(new SortByName());
     }
     else if (Criterion == SortedCriterion.NameDescending)
     {
         return(new SortByNameDescending());
     }
     else if (Criterion == SortedCriterion.Surname)
     {
         return(new SortBySurname());
     }
     else if (Criterion == SortedCriterion.SurnameDescending)
     {
         return(new SortBySurnameDescending());
     }
     else if (Criterion == SortedCriterion.Age)
     {
         return(new SortByAge());
     }
     else if (Criterion == SortedCriterion.AgeDescending)
     {
         return(new SortByAgeDescending());
     }
     else if (Criterion == SortedCriterion.Position)
     {
         return(new SortByPosition());
     }
     else if (Criterion == SortedCriterion.PositionDescending)
     {
         return(new SortByPositionDescending());
     }
     else if (Criterion == SortedCriterion.Salary)
     {
         return(new SortBySalary());
     }
     else if (Criterion == SortedCriterion.SalaryDescending)
     {
         return(new SortBySalaryDescending());
     }
     else if (Criterion == SortedCriterion.Projects)
     {
         return(new SortByProjects());
     }
     else
     {
         return(new SortByProjectsDescending());
     }
 }
Esempio n. 3
0
 public static IComparer <Worker> SortedBy(SortedCriterion Criterion)
 {
     if (Criterion == SortedCriterion.Salary)
     {
         return(new SortBySalary());
     }
     else
     {
         return(new SortByName());
     }
 }
Esempio n. 4
0
        /// <summary>
        /// Сортирует подразделения по заданному критерию
        /// </summary>
        /// <param name="sortedCriterion"></param>
        /// <param name="direction"></param>
        public void SortDepartmentsBy(SortedCriterion sortedCriterion, ListSortDirection direction)
        {
            List <Department> list = new List <Department>(SubDepartments);

            list.Sort(SortedBy(sortedCriterion));
            if (ListSortDirection.Descending == direction)
            {
                list.Reverse();
            }

            SubDepartments = new ObservableCollection <Department>(list);
        }
Esempio n. 5
0
        /// <summary>
        /// Возвращает компаратор для заданного критерия сортировки
        /// </summary>
        /// <param name="sortedCriterion">критерий сортировки</param>
        /// <returns></returns>
        public static IComparer <Department> SortedBy(SortedCriterion sortedCriterion)
        {
            switch (sortedCriterion)
            {
            case SortedCriterion.ID:
                return(new SortByID());

            case SortedCriterion.Name:
                return(new SortByName());

            default:
                return(null);
            }
        }
Esempio n. 6
0
        /// <summary>
        /// Сортировка по критерию
        /// </summary>
        public static IComparer <Employee> SortedBy(SortedCriterion Criterion)
        {
            switch (Criterion)
            {
            case SortedCriterion.FirstName:
                return(new SortByFirstName());

            case SortedCriterion.LastName:
                return(new SortByFirstName());

            case SortedCriterion.Age:
                return(new SortByAge());

            case SortedCriterion.Salary:
                return(new SortBySalary());

            case SortedCriterion.Department:
                return(new SortByDepartment());
            }
            return(new SortByEmployee());
        }