/// <summary> /// Add all database query parameters. /// </summary> private void AddAllParameters(QuerySettings settings, QueryBuild result, IDatabaseContext context, IDbDataAdapter adapter) { IDbCommand selectCommand = adapter.SelectCommand; selectCommand.AddParameter(TenantParameterName, DatabaseType.IdentifierType, RequestContext.TenantId); if (result.DataReliesOnCurrentUser) { selectCommand.AddParameter(UserParameterName, DatabaseType.IdentifierType, settings.RunAsUser); } if (result.EntityBatchDataTable != null) { selectCommand.AddTableValuedParameter(EntityBatchParameterName, result.EntityBatchDataTable); } AddQuickSearchParameter(settings, selectCommand); AddFauxRelationshipParameters(settings, selectCommand); AddRootIdFilterParameter(settings, selectCommand); if (settings.ValueList != null) { selectCommand.AddStringListParameter("@valueList", settings.ValueList); } if (settings.SupportPaging) { SetPage(settings.FirstRow, settings.FirstRow + settings.PageSize, selectCommand); } if (result.SharedParameters != null) { foreach (KeyValuePair <ParameterValue, string> parameter in result.SharedParameters) { selectCommand.AddParameter(parameter.Value, parameter.Key.Type, parameter.Key.Value); } } }