private void initializeCodeActivity_Initialize_ExecuteCode(object sender, EventArgs e) { ReportFunctionActionNode reportFunctionActionNode = (ReportFunctionActionNode)ActionNode.Deserialize(this.Payload); Dictionary <string, string> piggybag = PiggybagSerializer.Deserialize(this.ExtraPayload); var replaceContext = new DynamicValuesHelperReplaceContext(this.EntityToken, piggybag); XElement markup = reportFunctionActionNode.FunctionMarkupDynamicValuesHelper.ReplaceValues(replaceContext); BaseRuntimeTreeNode baseRuntimeTreeNode = FunctionTreeBuilder.Build(markup); XDocument result = baseRuntimeTreeNode.GetValue() as XDocument; if (result == null) { string message = string.Format(StringResourceSystemFacade.GetString("Composite.C1Console.Trees", "TreeValidationError.ReportFunctionAction.WrongReturnValue"), "XDocument"); Log.LogError("TreeFacade", message); throw new InvalidOperationException(message); } this.Bindings.Add("Label", reportFunctionActionNode.DocumentLabelDynamicValueHelper.ReplaceValues(replaceContext)); this.Bindings.Add("Icon", reportFunctionActionNode.DocumentIcon.ResourceName); this.Bindings.Add("HtmlBlob", result.ToString()); }
private void finalizeCodeActivity_Finalize_ExecuteCode(object sender, EventArgs e) { IPageTypeDefaultPageContent defaultPageContent = this.GetBinding <IPageTypeDefaultPageContent>("DefaultPageContent"); Dictionary <string, string> piggybag = PiggybagSerializer.Deserialize(this.ExtraPayload); DataEntityToken dataEntityToken = piggybag.GetParentEntityTokens().FindDataEntityToken(typeof(IPageType)); IPageType parentPageType = (IPageType)dataEntityToken.Data; defaultPageContent.PageTypeId = parentPageType.Id; defaultPageContent.Content = " "; defaultPageContent = DataFacade.AddNew <IPageTypeDefaultPageContent>(defaultPageContent); this.CloseCurrentView(); this.RefreshCurrentEntityToken(); if (!AnyTemplatesContainingPlaceholderId()) { ShowMessage(C1Console.Events.DialogType.Message, string.Format(RS.GetString("Composite.Plugins.PageTypeElementProvider", "PageType.AddPageTypeDefaultPageContentWorkflow.NonExistingPlaceholderId.Title"), defaultPageContent.PlaceHolderId), string.Format(RS.GetString("Composite.Plugins.PageTypeElementProvider", "PageType.AddPageTypeDefaultPageContentWorkflow.NonExistingPlaceholderId.Message"), defaultPageContent.PlaceHolderId)); } this.ExecuteWorklow(defaultPageContent.GetDataEntityToken(), WorkflowFacade.GetWorkflowType("Composite.Plugins.Elements.ElementProviders.PageTypeElementProvider.EditPageTypeDefaultPageContentWorkflow")); }
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) }); }
internal DynamicValuesHelperReplaceContext CreateDynamicValuesHelperReplaceContext(string serializedPiggybag) { Dictionary <string, string> piggybag = PiggybagSerializer.Deserialize(serializedPiggybag); return(CreateDynamicValuesHelperReplaceContext(piggybag)); }
private void initializeCodeActivity_BuildNewData_ExecuteCode(object sender, EventArgs e) { Initialize(); this.FormsHelper.UpdateWithNewBindings(this.Bindings); IData newData = DataFacade.BuildNew(InterfaceType); if (PageFolderFacade.GetAllFolderTypes().Contains(InterfaceType)) { Dictionary <string, string> piggybag = PiggybagSerializer.Deserialize(this.ExtraPayload); var piggybagDataFinder = new PiggybagDataFinder(piggybag, this.EntityToken); IPage page = (IPage)piggybagDataFinder.TryGetData(typeof(IPage)); if (page != null) { PageFolderFacade.AssignFolderDataSpecificValues(newData, page); } } var publishControlled = newData as IPublishControlled; if (publishControlled != null) { publishControlled.PublicationStatus = GenericPublishProcessController.Draft; } var values = new Dictionary <string, string>(); var castedEntityToken = this.EntityToken as TreeDataFieldGroupingElementEntityToken; if (castedEntityToken != null) { Tree tree = TreeFacade.GetTree(castedEntityToken.Source); var treeNode = (DataFolderElementsTreeNode)tree.GetTreeNode(castedEntityToken.TreeNodeId); if (treeNode.Range == null && !treeNode.FirstLetterOnly) { foreach (var kvp in castedEntityToken.DeserializedGroupingValues) { values.Add(kvp.Key, ValueTypeConverter.Convert <string>(kvp.Value)); } } } var props = InterfaceType.GetPropertiesRecursively().ToDictionary(prop => prop.Name); foreach (var kvp in this.DataPayload) { // Filtering payload data which is not default field values if (props.ContainsKey(kvp.Key)) { values[kvp.Key] = StringConversionServices.DeserializeValueString(kvp.Value); } } newData.SetValues(values); this.FormsHelper.ObjectToBindings(newData, this.Bindings); GeneratedTypesHelper.SetNewIdFieldValue(newData); this.Bindings.Add("NewData", newData); }