private bool IsAnyPagesAffected() { PageMetaDataDescription dataAssociationVisabilityRule = this.GetBinding <PageMetaDataDescription>(DataAssociationVisabilityDescriptionBindingName); IPage page = GetCurrentPage(); return(page.GetMetaDataAffectedPages(dataAssociationVisabilityRule.StartLevel, dataAssociationVisabilityRule.Levels).Any()); }
private void finalizeCodeActivity_Finalize_ExecuteCode(object sender, EventArgs e) { Type selectedMetaDataType = this.GetBinding <Type>(SelectedTypeBindingName); DataTypeDescriptor dataTypeDescriptor = DynamicTypeManager.GetDataTypeDescriptor(selectedMetaDataType.GetImmutableTypeId()); PageMetaDataDescription dataAssociationVisabilityRule = this.GetBinding <PageMetaDataDescription>(DataAssociationVisabilityDescriptionBindingName); Guid metaDataContainerId = this.GetBinding <Guid>(SelectedContainerBindingName); string metaDataDefinitionName = this.GetBinding <string>(FieldGroupNameBindingName); string metaDataDefinitionLabel = this.GetBinding <string>(FieldGroupLabelBindingName); IData newDataTemplate = null; if (IsAnyPagesAffected()) { DataTypeDescriptorFormsHelper helper = new DataTypeDescriptorFormsHelper(dataTypeDescriptor); GeneratedTypesHelper generatedTypesHelper = new GeneratedTypesHelper(dataTypeDescriptor); helper.AddReadOnlyFields(generatedTypesHelper.NotEditableDataFieldDescriptorNames); newDataTemplate = DataFacade.BuildNew(selectedMetaDataType); helper.BindingsToObject(this.Bindings, newDataTemplate); } using (TransactionScope transactionScope = TransactionsFacade.CreateNewScope()) { IPage page = GetCurrentPage(); page.AddMetaDataDefinition(metaDataDefinitionName, metaDataDefinitionLabel, selectedMetaDataType.GetImmutableTypeId(), metaDataContainerId, dataAssociationVisabilityRule.StartLevel, dataAssociationVisabilityRule.Levels); if (newDataTemplate != null) { page.AddNewMetaDataToExistingPages(metaDataDefinitionName, newDataTemplate); } transactionScope.Complete(); } ParentTreeRefresher parentTreeRefresher = this.CreateParentTreeRefresher(); parentTreeRefresher.PostRefreshMesseges(this.EntityToken); }
private void createFieldGroupCodeActivity_CreateVisabilatiyRule_ExecuteCode(object sender, EventArgs e) { string metaDataDefinitionName = this.GetBinding <string>(FieldGroupNameBindingName); string metaDataDefinitionLabel = this.GetBinding <string>(FieldGroupLabelBindingName); Type type = this.GetBinding <Type>(SelectedTypeBindingName); if (PageMetaDataFacade.IsDefinitionAllowed(GetCurrentPageId(), metaDataDefinitionName, metaDataDefinitionLabel, type.GetImmutableTypeId())) { int startLevel = this.GetBinding <int>(SelectedStartDisplayBindingName); int levels = this.GetBinding <int>(SelectedInheritDisplayBindingName); PageMetaDataDescription dataAssociationVisabilityRule = PageMetaDataDescription.Branch(startLevel, levels); this.UpdateBinding(DataAssociationVisabilityDescriptionBindingName, dataAssociationVisabilityRule); } else { this.UpdateBinding(DataAssociationVisabilityDescriptionBindingName, null); this.ShowFieldMessage(FieldGroupNameBindingName, "${Composite.Management, AssociatedDataElementProviderHelper.AddMetaDataWorkflow.FieldGroupNameNotValid}"); } }
private void DidFieldNameValidate(object sender, ConditionalEventArgs e) { PageMetaDataDescription dataAssociationVisabilityRule = this.GetBinding <PageMetaDataDescription>(DataAssociationVisabilityDescriptionBindingName); e.Result = dataAssociationVisabilityRule != null; }