private static Dictionary <string, object> GetSchemaParameterValues(UserConnection userConnection, BaseProcessSchemaElement baseSchemaElement, IEnumerable <CompleteParameter> completeParameters) { var schemaParameterValues = new Dictionary <string, object>(); var schemaElement = (IProcessParametersMetaInfo)baseSchemaElement; ProcessSchemaParameterCollection schemaElementParameters = schemaElement.ForceGetParameters(); foreach (CompleteParameter parameter in completeParameters) { ProcessSchemaParameter userTaskParameter = schemaElementParameters.FindByName(parameter.key); if (userTaskParameter == null) { continue; } var dataParameter = new Parameter { Value = parameter.value }; Terrasoft.Core.DataValueType dataValueType = userTaskParameter.DataValueType; if (dataValueType is DateTimeDataValueType && dataParameter.Value == null) { dataParameter.Value = "null"; } object parameterValue = dataParameter.GetValue(userConnection, userTaskParameter.DataValueType); schemaParameterValues[userTaskParameter.Name] = parameterValue; } return(schemaParameterValues); }
private EntitySchema FindSourceEntitySchema() { EntitySchemaManager entitySchemaManager = UserTask.UserConnection.EntitySchemaManager; BaseProcessSchemaElement userTaskSchema = UserTask.GetSchemaElement(); var parametersMetaInfo = userTaskSchema as IProcessParametersMetaInfo; EntitySchema schema = null; if (parametersMetaInfo != null) { ProcessSchemaParameterCollection parameters = parametersMetaInfo.ForceGetParameters(); ProcessSchemaParameter parameter = parameters.GetByName("EmailTemplateEntityId"); schema = entitySchemaManager.FindInstanceByUId(parameter.ReferenceSchemaUId); } return(schema); }