public SKUDViewModel() { Filter = new EmployeeFilter(); SelectedEmployee = Employees.FirstOrDefault(); ShowFilterCommand = new RelayCommand(OnShowFilter); //RemoveCommand = new RelayCommand(OnRemove, CanEditDelete); //EditCommand = new RelayCommand(OnEdit, CanEditDelete); }
public IEnumerable<Employee> GetEmployees(EmployeeFilter filter) { try { var employees = new List<Employee>(); var databaseEmployees = Context.Employee.ToList().Where(x => IsInFilter(x, filter)).ToList(); databaseEmployees.ForEach(x => employees.Add(Translator.Translate(x))); return employees; } catch { return new List<Employee>(); } }
public EmployeeFilterViewModel(EmployeeFilter filter) { Title = "Настройки фмльтра"; Filter = filter; ClearCommand = new RelayCommand(OnClear); SaveCommand = new RelayCommand(OnSave); CancelCommand = new RelayCommand(OnCancel); Departments = new List<FilterDepartmentViewModel>(); var departments = FiresecManager.GetDepartments(null).ToList(); departments.ForEach(x => Departments.Add(new FilterDepartmentViewModel(x, this))); Positions = new List<FilterPositionViewModel>(); var positions = FiresecManager.GetPositions(null).ToList(); positions.ForEach(x => Positions.Add(new FilterPositionViewModel(x))); Initialize(); }
void OnSave() { Filter = new EmployeeFilter(); Departments.ForEach(x => { if (x.IsChecked) { Filter.DepartmentUids.Add(x.Department.Uid); } }); Filter.DepartmentUids.Distinct(); Positions.ForEach(x => { if (x.IsChecked) Filter.PositionUids.Add(x.Position.Uid); }); //if (StartDateTime > EndDateTime) //{ // MessageBoxService.ShowWarning("Начальная дата должна быть меньше конечной"); // return; //} Close(true); }
void OnClear() { Filter = new EmployeeFilter(); Initialize(); }
bool IsInFilter(FiresecService.SKUD.DataAccess.Employee employee, EmployeeFilter filter) { if (filter == null) return true; bool isInUids = !filter.HasUids || filter.Uids.Any(x => employee.Uid == x); bool isInDepartments = !filter.HasDepartments || filter.DepartmentUids.Any(x => employee.DepartmentUid == x); bool isInPositions = !filter.HasPositions || filter.PositionUids.Any(x => employee.PositionUid == x); bool isInAppointed = filter.Appointed == null || (employee.Appointed >= filter.Appointed.StartDate && employee.Appointed <= filter.Appointed.EndDate); bool isInDismissed = filter.Dismissed == null || (employee.Dismissed >= filter.Dismissed.StartDate && employee.Dismissed <= filter.Dismissed.EndDate); return isInUids && isInDepartments && isInPositions && isInAppointed && isInDepartments; }
public IEnumerable<Employee> GetEmployees(EmployeeFilter filter) { return _skud.GetEmployees(filter); }
public static IEnumerable<Employee> GetEmployees(EmployeeFilter filter) { return FiresecService.GetEmployees(filter); }