private void finalizeStateCodeActivity_Finalize_ExecuteCode(object sender, EventArgs e) { DataTypeDescriptor dataTypeDescriptor = GetDataTypeDescriptor(); string errorMessage; if (!GeneratedTypesFacade.CanDeleteType(dataTypeDescriptor, out errorMessage)) { this.ShowMessage(DialogType.Warning, "${Composite.Plugins.GeneratedDataTypesElementProvider, DeleteCompositionTypeWorkflow.ErrorTitle}", errorMessage); return; } using (TransactionScope transactionScope = TransactionsFacade.CreateNewScope()) { PageMetaDataFacade.RemoveAllDefinitions(dataTypeDescriptor.DataTypeId, false); transactionScope.Complete(); } GeneratedTypesFacade.DeleteType(dataTypeDescriptor); GeneratedDataTypesElementProviderRootEntityToken entityToken = new GeneratedDataTypesElementProviderRootEntityToken(this.EntityToken.Source, GeneratedDataTypesElementProviderRootEntityToken.PageMetaDataTypeFolderId); SpecificTreeRefresher specificTreeRefresher = this.CreateSpecificTreeRefresher(); specificTreeRefresher.PostRefreshMesseges(entityToken); }
private void finalizeCodeActivity_Finalize_ExecuteCode(object sender, EventArgs e) { DataTypeDescriptor dataTypeDescriptor = GetDataTypeDescriptor(); // Making changes to type DataTypeDescriptor newDataTypeDescriptor = dataTypeDescriptor.Clone(); newDataTypeDescriptor.AddSuperInterface(typeof(ILocalizedControlled)); List <CultureInfo> localesToCopyTo = new List <CultureInfo>(); if (ThereAreReferencesInLocalizedData()) { localesToCopyTo.AddRange(DataLocalizationFacade.ActiveLocalizationCultures); } else { string cultureName = this.GetBinding <string>("CultureName"); localesToCopyTo.Add(CultureInfo.CreateSpecificCulture(cultureName)); } var updateDataTypeDescriptor = new UpdateDataTypeDescriptor(dataTypeDescriptor, newDataTypeDescriptor, false) { LocalesToCopyTo = localesToCopyTo }; GeneratedTypesFacade.UpdateType(updateDataTypeDescriptor); this.CloseCurrentView(); this.CollapseAndRefresh(); }
public void Initialize() { using (_resourceLocker.Locker) { var resources = _resourceLocker.Resources; if (!GlobalInitializerFacade.IsReinitializingTheSystem) { DataEvents <IDataItemTreeAttachmentPoint> .OnAfterAdd += OnUpdateTreeAttachmentPoints; DataEvents <IDataItemTreeAttachmentPoint> .OnDeleted += OnUpdateTreeAttachmentPoints; DataEvents <IDataItemTreeAttachmentPoint> .OnStoreChanged += OnTreeAttachmentPointsStoreChange; GeneratedTypesFacade.SubscribeToUpdateTypeEvent(OnDataTypeChanged); var treeAuxiliaryAncestorProvider = new TreeAuxiliaryAncestorProvider(); var entityTokenTypes = new[] { typeof(TreeSimpleElementEntityToken), typeof(TreeFunctionElementGeneratorEntityToken), typeof(TreeDataFieldGroupingElementEntityToken), typeof(DataEntityToken), typeof(TreePerspectiveEntityToken) }; entityTokenTypes.ForEach(type => AuxiliarySecurityAncestorFacade .AddAuxiliaryAncestorProvider(type, treeAuxiliaryAncestorProvider, true)); resources.PersistentAttachmentPoints = new Dictionary <string, List <IAttachmentPoint> >(); LoadAllTrees(); InitializeTreeAttachmentPoints(); TreeSharedRootsFacade.Clear(); var fileWatcher = new C1FileSystemWatcher(TreeDefinitionsFolder, "*.xml"); fileWatcher.Created += OnReloadTrees; fileWatcher.Deleted += OnReloadTrees; fileWatcher.Changed += OnReloadTrees; fileWatcher.Renamed += OnReloadTrees; fileWatcher.EnableRaisingEvents = true; resources.FileSystemWatcher = fileWatcher; resources.RootEntityToken = ElementFacade.GetRootsWithNoSecurity().First().ElementHandle.EntityToken; } } }
/// <exclude /> public override IEnumerable <XElement> Install() { if (_dataTypeDescriptors == null) { throw new InvalidOperationException(LogTitle + " has not been validated"); } string typeNames = string.Join(", ", _dataTypeDescriptors.Select(d => d.GetFullInterfaceName())); Log.LogVerbose(this.GetType().Name, $"Installing types: '{typeNames}'"); GeneratedTypesFacade.GenerateNewTypes(_dataTypeDescriptors, true); var typeElements = _dataTypeDescriptors.Select(d => new XElement("Type", new XAttribute("typeId", d.DataTypeId))); yield return(new XElement("Types", typeElements)); }
/// <exclude /> public override void Uninstall() { Verify.IsNotNull(_dataTypeDescriptorsToDelete, "DynamicDataTypePackageFragmentUninstaller has not been validated"); bool flushTheSystem = false; foreach (DataTypeDescriptor dataTypeDescriptor in _dataTypeDescriptorsToDelete) { Log.LogVerbose(this.GetType().Name, "Uninstalling the type '{0}'", dataTypeDescriptor); GeneratedTypesFacade.DeleteType(dataTypeDescriptor, false); flushTheSystem = true; } if (flushTheSystem) { GlobalEventSystemFacade.FlushTheSystem(true); } }
public FlowToken Execute(EntityToken entityToken, ActionToken actionToken, FlowControllerServicesContainer flowControllerServicesContainer) { var token = (GeneratedDataTypesElementProviderTypeEntityToken)entityToken; var type = TypeManager.GetType(token.SerializedTypeName); Guid guid = type.GetImmutableTypeId(); var oldDataTypeDescriptor = DataMetaDataFacade.GetDataTypeDescriptor(guid); var superInfterface = ((ToggleSuperInterfaceActionToken)actionToken).InterfaceType; var newDataTypeDescriptor = oldDataTypeDescriptor.Clone(); if (newDataTypeDescriptor.SuperInterfaces.Contains(superInfterface)) { newDataTypeDescriptor.RemoveSuperInterface(superInfterface); } else { newDataTypeDescriptor.AddSuperInterface(superInfterface); } if (newDataTypeDescriptor.DataScopes.Count == 0) { newDataTypeDescriptor.DataScopes.Add(DataScopeIdentifier.Public); } if (oldDataTypeDescriptor.DataScopes.Count == 0) { oldDataTypeDescriptor.DataScopes.Add(DataScopeIdentifier.Public); } var updateDescriptor = new UpdateDataTypeDescriptor(oldDataTypeDescriptor, newDataTypeDescriptor, true); GeneratedTypesFacade.UpdateType(updateDescriptor); EntityTokenCacheFacade.ClearCache(); var treeRefresher = new ParentTreeRefresher(flowControllerServicesContainer); treeRefresher.PostRefreshMesseges(entityToken); return(null); }
public override IEnumerable <XElement> Install() { if (_updates == null) { throw new InvalidOperationException(GetType().Name + " has not been validated"); } foreach (var kvp in _updates) { var oldDataTypeDescriptor = kvp.Key; var newDataTypeDescriptor = kvp.Value; var updateDescriptor = new UpdateDataTypeDescriptor(oldDataTypeDescriptor, newDataTypeDescriptor); GeneratedTypesFacade.UpdateType(updateDescriptor); } GlobalEventSystemFacade.FlushTheSystem(); return(Configuration); }
private void codeActivity_finalize_ExecuteCode(object sender, EventArgs e) { DataTypeDescriptor dataTypeDescriptor = GetDataTypeDescriptor(); string errorMessage; if (!GeneratedTypesFacade.CanDeleteType(dataTypeDescriptor, out errorMessage)) { this.ShowMessage(DialogType.Warning, "${Composite.Plugins.GeneratedDataTypesElementProvider, DeleteCompositionTypeWorkflow.ErrorTitle}", errorMessage); return; } GeneratedTypesFacade.DeleteType(dataTypeDescriptor); GeneratedDataTypesElementProviderRootEntityToken entityToken = new GeneratedDataTypesElementProviderRootEntityToken(this.EntityToken.Source, GeneratedDataTypesElementProviderRootEntityToken.GlobalDataTypeFolderId); ParentTreeRefresher parentTreeRefresher = this.CreateParentTreeRefresher(); parentTreeRefresher.PostRefreshMesseges(entityToken, 2); }
private void finalizeCodeActivity_Finalize_ExecuteCode(object sender, EventArgs e) { DataTypeDescriptor dataTypeDescriptor = GetDataTypeDescriptor(); DataTypeDescriptor newDataTypeDescriptor = dataTypeDescriptor.Clone(); newDataTypeDescriptor.RemoveSuperInterface(typeof(ILocalizedControlled)); UpdateDataTypeDescriptor updateDataTypeDescriptor = new UpdateDataTypeDescriptor(dataTypeDescriptor, newDataTypeDescriptor, false); if (this.BindingExist("CultureName")) { string cultureName = this.GetBinding <string>("CultureName"); CultureInfo cultureInfo = CultureInfo.CreateSpecificCulture(cultureName); updateDataTypeDescriptor.LocaleToCopyFrom = cultureInfo; } GeneratedTypesFacade.UpdateType(updateDataTypeDescriptor); this.CloseCurrentView(); this.CollapseAndRefresh(); }