void SaveActionOnExecuteCompleted(object sender, ActionBaseEventArgs actionBaseEventArgs)
 {
     if (!SaveAction.Enabled)
     {
         RuntimeMemberBuilder.CreateRuntimeMembers(ModelApplication);
     }
 }
        private void CreateModelEditorController(string aspect)
        {
            var allLayers = CurrentObject.GetAllLayers(MasterModel).ToList();

            _currentObjectModel = allLayers.First(@base => @base.Id == $"{CurrentObject.Name}-{CurrentObject.DeviceCategory}");
            MasterModel         = GetMasterModel(true);
            foreach (var layer in allLayers)
            {
                ModelApplicationHelper.AddLayer(MasterModel, layer);
            }
            ModelApplicationBases[MasterModel].AssignAsInstance();
            RuntimeMemberBuilder.CreateRuntimeMembers((IModelApplication)MasterModel);
            TypeInfo.AssignAsInstance();

            DisposeController();

            _modelEditorViewController = new ExpressApp.Win.ModelEditorViewController((IModelApplication)MasterModel,
                                                                                      null);
            if (Control != null)
            {
                _modelEditorViewController.SetControl(Control);
                _modelEditorViewController.LoadSettings();
            }

            if (aspect != CaptionHelper.DefaultLanguage)
            {
                MasterModel.CurrentAspectProvider.CurrentAspect = aspect;
            }

            _modelEditorViewController.CurrentAspectChanged += ModelEditorViewControllerOnCurrentAspectChanged;
            _modelEditorViewController.Modifying            += Model_Modifying;
            _modelEditorViewController.ChangeAspectAction.ExecuteCompleted += ChangeAspectActionOnExecuteCompleted;
            _modelEditorViewController.ModelAttributesPropertyEditorController.PropertyChanged += ModelAttributesPropertyEditorControllerOnPropertyChanged;
        }
Beispiel #3
0
        private void CreateModelEditorController(string aspect)
        {
            var allLayers = CurrentObject.GetAllLayers(_masterModel).ToList();

            _currentObjectModel = allLayers.Single(@base => @base.Id == CurrentObject.Name);
            _masterModel        = _modelLoader.ReCreate();
//            foreach (var layer in allLayers)
//                ModelApplicationHelper.RemoveLayer(layer);
            foreach (var layer in allLayers)
            {
                ModelApplicationHelper.AddLayer(_masterModel, layer);
            }

            RuntimeMemberBuilder.AddFields((IModelApplication)_masterModel, XpandModuleBase.Dictiorary);

            DisposeController();

            _modelEditorViewController = new ModelEditorViewController((IModelApplication)_masterModel, null);
            _modelEditorViewController.SetControl(Control);
            _modelEditorViewController.LoadSettings();

            if (aspect != CaptionHelper.DefaultLanguage)
            {
                _masterModel.CurrentAspectProvider.CurrentAspect = aspect;
            }

            _modelEditorViewController.CurrentAspectChanged        += ModelEditorViewControllerOnCurrentAspectChanged;
            _modelEditorViewController.SaveAction.ExecuteCompleted += SaveActionOnExecuteCompleted;
            _modelEditorViewController.Modifying += Model_Modifying;
            _modelEditorViewController.ChangeAspectAction.ExecuteCompleted += ChangeAspectActionOnExecuteCompleted;
        }
Beispiel #4
0
        public void LoadModels()
        {
            var model = (ModelApplicationBase)Application.Model;

            LoadApplicationModels(model);
            if (Application.Security is ISecurityComplex)
            {
                _userModelDictionaryDifferenceStore?.Load();
            }
            RuntimeMemberBuilder.CreateRuntimeMembers(Application.Model);
        }
Beispiel #5
0
        public void LoadModels(bool loadResources)
        {
            var model = (ModelApplicationBase)Application.Model;

            LoadApplicationModels(loadResources, model);
            if (Application.Security is ISecurityComplex && _userModelDictionaryDifferenceStore != null)
            {
                _userModelDictionaryDifferenceStore.Load();
            }
            RuntimeMemberBuilder.CreateRuntimeMembers(Application.Model);
        }
