public IRefAst MutateReference(IRefAst lookupKeyCurrent, MemberInfo key, object value) { var valueStr = GetStringValue(key, value); if (this.Facet) { return(lookupKeyCurrent.RowKey.AsAstRef(valueStr)); } return($"{lookupKeyCurrent.RowKey}{valueStr}".AsAstRef(lookupKeyCurrent.PartitionKey)); }
public bool TryGetIntegrationKey(string integrationId, MemberInfo key, object value, out IRefAst astLookup) { var integrationKey = (string)value; if (integrationKey.IsNullOrWhiteSpace()) { astLookup = default; return(false); } var integrationKeyHashInt = integrationKey.GetBytes().HashXX64(); var integrationKeyHash = integrationKeyHashInt.ToString("X").Substring(0, (int)this.Characters); var partitionKey = integrationId + integrationKeyHash; astLookup = new RefAst(integrationKey, partitionKey); return(true); }
public static IRefAst <TRef> Cast <TRef>(this IRefAst astRef) { return(new RefAst <TRef>(astRef.RowKey, astRef.PartitionKey)); }