/// <summary> /// Сохранить изображения подписи асинхронно /// </summary> private async Task <IResultValue <ISignatureFile> > ToSignatureFileAsync(ISignatureFileData signatureFileData, string signatureFolder) => await _fileSystemOperations.SaveFileFromByte(FilePathOperations.CombineFilePath(signatureFolder, signatureFileData.PersonId, SignatureFile.SaveFormat), signatureFileData.SignatureSource.ToArray()). ResultValueOkAsync(filePath => new SignatureFile(signatureFileData.PersonId, signatureFileData.PersonInformation, signatureFolder, signatureFileData.IsVerticalImage));
/// <summary> /// Повернуть изображение подписи /// </summary> private static ISignatureFileData RotateSignature(ISignatureFileData signatureFileData, SignatureFileRequest signatureFileRequest) => signatureFileRequest.IsVerticalImage ? new SignatureFileData(signatureFileData.PersonId, signatureFileData.PersonInformation, ImageOperations.RotateImageInByte(signatureFileData.SignatureSource.ToArray(), ImageRotation.Rotate270, ImageFormatApplication.Jpeg), true) : signatureFileData;
/// <summary> /// Сохранить изображения подписи /// </summary> private IResultValue <ISignatureFile> ToSignatureFile(ISignatureFileData signatureFileData, string signatureFolder) => SignatureFile.GetFilePathByFolder(signatureFolder, signatureFileData.PersonId, signatureFileData.IsVerticalImage). Map(signatureFilePath => _fileSystemOperations.SaveFileFromByte(signatureFilePath, signatureFileData.SignatureSource.ToArray()). WaitAndUnwrapException()). ResultValueOk(signatureFilePath => new SignatureFile(signatureFileData.PersonId, signatureFileData.PersonInformation, signatureFilePath, signatureFileData.IsVerticalImage));
/// <summary> /// Преобразовать подпись в трансферную модель /// </summary> private static SignatureDto SignatureToDto(ISignatureFileData signatureFileData) => new SignatureDto(signatureFileData.PersonId, PersonInformationToDto(signatureFileData.PersonInformation), signatureFileData.SignatureSource.ToArray());