public void Search(string searched)
        {
            searched = searched.ToLower();
            List <Employees> results = new List <Employees>();

            results = AllEmployees.Where((x) => {
                string initials = x.FirstName.ToLower().Substring(0, 2) + x.LastName.ToLower().Substring(0, 2);
                return(initials.Contains(searched));
            }).ToList();

            List <Employees> results2 = AllEmployees.Where((x) => {
                string fullName = x.FirstName.ToLower() + " " + x.LastName.ToLower();
                string initials = x.FirstName.ToLower().Substring(0, 2) + x.LastName.ToLower().Substring(0, 2);
                //string region = x.Region==null?"Unknown region"
                return(!(initials.Contains(searched)) &&
                       (fullName.Contains(searched) ||
                        x.Country.ToLower() == searched ||
                        x.Region.ToLower() == searched));
            }).ToList();

            foreach (Employees e in results2)
            {
                results.Add(e);
            }

            EmployeeResults = new ObservableCollection <Employees>(results);
        }
        public void ModifyEntity(Employee employee)
        {
            EmployeeDTO employeeDTO = AllEmployees.Where <EmployeeDTO>(x => x.ID == employee.ID).FirstOrDefault();

            if (employeeDTO == null)
            {
                employeeDTO = new EmployeeDTO()
                {
                    ID      = employee.ID,
                    FIO     = employee.FIO,
                    Company = new CompanyDTO {
                        ID = employee.Company.ID, Name = employee.Company.Name
                    }
                };
                AllEmployees.Add(employeeDTO);
            }
            else
            {
                AllEmployees.Remove(employeeDTO);
                employeeDTO = new EmployeeDTO()
                {
                    ID      = employee.ID,
                    FIO     = employee.FIO,
                    Company = new CompanyDTO {
                        ID = employee.Company.ID, Name = employee.Company.Name
                    }
                };
                AllEmployees.Add(employeeDTO);
            }
        }
Beispiel #3
0
 private void DeleteEmployee()
 {
     var selected = AllEmployees.Where(e => e.EmpIsSelected).ToList();
     //// TODO: Если из бд не удалится по какой-то причине, надо об этом сообщить, чтобы из коллекции тоже не удалялось.
     //// Либо после удаления из бд инициировать перезагрузку коллекции.
     //DeleteEmployeeFromDatabase(selected);
     //DeleteEmployeeFromCollection(selected);
 }
Beispiel #4
0
        private void Search()
        {
            string searchText = null;

            if (!string.IsNullOrEmpty(SearchText))
            {
                searchText = SearchText.ToLower().Trim();
                Employees  = new ObservableCollection <Models.Employee>(AllEmployees.Where(x => ($"{x.FirstName} {x.LastName}".ToLower().Contains(searchText)) || (x.Salary.ToString().ToLower().Contains(searchText))));
            }
        }
Beispiel #5
0
        public static IList <T> Find <T>(Func <T, bool> filter) where T : class
        {
            if (typeof(T) == typeof(Department))
            {
                return(AllDepartments.Where(department => filter(department as T)).ToList() as IList <T>);
            }
            if (typeof(T) == typeof(Employee))
            {
                return(AllEmployees.Where(empl => filter(empl as T)).ToList() as IList <T>);
            }

            throw new NotSupportedException("Type not supported");
        }
Beispiel #6
0
 private void Filter()
 {
     Employees = (SelectedDepartment.Equals(TeamName.All) ? AllEmployees : new ObservableCollection <Models.Employee>(AllEmployees.Where(x => x.Team.Equals(SelectedDepartment))));
     this.EmployeeGridTitle = SelectedDepartment == TeamName.All ? "All Employees" : $"{SelectedDepartment.ToString()} Team Employees";
 }
 public EmployeeEntity GetEmployee(int id)
 {
     return(AllEmployees.Where(s => s.EmployeeId == id).FirstOrDefault());
 }
        public async Task SearchForEmployeeAsync(string criteria)
        {
            // First determine if the user is searching by employee ID (int) or name (string)
            int employeeID;

            if (int.TryParse(criteria, out employeeID))
            {
                // Searched by ID
                EmployeeCollection = await Task.Run(() => new BindableCollection <Employee>(AllEmployees.Where(x => x.Id.ToString().Contains(criteria)).ToList()));
            }
            else
            {
                // Searched by name
                // Check if the user cleared the field, and then just display everyone once more
                if (String.IsNullOrEmpty(criteria))
                {
                    EmployeeCollection = new BindableCollection <Employee>(AllEmployees);
                }
                // Otherwise attempt to find employees based on the search value
                else
                {
                    EmployeeCollection = await Task.Run(() => new BindableCollection <Employee>(AllEmployees.Where(x => x.Fullname.ToLower().Contains(criteria.ToLower())).ToList()));
                }
            }
        }