private void UpdateRoleAndRoleAction() { ActionAndUserActionEntityDictionary.Clear(); ActionAndUserActionEntityList.Clear(); foreach (ActionEntity actionEntity in ActionEntityList) { ActionAndUserActionEntity actionAndUserActionEntity = new ActionAndUserActionEntity(); actionAndUserActionEntity.ActionEntity = actionEntity; actionAndUserActionEntity.SystemManageDomainContext = systemManageDomainContext; ActionAndUserActionEntityDictionary.Add(actionAndUserActionEntity.ActionEntity.ActionID, actionAndUserActionEntity); } foreach (KeyValuePair <int, ActionAndUserActionEntity> actionAndUserActionEntityPair in ActionAndUserActionEntityDictionary) { int supperActionID = actionAndUserActionEntityPair.Value.ActionEntity.SupperActionID; if (supperActionID != 0) { ActionAndUserActionEntity supperActionAndUserActionEntity; if (ActionAndUserActionEntityDictionary.TryGetValue(supperActionID, out supperActionAndUserActionEntity)) { AddRoleAndRoleAction(supperActionAndUserActionEntity, actionAndUserActionEntityPair.Value); } } } UpdateRoleAction(); }
private void AddRoleAndRoleAction(ActionAndUserActionEntity supperActionAndUserActionEntity, ActionAndUserActionEntity actionAndUserActionEntity) { if (supperActionAndUserActionEntity.ChildList == null) { supperActionAndUserActionEntity.ChildList = new ObservableCollection <ActionAndUserActionEntity>(); } supperActionAndUserActionEntity.ChildList.Add(actionAndUserActionEntity); actionAndUserActionEntity.ParentActionAdnUserActionEntity = supperActionAndUserActionEntity; }
public UserActionManagerViewModel() { ActionEntityList = new ObservableCollection <ActionEntity>(); ActionAndUserActionEntityList = new ObservableCollection <ActionAndUserActionEntity>(); ActionAndUserActionEntityDictionary = new Dictionary <int, ActionAndUserActionEntity>(); UserList = new List <UserEntity>(); RootActionAndUserActionEntity = new ActionAndUserActionEntity(); RootActionAndUserActionEntity.ChildList = new ObservableCollection <ActionAndUserActionEntity>(); OnSave = new DelegateCommand(OnSaveCommand, CanSave); }