using System.IO; using Livia.Models; using Livia.Models.Data; using Livia.Utility.DependencyInjection; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging; namespace iBrain.Models; internal class BuptIBrainServerHandler(ILogger logger, LiviaHttpClientFactory liviaHttpClientFactory) : ServerHandler(logger, liviaHttpClientFactory) { private readonly ILogger _logger = logger; public override Task<(bool success, string messageIndex)> SelectReportModule(string fileName, SelectReportModuleJson json, CancellationToken token) { try { IDataBlockLoader dataBlockLoader = ActivatorUtilities.GetServiceOrCreateInstance(ServiceProviderFactory.ServiceProvider); File.Copy(Path.Join(dataBlockLoader.CurrentDisplayingDataBlock?.ResultPath, "T1ImgCSAR", "report.pdf"), fileName, true); return Task.FromResult((true, "DownloadReportSuccess")); } catch (Exception e) { _logger.LogError(e, "Error ReportModule"); return Task.FromResult((false, "ExportFailed")); } } }