/// <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); } }
/// <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()); } }
public static IComparer <Worker> SortedBy(SortedCriterion Criterion) { if (Criterion == SortedCriterion.Salary) { return(new SortBySalary()); } else { return(new SortByName()); } }
/// <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); }
/// <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); } }
/// <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()); }