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 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 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(); }