Improved search to not require exact match (#5037)

This commit is contained in:
MariusVuscanNx 2024-03-05 20:07:09 +02:00 committed by GitHub
parent 87058ac147
commit 8e619e49e6
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 4 additions and 4 deletions

View file

@ -172,7 +172,7 @@ public static class ParameterizedQueryBuilderExtensions
if (string.IsNullOrWhiteSpace(searchTerm)) return query;
var searchTermLike = $"%{searchTerm}%";
query.Sql.AppendLine("and (Name like @SearchTermLike or Description like @SearchTermLike or Id = @SearchTerm or DefinitionId = @SearchTerm)");
query.Sql.AppendLine("and (Name like @SearchTermLike or Description like @SearchTermLike or Id like @SearchTerm or DefinitionId like @SearchTerm)");
query.Parameters.Add("@SearchTerm", searchTerm);
query.Parameters.Add("@SearchTermLike", searchTermLike);
return query;
@ -249,7 +249,7 @@ public static class ParameterizedQueryBuilderExtensions
if (string.IsNullOrWhiteSpace(searchTerm)) return query;
var searchTermLike = $"%{searchTerm}%";
query.Sql.AppendLine("and (Name like @SearchTermLike or ID = @SearchTerm or DefinitionId = @SearchTerm or DefinitionVersionId = @SearchTerm or CorrelationId = @SearchTerm)");
query.Sql.AppendLine("and (Name like @SearchTermLike or ID like @SearchTerm or DefinitionId like @SearchTerm or DefinitionVersionId like @SearchTerm or CorrelationId like @SearchTerm)");
query.Parameters.Add("@SearchTerm", searchTerm);
query.Parameters.Add("@SearchTermLike", searchTermLike);
return query;

View file

@ -192,7 +192,7 @@ public class EFCoreWorkflowDefinitionStore : IWorkflowDefinitionStore
if (filter.Name != null) queryable = queryable.Where(x => x.Name == filter.Name);
if (filter.Names != null) queryable = queryable.Where(x => filter.Names.Contains(x.Name!));
if (filter.UsableAsActivity != null) queryable = queryable.Where(x => EF.Property<bool>(x, "UsableAsActivity") == filter.UsableAsActivity);
if (!string.IsNullOrWhiteSpace(filter.SearchTerm)) queryable = queryable.Where(x => x.Name!.Contains(filter.SearchTerm) || x.Description!.Contains(filter.SearchTerm) || x.Id == filter.SearchTerm || x.DefinitionId == filter.SearchTerm);
if (!string.IsNullOrWhiteSpace(filter.SearchTerm)) queryable = queryable.Where(x => x.Name!.Contains(filter.SearchTerm) || x.Description!.Contains(filter.SearchTerm) || x.Id.Contains(filter.SearchTerm) || x.DefinitionId.Contains(filter.SearchTerm));
return queryable;
}

View file

@ -78,7 +78,7 @@ public class WorkflowDefinitionFilter
if (filter.Name != null) queryable = queryable.Where(x => x.Name == filter.Name);
if (filter.Names != null) queryable = queryable.Where(x => filter.Names.Contains(x.Name!));
if (filter.UsableAsActivity != null) queryable = queryable.Where(x => x.Options.UsableAsActivity == filter.UsableAsActivity);
if (!string.IsNullOrWhiteSpace(filter.SearchTerm)) queryable = queryable.Where(x => x.Name!.Contains(filter.SearchTerm) || x.Description!.Contains(filter.SearchTerm) || x.Id == filter.SearchTerm || x.DefinitionId == filter.SearchTerm);
if (!string.IsNullOrWhiteSpace(filter.SearchTerm)) queryable = queryable.Where(x => x.Name!.Contains(filter.SearchTerm) || x.Description!.Contains(filter.SearchTerm) || x.Id.Contains(filter.SearchTerm) || x.DefinitionId.Contains(filter.SearchTerm));
return queryable;
}