public FlowToken Execute(EntityToken entityToken, ActionToken actionToken, FlowControllerServicesContainer flowControllerServicesContainer) { var modelReference = (IModelReference)((DataEntityToken)entityToken).Data; var definition = DefinitionsFacade.GetDefinition(modelReference.Name); DefinitionsFacade.Delete(definition); LocalizationsFacade.DeleteNamespace(Localization.GenerateKey(modelReference.Name)); var ns = modelReference.Name.Substring(0, modelReference.Name.LastIndexOf(".")); new SpecificTreeRefresher(flowControllerServicesContainer).PostRefreshMessages(new NamespaceFolderEntityToken(typeof(FormBuilderElementProvider).Name, ns)); return(null); }
protected void Save(IDynamicDefinition definition) { SaveExtraSettings(definition); var token = GetBinding <DataEntityToken>("BoundToken"); var modelReference = (IModelReference)token.Data; var name = GetBinding <string>("Name"); var introText = GetBinding <string>("IntroText"); var successResponse = GetBinding <string>("SuccessResponse"); using (var writer = ResourceFacade.GetResourceWriter()) { writer.AddResource(GetKey("IntroText"), introText); writer.AddResource(GetKey("SuccessResponse"), successResponse); } var isNewName = name != modelReference.Name; if (isNewName) { LocalizationsFacade.RenameNamespace(Localization.KeyPrefix + "." + modelReference.Name, Localization.KeyPrefix + "." + name, Localization.ResourceSet); DefinitionsFacade.Copy(definition, name); DefinitionsFacade.Delete(definition); modelReference = ModelReferenceFacade.GetModelReference(name); token = modelReference.GetDataEntityToken(); UpdateBinding("BoundToken", token); SetSaveStatus(true, token); } else { DefinitionsFacade.Save(definition); SetSaveStatus(true); } CreateParentTreeRefresher().PostRefreshMessages(EntityToken); }