public AccessRulePositionsVM(AccessRuleVM accessRule, AccessType access) : base(access) { UnitOfWork = new SoheilEdmContext(); CurrentAccessRule = accessRule; AccessRuleDataService = new AccessRuleDataService(UnitOfWork); AccessRuleDataService.PositionAdded += OnPositionAdded; AccessRuleDataService.PositionRemoved += OnPositionRemoved; PositionDataService = new PositionDataService(UnitOfWork); var selectedVms = new ObservableCollection<PositionAccessRuleVM>(); foreach (var accessRulePosition in AccessRuleDataService.GetPositions(accessRule.Id)) { selectedVms.Add(new PositionAccessRuleVM(accessRulePosition, Access, RelationDirection.Reverse)); } SelectedItems = new ListCollectionView(selectedVms); var allVms = new ObservableCollection<PositionVM>(); foreach (var position in PositionDataService.GetActives()) { allVms.Add(new PositionVM(position, Access,PositionDataService)); } AllItems = new ListCollectionView(allVms); IncludeCommand = new Command(Include,CanInclude); ExcludeCommand = new Command(Exclude,CanExclude); }
public override void CreateItems(object param) { RootNode = new AccessRuleVM(Access, AccessRuleDataService) { Title = string.Empty, Id = -1, ParentId = -2 }; var viewModels = new ObservableCollection<AccessRuleVM>(); foreach (var model in AccessRuleDataService.GetAll()) { viewModels.Add(new AccessRuleVM(AccessRuleDataService, model, Access)); } foreach (AccessRuleVM item in viewModels) { if (item.ParentId == RootNode.Id) { RootNode.ChildNodes.Add(item); break; } } Items = new ListCollectionView(viewModels); if (viewModels.Count > 0) { CurrentContent = (ISplitItemContent)Items.CurrentItem; CurrentContent.IsSelected = true; } }
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); }
private void OnAccessRuleAdded(object sender, ModelAddedEventArgs<AccessRule> e) { var newAccessRuleVm = new AccessRuleVM(AccessRuleDataService, e.NewModel, Access); Items.AddNewItem(newAccessRuleVm); Items.CommitNew(); CurrentContent = newAccessRuleVm; CurrentContent.IsSelected = true; }