static public string CreateFullName(tgDynamicQuerySerializable query) { IDynamicQuerySerializableInternal iQuery = query as IDynamicQuerySerializableInternal; tgMetadata meta = query; string name = String.Empty; string catalog = meta.Catalog ?? null; string schema = meta.Schema ?? null; if (catalog != null && schema != null) { name += Delimiters.TableOpen + catalog + Delimiters.TableClose + "."; } if (schema != null) { name += Delimiters.TableOpen + schema + Delimiters.TableClose + "."; } name += Delimiters.TableOpen; if (query.tg.QuerySource != null) { name += query.tg.QuerySource; } else { name += meta.Destination; } name += Delimiters.TableClose; return(name); }
static public Dictionary <string, SqlParameter> GetParameters(tgDynamicQuerySerializable query) { tgMetadata meta = null; lock (parameterCache) { meta = query; if (!parameterCache.ContainsKey(meta.DataID)) { // The Parameters for this Table haven't been cached yet, this is a one time operation Dictionary <string, SqlParameter> types = new Dictionary <string, SqlParameter>(); SqlParameter param1; foreach (tgColumnMetadata col in meta.Columns) { tgTypeMap typeMap = meta.GetTypeMap(col.PropertyName); if (typeMap != null) { string nativeType = typeMap.NativeType; SqlDbType dbType = Cache.NativeTypeToDbType(nativeType); param1 = new SqlParameter(Delimiters.Param + col.PropertyName, dbType, 0, col.PropertyName); param1.SourceColumn = col.Name; switch (dbType) { case SqlDbType.BigInt: case SqlDbType.Decimal: case SqlDbType.Float: case SqlDbType.Int: case SqlDbType.Money: case SqlDbType.Real: case SqlDbType.SmallMoney: case SqlDbType.TinyInt: case SqlDbType.SmallInt: param1.Size = (int)col.CharacterMaxLength; param1.Precision = (byte)col.NumericPrecision; param1.Scale = (byte)col.NumericScale; break; case SqlDbType.DateTime: param1.Precision = 23; param1.Scale = 3; break; case SqlDbType.SmallDateTime: param1.Precision = 16; break; case SqlDbType.Udt: SetUdtTypeNameToAvoidMonoError(param1, typeMap); break; } types[col.Name] = param1; } } parameterCache[meta.DataID] = types; } } return(parameterCache[meta.DataID]); }