private void UpdateRoleAndRoleAction()
        {
            IsBusy = true;
            ActionAndRoleAnctionEntityDictionary.Clear();
            ActionAndRoleActionEntityList.Clear();
            foreach (ActionEntity actionEntity in ActionEntityList)
            {
                ActionAndRoleActionEntity actionAndRoleActionEntity = new ActionAndRoleActionEntity();
                actionAndRoleActionEntity.ActionEntity = actionEntity;
                actionAndRoleActionEntity.SystemManageDomainContext = systemManageDomainContext;
                ActionAndRoleAnctionEntityDictionary.Add(actionAndRoleActionEntity.ActionEntity.ActionID, actionAndRoleActionEntity);
            }

            foreach (KeyValuePair <int, ActionAndRoleActionEntity> actionAndRoleActionEntityPair in ActionAndRoleAnctionEntityDictionary)
            {
                int supperActionID = actionAndRoleActionEntityPair.Value.ActionEntity.SupperActionID;
                if (supperActionID != 0)
                {
                    ActionAndRoleActionEntity supperActionAndRoleActionEntity;
                    if (ActionAndRoleAnctionEntityDictionary.TryGetValue(supperActionID, out supperActionAndRoleActionEntity))
                    {
                        AddRoleAndRoleAction(supperActionAndRoleActionEntity, actionAndRoleActionEntityPair.Value);
                    }
                }
            }
        }
 private void AddRoleAndRoleAction(ActionAndRoleActionEntity supperActionAndRoleActionEntity, ActionAndRoleActionEntity actionAndRoleActionEntity)
 {
     if (supperActionAndRoleActionEntity.ChildList == null)
     {
         supperActionAndRoleActionEntity.ChildList = new ObservableCollection <ActionAndRoleActionEntity>();
     }
     supperActionAndRoleActionEntity.ChildList.Add(actionAndRoleActionEntity);
     actionAndRoleActionEntity.ParentActionAndRoleActionEntity = supperActionAndRoleActionEntity;
 }
 public RoleRightManagerViewModel()
 {
     ActionEntityList = new ObservableCollection <ActionEntity>();
     RoleEntityList   = new ObservableCollection <RoleEntity>();
     ActionAndRoleActionEntityList           = new ObservableCollection <ActionAndRoleActionEntity>();
     ActionAndRoleAnctionEntityDictionary    = new Dictionary <int, ActionAndRoleActionEntity>();
     RootActionAndRoleActionEntity           = new ActionAndRoleActionEntity();
     RootActionAndRoleActionEntity.ChildList = new ObservableCollection <ActionAndRoleActionEntity>();
     OnSave = new DelegateCommand(OnSaveCommand, CanSave);
 }