private void step2CodeActivity_ShowWizzard_ExecuteCode(object sender, EventArgs e) { IPageTypeMetaDataTypeLink pageTypeMetaDataTypeLink = this.GetBinding<IPageTypeMetaDataTypeLink>("NewMetaDataTypeLink"); DataTypeDescriptor dataTypeDescriptor = DynamicTypeManager.GetDataTypeDescriptor(pageTypeMetaDataTypeLink.DataTypeId); Type metaDataType = TypeManager.GetType(dataTypeDescriptor.TypeManagerTypeName); DataTypeDescriptorFormsHelper helper = new DataTypeDescriptorFormsHelper(dataTypeDescriptor); helper.LayoutLabel = StringResourceSystemFacade.GetString("Composite.Plugins.PageTypeElementProvider", "PageType.AddPageTypeMetaDataFieldWorkflow.AddingDefaultMetaData.Title"); helper.LayoutIconHandle = "pagetype-add-metedatafield"; GeneratedTypesHelper generatedTypesHelper = new GeneratedTypesHelper(dataTypeDescriptor); helper.AddReadOnlyFields(generatedTypesHelper.NotEditableDataFieldDescriptorNames); IData newDataTemplate = DataFacade.BuildNew(metaDataType); helper.UpdateWithNewBindings(this.Bindings); helper.ObjectToBindings(newDataTemplate, this.Bindings); this.UpdateBinding("NewDataTemplate", newDataTemplate); this.DeliverFormData( metaDataType.GetTypeTitle(), StandardUiContainerTypes.Wizard, helper.GetForm(), this.Bindings, helper.GetBindingsValidationRules(newDataTemplate) ); }
private void ValidateBindings(object sender, ConditionalEventArgs e) { IPageTypeMetaDataTypeLink pageTypeMetaDataTypeLink = this.GetDataItemFromEntityToken <IPageTypeMetaDataTypeLink>(); IPageMetaDataDefinition pageMetaDataDefinition = PageMetaDataFacade.GetMetaDataDefinition(pageTypeMetaDataTypeLink.PageTypeId, pageTypeMetaDataTypeLink.Name); string metaDataDescriptionLabel = this.GetBinding <string>("CompositionDescriptionLabel"); Guid containerId = this.GetBinding <Guid>("CompositionContainerId"); e.Result = true; if (pageMetaDataDefinition.Label != metaDataDescriptionLabel) { if (PageMetaDataFacade.IsDefinitionAllowed(pageTypeMetaDataTypeLink.PageTypeId, pageMetaDataDefinition.Name, metaDataDescriptionLabel, pageMetaDataDefinition.MetaDataTypeId) == false) { this.ShowFieldMessage("CompositionDescriptionLabel", GetText("PageType.EditPageTypeMetaDataFieldWorkflow.ValidationError.MetaDataFieldNameAlreadyUsed")); SetSaveStatus(false); e.Result = false; } } if (pageMetaDataDefinition.MetaDataContainerId != containerId) { if (PageMetaDataFacade.IsNewContainerIdAllowed(pageTypeMetaDataTypeLink.PageTypeId, pageMetaDataDefinition.Name, containerId) == false) { this.ShowFieldMessage("CompositionContainerId", GetText("PageType.EditPageTypeMetaDataFieldWorkflow.ValidationError.MetaDataContainerChangeNotAllowed")); SetSaveStatus(false); e.Result = false; } } }
private void initializeCodeActivity_UpdateBindings_ExecuteCode(object sender, EventArgs e) { IPageTypeMetaDataTypeLink pageTypeMetaDataTypeLink = DataFacade.BuildNew<IPageTypeMetaDataTypeLink>(); pageTypeMetaDataTypeLink.Id = Guid.NewGuid(); Dictionary<string, string> piggybag = PiggybagSerializer.Deserialize(this.ExtraPayload); DataEntityToken dataEntityToken = piggybag.GetParentEntityTokens().FindDataEntityToken(typeof(IPageType)); IPageType parentPageType = (IPageType)dataEntityToken.Data; pageTypeMetaDataTypeLink.PageTypeId = parentPageType.Id; this.Bindings.Add("CompositionDescriptionName", ""); this.Bindings.Add("CompositionDescriptionLabel", ""); this.Bindings.Add("NewMetaDataTypeLink", pageTypeMetaDataTypeLink); List<KeyValuePair<Guid, string>> metaDataTypeOptions = PageMetaDataFacade.GetAllMetaDataTypes(). ToList(f => new KeyValuePair<Guid, string>(f.GetImmutableTypeId(), f.GetTypeTitle())); this.Bindings.Add("MetaDataTypeOptions", metaDataTypeOptions); List<KeyValuePair<Guid, string>> metaDataContainerOptions = PageMetaDataFacade.GetAllMetaDataContainers(); this.Bindings.Add("MetaDataContainerOptions", metaDataContainerOptions); this.Bindings.Add("CompositionContainerId", metaDataContainerOptions.First().Key); this.BindingsValidationRules.Add("CompositionDescriptionName", new List<ClientValidationRule> { new NotNullClientValidationRule(), new StringLengthClientValidationRule(1, 128) }); this.BindingsValidationRules.Add("CompositionDescriptionLabel", new List<ClientValidationRule> { new NotNullClientValidationRule(), new StringLengthClientValidationRule(1, 256) }); }
private void finalizeCodeActivity_Finalize_ExecuteCode(object sender, EventArgs e) { IPageTypeMetaDataTypeLink pageTypeMetaDataTypeLink = this.GetBinding<IPageTypeMetaDataTypeLink>("NewMetaDataTypeLink"); IData newDataTemplate; this.TryGetBinding("NewDataTemplate", out newDataTemplate); string metaDataDefinitionName = this.GetBinding<string>("CompositionDescriptionName"); pageTypeMetaDataTypeLink.Name = metaDataDefinitionName; using (TransactionScope transactionScope = TransactionsFacade.CreateNewScope()) { DataFacade.AddNew<IPageTypeMetaDataTypeLink>(pageTypeMetaDataTypeLink); PageMetaDataFacade.AddDefinition( pageTypeMetaDataTypeLink.PageTypeId, metaDataDefinitionName, this.GetBinding<string>("CompositionDescriptionLabel"), pageTypeMetaDataTypeLink.DataTypeId, this.GetBinding<Guid>("CompositionContainerId") ); if (newDataTemplate != null) { IPageType pageType = DataFacade.GetData<IPageType>().Single(f => f.Id == pageTypeMetaDataTypeLink.PageTypeId); PageMetaDataFacade.AddNewMetaDataToExistingPages(pageType, metaDataDefinitionName, newDataTemplate); } transactionScope.Complete(); } this.RefreshCurrentEntityToken(); }
private void saveCodeActivity_Save_ExecuteCode(object sender, EventArgs e) { IPageTypeMetaDataTypeLink pageTypeMetaDataTypeLink = this.GetDataItemFromEntityToken <IPageTypeMetaDataTypeLink>(); string metaDataDescriptionLabel = this.GetBinding <string>("CompositionDescriptionLabel"); Guid containerId = this.GetBinding <Guid>("CompositionContainerId"); PageMetaDataFacade.UpdateDefinition(pageTypeMetaDataTypeLink.PageTypeId, pageTypeMetaDataTypeLink.Name, metaDataDescriptionLabel, containerId); SetSaveStatus(true); this.RefreshCurrentEntityToken(); }
private void ValidateMetaDataName(object sender, ConditionalEventArgs e) { IPageTypeMetaDataTypeLink pageTypeMetaDataTypeLink = this.GetBinding<IPageTypeMetaDataTypeLink>("NewMetaDataTypeLink"); string metaDataDefinitionName = this.GetBinding<string>("CompositionDescriptionName"); string metaDataDefinitionLabel = this.GetBinding<string>("CompositionDescriptionLabel"); e.Result = PageMetaDataFacade.IsDefinitionAllowed(pageTypeMetaDataTypeLink.PageTypeId, metaDataDefinitionName, metaDataDefinitionLabel, pageTypeMetaDataTypeLink.DataTypeId); if (e.Result == false) { ShowFieldMessage("CompositionDescriptionName", "${Composite.Plugins.PageTypeElementProvider, PageType.AddPageTypeMetaDataFieldWorkflow.ValidationError.MetaDataFieldNameAlreadyUsed}"); } }
private void DefaultValuesAreValid(object sender, ConditionalEventArgs e) { IData newDataTemplate; if (!this.TryGetBinding("NewDataTemplate", out newDataTemplate)) { e.Result = true; return; } IPageTypeMetaDataTypeLink pageTypeMetaDataTypeLink = this.GetBinding<IPageTypeMetaDataTypeLink>("NewMetaDataTypeLink"); var dataTypeDescriptor = DynamicTypeManager.GetDataTypeDescriptor(pageTypeMetaDataTypeLink.DataTypeId); var helper = new DataTypeDescriptorFormsHelper(dataTypeDescriptor); e.Result = BindAndValidate(helper, newDataTemplate); }
private void finalizeCodeActivity_Finalize_ExecuteCode(object sender, EventArgs e) { IPageTypeMetaDataTypeLink pageTypeMetaDataTypeLink = this.GetDataItemFromEntityToken <IPageTypeMetaDataTypeLink>(); DeleteTreeRefresher deleteTreeRefresher = this.CreateDeleteTreeRefresher(this.EntityToken); DataTypeDescriptor dataTypeDescriptor; if (DynamicTypeManager.TryGetDataTypeDescriptor(pageTypeMetaDataTypeLink.DataTypeId, out dataTypeDescriptor)) { PageMetaDataFacade.RemoveDefinition(pageTypeMetaDataTypeLink.PageTypeId, pageTypeMetaDataTypeLink.Name); } DataFacade.Delete <IPageTypeMetaDataTypeLink>(pageTypeMetaDataTypeLink); deleteTreeRefresher.PostRefreshMesseges(); }
private void initializeCodeActivity_UpdateBindings_ExecuteCode(object sender, EventArgs e) { IPageTypeMetaDataTypeLink pageTypeMetaDataTypeLink = this.GetDataItemFromEntityToken <IPageTypeMetaDataTypeLink>(); IPageMetaDataDefinition pageMetaDataDefinition = PageMetaDataFacade.GetMetaDataDefinition(pageTypeMetaDataTypeLink.PageTypeId, pageTypeMetaDataTypeLink.Name); //this.UpdateBinding("CompositionDescriptionName", compositionDescription.Name); this.UpdateBinding("CompositionDescriptionLabel", pageMetaDataDefinition.Label); List <KeyValuePair <Guid, string> > metaDataContainerOptions = PageMetaDataFacade.GetAllMetaDataContainers(); this.Bindings.Add("MetaDataContainerOptions", metaDataContainerOptions); this.Bindings.Add("CompositionContainerId", pageMetaDataDefinition.MetaDataContainerId); var dataTypeDescriptor = DynamicTypeManager.GetDataTypeDescriptor(pageTypeMetaDataTypeLink.DataTypeId); this.Bindings.Add("MetaTypeName", dataTypeDescriptor.TypeManagerTypeName); }
private void ValidateTypeExistence(object sender, ConditionalEventArgs e) { e.Result = true; IPageTypeMetaDataTypeLink pageTypeMetaDataTypeLink = this.GetDataItemFromEntityToken <IPageTypeMetaDataTypeLink>(); DataTypeDescriptor dataTypeDescriptor; if (!DynamicTypeManager.TryGetDataTypeDescriptor(pageTypeMetaDataTypeLink.DataTypeId, out dataTypeDescriptor)) { e.Result = false; DeleteTreeRefresher deleteTreeRefresher = CreateDeleteTreeRefresher(this.EntityToken); DataFacade.Delete <IPageTypeMetaDataTypeLink>(pageTypeMetaDataTypeLink); this.ShowMessage( DialogType.Warning, GetText("PageType.EditPageTypeMetaDataFieldWorkflow.ValidationError.MetaDataTypeNotExisting.Title"), GetText("PageType.EditPageTypeMetaDataFieldWorkflow.ValidationError.MetaDataTypeNotExisting.Message")); deleteTreeRefresher.PostRefreshMesseges(); } }
private void PagesUsingPageTypeExists(object sender, ConditionalEventArgs e) { IPageTypeMetaDataTypeLink metaDataTypeLink = this.GetBinding<IPageTypeMetaDataTypeLink>("NewMetaDataTypeLink"); e.Result = DataFacade.GetData<IPage>().Where(f => f.PageTypeId == metaDataTypeLink.PageTypeId).Any(); }
private void initializeCodeActivity_UpdateBindings_ExecuteCode(object sender, EventArgs e) { IPageTypeMetaDataTypeLink pageTypeMetaDataTypeLink = this.GetDataItemFromEntityToken <IPageTypeMetaDataTypeLink>(); this.Bindings.Add("MessageText", string.Format(StringResourceSystemFacade.GetString("Composite.Plugins.PageTypeElementProvider", "PageType.DeletePageTypeMetaDataFieldWorkflow.Confirm.Layout.Message"), pageTypeMetaDataTypeLink.Name)); }