示例#1
0
        protected static ActivityVariable <T> GetVariable <T>(ActivityVariable <T> variableDefinition, GetVariablesDelegate getMethod, int id)
        {
            object rawVariable = null;

            if (id != DummyId)
            {
                using (Transaction trans = DatabaseAccess.ForSystemDatabase.GetRequestTransaction()) {
                    using (IDataReader reader = getMethod(trans, variableDefinition.Key, id)) {
                        if (reader.Read())
                        {
                            rawVariable = RuntimePlatformUtils.ConvertFromString((string)reader["Value"], (string)reader["Data_Type"]);
                        }
                    }
                }
            }

            return((rawVariable != null) ? variableDefinition.NewInstance <T>(rawVariable) : variableDefinition.NewInstance <T>());
        }