Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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);
        }