/// <summary> /// Converts the argument aliases to ids. /// </summary> /// <param name="structuredQuery">The structured query.</param> private void ConvertArgumentAliasesToIds(StructuredQuery structuredQuery) { if (structuredQuery?.Conditions == null || structuredQuery.Conditions.Count == 0) { return; } foreach (var condition in structuredQuery.Conditions) { if (condition.Arguments == null || condition.Arguments.Count == 0) { continue; } foreach (var arg in condition.Arguments) { if (string.IsNullOrWhiteSpace(arg.ValueString) || (!(arg.Type is ChoiceRelationshipType) && !(arg.Type is InlineRelationshipType))) { continue; } long id; if (EntityIdentificationCache.TryGetId(new EntityAlias(arg.ValueString), out id)) { arg.Value = id; } } } }
/// <summary> /// Gets an entity id from the specified alias /// </summary> /// <param name="alias"></param> /// <returns></returns> private long GetEntityId(string alias) { long id; if (!EntityIdentificationCache.TryGetId(new EntityAlias(alias), out id)) { return(-1); } return(id); }
/// <summary> /// Invalidates the bulk request cache. /// </summary> private void InvalidateBulkRequestCache( ) { long coreSolution; long consoleTopMenu; var invalidationIds = new List <long>( ); if (EntityIdentificationCache.TryGetId(new EntityAlias("core", "solution"), out coreSolution)) { invalidationIds.Add(coreSolution); } if (EntityIdentificationCache.TryGetId(new EntityAlias("console", "topMenu"), out consoleTopMenu)) { invalidationIds.Add(consoleTopMenu); } //TODO: Can we now rely on the entity invalidation mechanism, or do we need to support that. //BulkResultCache.Invalidate( invalidationIds ); }