public PositionUsersVM(PositionVM position, AccessType access) : base(access) { UnitOfWork = new SoheilEdmContext(); CurrentPosition = position; PositionDataService = new PositionDataService(UnitOfWork); PositionDataService.UserAdded += OnUserAdded; PositionDataService.UserRemoved += OnUserRemoved; UserDataService = new UserDataService(UnitOfWork); var selectedVms = new ObservableCollection<UserPositionVM>(); foreach (var positionUser in PositionDataService.GetUsers(position.Id)) { selectedVms.Add(new UserPositionVM(positionUser, Access, RelationDirection.Reverse)); } SelectedItems = new ListCollectionView(selectedVms); var allVms = new ObservableCollection<UserVM>(); foreach (var user in UserDataService.GetActives(SoheilEntityType.Positions, CurrentPosition.Id)) { allVms.Add(new UserVM(user, Access, UserDataService)); } AllItems = new ListCollectionView(allVms); IncludeCommand = new Command(Include, CanInclude); ExcludeCommand = new Command(Exclude, CanExclude); }
public AccessRuleUsersVM(AccessRuleVM accessRule, AccessType access) : base(access) { UnitOfWork = new SoheilEdmContext(); CurrentAccessRule = accessRule; AccessRuleDataService = new AccessRuleDataService(UnitOfWork); AccessRuleDataService.UserAdded += OnUserAdded; AccessRuleDataService.UserRemoved += OnUserRemoved; UserDataService = new UserDataService(UnitOfWork); var selectedVms = new ObservableCollection<UserAccessRuleVM>(); foreach (var accessRuleUser in AccessRuleDataService.GetUsers(accessRule.Id)) { selectedVms.Add(new UserAccessRuleVM(accessRuleUser, Access, RelationDirection.Reverse)); } SelectedItems = new ListCollectionView(selectedVms); var allVms = new ObservableCollection<UserVM>(); foreach (var user in UserDataService.GetActives()) { allVms.Add(new UserVM(user, Access, UserDataService)); } AllItems = new ListCollectionView(allVms); IncludeCommand = new Command(Include,CanInclude); ExcludeCommand = new Command(Exclude, CanExclude); }