public override string GetExecutionData() { LocalizableParameterValuesList decisionOptionItems = null; if (BranchingDecisions.Value.IsNotNullOrEmpty()) { Process process = Owner; ProcessSchema processSchema = process.ProcessSchema; string resourceManagerName = processSchema.OwnerSchema == null ? processSchema.GetResourceManagerName() : processSchema.OwnerSchema.GetResourceManagerName(); var element = processSchema.GetBaseElementByUId(SchemaElementUId); var resourceItemName = "BaseElements." + element.Name + ".Parameters.BranchingDecisions.Value"; var localizableString = new LocalizableString(Storage, resourceManagerName, resourceItemName); string value = localizableString.Value; if (value.IsNotNullOrEmpty()) { decisionOptionItems = LocalizableParameterValuesList.DeserializeFrom77FormatData(value, "Caption"); } else { decisionOptionItems = LocalizableParameterValuesList.DeserializeData(BranchingDecisions.Value); decisionOptionItems.SetupDefaultLocalizableValues("Caption", NoCaptionLocalizableString.Value); } } string informationOnStep = LocalizableString.IsNullOrEmpty(InformationOnStep) ? GetParameterValue("InformationOnStep")?.ToString() ?? string.Empty : InformationOnStep.Value; string executionData = SerializeToString(new { procElUId = UId, name = Name, processId = ProcessUserTaskUtilities.GetParentProcessId(Owner), isProcessExecutedBySignal = ProcessUserTaskUtilities.GetIsProcessExecutedBySignal(Owner), processName = Owner.Name, urlToken = "ProcessCardModuleV2/UserQuestionProcessPageV2", recommendation = GetActivityTitle(), informationOnStep, activityRecordId = CurrentActivityId, questionText = Question.ToString(), decisionMode = DecisionMode, isDecisionRequired = IsDecisionRequired, decisionOptions = decisionOptionItems?.To77FormatList(), executionContext = ExecutionContext, nextProcElUId = "nextProcElUIdValue" }); string userContextData = ProcessLane?.GetUserContextData(); if (!string.IsNullOrEmpty(userContextData)) { var sb = new StringBuilder(executionData); sb.Length--; sb.Append(","); sb.Append(userContextData); sb.Append("}"); executionData = sb.ToString(); } return(executionData); }
public override Dictionary <Guid, string> GetResultParameterAllValues(UserConnection userConnection, ProcessSchemaUserTask schemaUserTask) { var conditionValues = new Dictionary <Guid, string>(); ProcessSchemaParameterValue sourceValue = schemaUserTask.Parameters.GetByName("Buttons").SourceValue; LocalizableParameterValuesList items = sourceValue.LocalizableCollectionValue; if (items == null) { items = new LocalizableParameterValuesList(); } else { items.SetupDefaultLocalizableValues("Caption", "No caption"); } foreach (var item in items) { conditionValues[new Guid(item["Id"].Value)] = item["Caption"].Value; } return(conditionValues); }