Explorar el Código

implemented prefix full-text search

BE_dev
Dzenis Hadzifejzovic hace 2 años
padre
commit
012ecd4fea
Se han modificado 1 ficheros con 4 adiciones y 5 borrados
  1. 4
    5
      Diligent.WebAPI.Business/Services/FileEntityService.cs

+ 4
- 5
Diligent.WebAPI.Business/Services/FileEntityService.cs Ver fichero

@@ -41,21 +41,20 @@ namespace Diligent.WebAPI.Business.Services
public async Task<object> GetAllFiltered(FileFilter filters)
{
using var connection = new SqlConnection(_configuration.GetConnectionString("WebApi"));
var sql = @"SELECT Files.Id as FileId, Files.Deleted, stream_id, DocumentOrganizerDocStore.name as FileName, file_stream, file_type, cached_file_size, Title, Tags.Id as TagId, Tags.Name as TagName, Categories.Id as CategoryId, Categories.Name as CategoryName
FROM Files inner join FileEntityTag on Files.Id = FileEntityTag.FilesId
inner join Tags on FileEntityTag.TagsId = Tags.Id
inner join Categories on Files.CategoryId = Categories.Id
inner join DocumentOrganizerDocStore on DocumentOrganizerDocStore.stream_id = Files.DocumentId WHERE Files.Deleted = 0" +
(filters.Content is null ? "" : $" where contains(DocumentOrganizerDocStore.file_stream,@content);");
(filters.Content is null ? "" : " and contains(DocumentOrganizerDocStore.file_stream," + "'\"" + filters.Content + "*\"')");

var files = await connection.QueryAsync<FileFilterReturn, TagResponse, CategoryResponse, FileFilterReturn>(sql,(file, tag, category) =>
{
file.Tags.Add(tag);
file.Category = category;
return file;
}, splitOn: "TagId, CategoryId",
param:new {content = filters.Content});
}, splitOn: "TagId, CategoryId");

var filesList = new List<FileFilterReturnDto>();
foreach (var fileItem in files.ToList())
@@ -71,7 +70,7 @@ namespace Diligent.WebAPI.Business.Services
Title = fileItem.Title
};
// return File_stream in base64 format
MemoryStream stream = new MemoryStream(fileItem.File_stream);
MemoryStream stream = new (fileItem.File_stream);
fileFilterReturnDto.File_stream = ConvertToBase64(stream);
filesList.Add(fileFilterReturnDto);
}

Cargando…
Cancelar
Guardar