/// <summary> /// Конвертер информации о файле из локальной модели в трансферную /// </summary> private async Task <IResultValue <FileDataRequestClient> > ToFileDataRequest(IFileData fileData) => await _fileSystemOperations.FileToByteAndZip(fileData.FilePath). ResultValueOkBindAsync(fileSource => AdditionalFileExtensions.FileExtensions. Select(extension => FilePathOperations.ChangeFileName(fileData.FilePath, fileData.FileName, extension)). FirstOrDefault(filePath => _filePathOperations.IsFileExist(filePath)). Map(fileAdditionalPath => ToFileDataRequest(fileData, fileSource, fileAdditionalPath)));
/// <summary> /// Конвертировать список отконвертированных файлов в окончательный ответ /// </summary> private async Task <IResultValue <FileDataSourceResponseServer> > FileDataSourceToResponse(IFileDataSourceServer fileDataSourceServer) => await _fileSystemOperations.FileToByteAndZip(fileDataSourceServer.FilePathServer). MapAsync(resultFile => new FileDataSourceResponseServer(fileDataSourceServer.FileNameClient, fileDataSourceServer.FileExtensionType, fileDataSourceServer.PaperSize.ToString(), fileDataSourceServer.PrinterName, resultFile.Value). Map(fileSource => new ResultValue <FileDataSourceResponseServer>(fileSource, resultFile.Errors)));
/// <summary> /// Запаковать файл базы Microstation и преобразовать в байтовый массив /// </summary> private Task <IResultValue <byte[]> > MicrostationDataBaseToZip(string filePath) => _fileSystemOperations.FileToByteAndZip(filePath);