예제 #1
0
 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);
     }
 }
예제 #2
0
        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();
                }
            };
        }