Beispiel #6
0
        public void Load()
        {
            var model    = (ModelApplicationBase)Application.Model;
            var userDiff = model.LastLayer;

            ModelApplicationHelper.RemoveLayer(model);
            foreach (var roleModel in GetActiveRoleDifferenceObjects())
            {
                roleModel.GetModel(model);
            }
            ModelApplicationHelper.AddLayer(model, userDiff);
            LoadCore(userDiff);
            RuntimeMemberBuilder.CreateRuntimeMembers(userDiff.Application);
        }
        void LoadApplicationModels(bool loadResources, ModelApplicationBase model)
        {
            var userDiffLayer = model.LastLayer;

            ModelApplicationHelper.RemoveLayer(model);
            var customModelDifferenceStoreEventArgs = new CreateCustomModelDifferenceStoreEventArgs();

            OnCreateCustomModelDifferenceStore(customModelDifferenceStoreEventArgs);
            if (!customModelDifferenceStoreEventArgs.Handled)
            {
                new XpoModelDictionaryDifferenceStore(Application, GetPath(), customModelDifferenceStoreEventArgs.ExtraDiffStores, loadResources).Load(model);
            }
            ModelApplicationHelper.AddLayer((ModelApplicationBase)Application.Model, userDiffLayer);
            RuntimeMemberBuilder.CreateRuntimeMembers(Application.Model);
        }
Beispiel #8
0
 public override void Setup(XafApplication application)
 {
     if (RuntimeMode && XafTypesInfo.PersistentEntityStore == null)
     {
         XafTypesInfo.SetPersistentEntityStore(new XpandXpoTypeInfoSource((TypesInfo)application.TypesInfo));
     }
     base.Setup(application);
     if (RuntimeMode)
     {
         application.SetupComplete +=
             (sender, args) => RuntimeMemberBuilder.CreateRuntimeMembers(application.Model);
         application.CustomProcessShortcut        += ApplicationOnCustomProcessShortcut;
         application.ListViewCreating             += ApplicationOnListViewCreating;
         application.DetailViewCreating           += ApplicationOnDetailViewCreating;
         application.CreateCustomCollectionSource += LinqCollectionSourceHelper.CreateCustomCollectionSource;
         application.LoggedOn += (sender, args) => RuntimeMemberBuilder.CreateRuntimeMembers(application.Model);
     }
 }
Beispiel #9
0
        public void Load()
        {
            var model    = (ModelApplicationBase)Application.Model;
            var userDiff = model.LastLayer;

            ModelApplicationHelper.RemoveLayer(model);
            foreach (var roleModel in GetActiveRoleDifferenceObjects())
            {
                roleModel.GetModel(model);
            }
            ModelApplicationHelper.AddLayer(model, userDiff);

            var modelDifferenceObjects = GetActiveDifferenceObjects().ToList();

            if (!modelDifferenceObjects.Any())
            {
                SaveDifference(model);
                return;
            }

            CombineWithActiveDifferenceObjects(model.LastLayer, modelDifferenceObjects);
            RuntimeMemberBuilder.AddFields((IModelApplication)model, XpandModuleBase.Dictiorary);
        }
Beispiel #10
0
        public override void Setup(XafApplication application)
        {
            lock (XafTypesInfo.Instance) {
                if (RuntimeMode && XafTypesInfo.PersistentEntityStore == null)
                {
                    XafTypesInfo.SetPersistentEntityStore(new XpandXpoTypeInfoSource((TypesInfo)application.TypesInfo));
                }
            }
            base.Setup(application);
            CheckApplicationTypes();
            if (RuntimeMode)
            {
                ApplicationHelper.Instance.Initialize(application);
                var helper = new ConnectionStringHelper();
                helper.Attach(this);
                var generatorHelper = new SequenceGeneratorHelper();
                generatorHelper.Attach(this);
                helper.ConnectionStringUpdated += (sender, args) => generatorHelper.InitializeSequenceGenerator();
            }

            if (Executed("Setup"))
            {
                return;
            }
            if (ManifestModuleName == null)
            {
                ManifestModuleName = application.GetType().Assembly.ManifestModule.Name;
            }
            application.CreateCustomUserModelDifferenceStore += OnCreateCustomUserModelDifferenceStore;
            application.SetupComplete += ApplicationOnSetupComplete;
            application.SettingUp     += ApplicationOnSettingUp;
            application.CreateCustomCollectionSource += ApplicationOnCreateCustomCollectionSource;
            if (RuntimeMode)
            {
                application.LoggedOn += (sender, args) => RuntimeMemberBuilder.CreateRuntimeMembers(application.Model);
            }
        }
Beispiel #11
0
 void ApplicationOnSetupComplete(object sender, EventArgs eventArgs)
 {
     lock (_lockObject) {
         RuntimeMemberBuilder.CreateRuntimeMembers(Application.Model);
     }
 }
Beispiel #12
0
 private void ObjectSpaceOnCommitted(object sender, EventArgs args)
 {
     RuntimeMemberBuilder.AddFields(Application.Model, XpandModuleBase.Dictiorary);
 }
 private void ObjectSpaceOnCommitted(object sender, EventArgs args)
 {
     RuntimeMemberBuilder.CreateRuntimeMembers(Application.Model);
 }