| @@ -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); | |||
| } | |||