private void ApplyFilter() { AvailableEmployees.Clear(); foreach (var employee in _allEmployees.Where(e => _selectedDepartments.Contains(e.Department) && (string.IsNullOrEmpty(SearchText) || e.Name.ToLower().Contains(SearchText.ToLower())))) { AvailableEmployees.Add(employee); } }
private void LoadCompany(int companyId) { var company = companyId != 0 ? _companyRepository.GetById(companyId) : new Company(); Company = new CompanyWrapper(company); if (companyId == 0) { _companyRepository.Add(company); } Employees.Clear(); AvailableEmployees.Clear(); var employees = _employeeRepository.GetAll(); foreach (var employee in employees) { if (employee.CompanyId == null) { AvailableEmployees.Add(new LookupItem { Id = employee.Id, DisplayMember = employee.LastName + " " + employee.FirstName }); continue; } if (employee.CompanyId != companyId) { continue; } Employees.Add(new LookupItem { Id = employee.Id, DisplayMember = employee.LastName + " " + employee.FirstName }); } Company.PropertyChanged += (s, e) => { if (!IsDirty) { IsDirty = _employeeRepository.HasChanges(); SaveCommand.RaiseCanExecuteChanged(); } if (e.PropertyName == nameof(Company.Name)) { IsDirty = _companyRepository.HasChanges(); SaveCommand.RaiseCanExecuteChanged(); } }; }