void loadOperation_UserActionCompleted(object sender, EventArgs e)
        {
            LoadOperation loadOperation = sender as LoadOperation;

            foreach (ProductManager.Web.Model.user_action user_action in loadOperation.Entities)
            {
                UserActionEntity userActionEntity = new UserActionEntity();
                userActionEntity.UserAction = user_action;
                userActionEntity.Update();
                ActionAndUserActionEntity actionAndUserActionEntity;
                if (ActionAndUserActionEntityDictionary.TryGetValue(userActionEntity.ActionID, out actionAndUserActionEntity))
                {
                    actionAndUserActionEntity.UserActionEntity = userActionEntity;
                }
            }

            RootActionAndUserActionEntity.ChildList.Clear();
            foreach (KeyValuePair <int, ActionAndUserActionEntity> actionAndUserActionEntityPair in ActionAndUserActionEntityDictionary)
            {
                actionAndUserActionEntityPair.Value.CurrentSelectUserEntity = SelectUserEntity;
                int supperActionID = actionAndUserActionEntityPair.Value.ActionEntity.SupperActionID;
                if (supperActionID == 0)
                {
                    RootActionAndUserActionEntity.ChildList.Add(actionAndUserActionEntityPair.Value);
                }
            }
            UpdateChanged("RootActionAndUserActionEntity");

            IsBusy = false;
        }
        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();
        }
        void loadOperation_RoleActionCompleted(object sender, EventArgs e)
        {
            LoadOperation loadOperation = sender as LoadOperation;

            foreach (ProductManager.Web.Model.role_action role_action in loadOperation.Entities)
            {
                RoleActionEntity roleActionEntity = new RoleActionEntity();
                roleActionEntity.RoleAction = role_action;
                roleActionEntity.Update();
                ActionAndUserActionEntity actionAndUserActionEntity;
                if (ActionAndUserActionEntityDictionary.TryGetValue(roleActionEntity.ActionID, out actionAndUserActionEntity))
                {
                    actionAndUserActionEntity.RoleActionEntity = roleActionEntity;
                }
            }
            UpdateUserAction();
        }