Esempio n. 1
0
        //Фильтр по зарплате
        public bool SalaryFilter(Employee employee, FilterClass filterParams)
        {
            if (filterParams.More && filterParams.Less)
            {
                if (employee.Salary > filterParams.Salary && employee.Salary < filterParams.MaxSalary)
                {
                    return(true);
                }
            }
            else
            {
                if (filterParams.More)
                {
                    if (employee.Salary > filterParams.Salary)
                    {
                        return(true);
                    }
                }
                if (filterParams.Less)
                {
                    if (employee.Salary < filterParams.Salary)
                    {
                        return(true);
                    }
                }
            }

            return(false);
        }
Esempio n. 2
0
        //Фильтрация сотрудников
        public List <Employee> EmployeeFilter(Filter filter, FilterClass filterParams)
        {
            List <Employee> emps = new List <Employee>();

            foreach (var elem in Employees)
            {
                if (filter(elem, filterParams))
                {
                    emps.Add(elem);
                }
            }

            return(emps);
        }
Esempio n. 3
0
 //Проверка и вызов фильтра по одной стороне (простой)
 private bool CheckAndCallSimpleFilter(string strSalary, out List <Employee> employees)
 {
     if (double.TryParse(strSalary, out double salary))
     {
         var filterObj = new FilterClass(moreFilter, lessFilter, salary);
         employees = CallFilter(filterObj);
         return(true);
     }
     else
     {
         employees = null;
         return(false);
     }
 }
Esempio n. 4
0
 //Проверка и вызов фильтра по диапазону
 private bool CheckAndCallRangeFilter(string strSalary, string strMaxSalary, out List <Employee> employees)
 {
     if (double.TryParse(strSalary, out double minSalary) && double.TryParse(strMaxSalary, out double maxSalary))
     {
         var filterObj = new FilterClass(minSalary, maxSalary);
         employees = CallFilter(filterObj);
         return(true);
     }
     else
     {
         employees = null;
         return(false);
     }
 }
Esempio n. 5
0
        //Вызов фильтра
        private List <Employee> CallFilter(FilterClass filterObj)
        {
            var tempList = list;

            return(tempList.EmployeeFilter(tempList.SalaryFilter, filterObj));
        }