/// <summary> /// Сохранить дополнительный файл /// </summary> private async Task <IResultError> SaveAdditionalFileIsNeed(FileDataRequestServer fileDataRequest, string directoryPath, Guid guidPackage) => await fileDataRequest.FileExtensionAdditional. WhereContinueAsyncBind(filePath => !String.IsNullOrWhiteSpace(fileDataRequest.FileExtensionAdditional), okFunc : _ => SaveAdditionalFile(fileDataRequest, directoryPath, guidPackage). MapAsync(result => result.ToResult()), badFunc : _ => Task.FromResult((IResultError) new ResultError()));
/// <summary> /// Сохранить дополнительный файл /// </summary> private async Task <IResultValue <string> > SaveAdditionalFile(FileDataRequestServer fileDataRequest, string directoryPath, Guid guidPackage) => await FilePathOperations.CombineFilePath(directoryPath, guidPackage.ToString(), fileDataRequest.FileExtensionAdditional). WhereContinueAsyncBind(_ => fileDataRequest.FileDataSourceAdditional != null && fileDataRequest.FileDataSourceAdditional.Length > 0, okFunc: filePath => _fileSystemOperations.UnzipFileAndSave(filePath, fileDataRequest.FileDataSourceAdditional), badFunc: filePath => new ResultValue <string>(new ErrorCommon(ErrorConvertingType.ValueNotInitialized, $"Файл дополнительный данных не задан {filePath}")). Map(result => Task.FromResult((IResultValue <string>)result)));
/// <summary> /// Сохранить файл /// </summary> private async Task <IResultValue <string> > SaveFile(FileDataRequestServer fileDataRequest, string directoryPath, Guid guidPackage) => await Path.Combine(directoryPath, guidPackage + Path.GetExtension(fileDataRequest.FilePath)). Map(filePath => _fileSystemOperations.UnzipFileAndSave(filePath, fileDataRequest.FileDataSource));
/// <summary> /// Сохранить данные из трансферной модели на жесткий диск /// </summary> private async Task <IResultValue <string> > SaveFileFromDtoRequest(FileDataRequestServer fileDataRequest, string packageGuid) => await ValidateDtoData.IsFileDataRequestValid(fileDataRequest).
/// <summary> /// Конвертер информации из трансферной модели в единичный класс /// </summary> private async Task <IResultValue <IFileDataServer> > ToFileDataServerAndSaveFile(FileDataRequestServer fileDataRequest, string packageGuid) => await SaveFileFromDtoRequest(fileDataRequest, packageGuid). ResultValueOkAsync(filePath => new FileDataServer(filePath, fileDataRequest.FilePath, fileDataRequest.ColorPrintType, StatusProcessing.InQueue, new List <IErrorCommon>()));