/// <summary> /// Загрузить подписи в базу /// </summary> private async Task UploadSignaturesToDataBase(IReadOnlyList <ISignatureFileData> signatureFileData) => await signatureFileData. Void(_ => _messagingService.ShowMessage("Удаление подписей в базе")). Map(signatures => _signatureServerServiceFactory.UsingServiceRetry(service => service.Operations.DeleteSignatures())). MapAsync(_ => ConverterDataFileToDto.SignaturesToDto(signatureFileData)). VoidAsync(_ => _messagingService.ShowMessage("Отправка подписей в базу")). MapBindAsync(signatures => _signatureServerServiceFactory.UsingServiceRetry(service => service.Operations.UploadSignatures(signatures))). VoidAsync(ShowMessage);
/// <summary> /// Получить подписи по идентификаторам синхронно /// </summary> private static Func <IList <SignatureFileRequest>, IResultAppCollection <ISignatureFileApp> > GetSignaturesSyncList(SignatureServerServiceFactory signatureServerServiceFactory, ISignatureConverter signatureConverter, string signatureFolder) => signaturesFileRequest => signaturesFileRequest. Select(signatureRequest => signatureRequest.PersonId). Map(ids => signatureServerServiceFactory.UsingServiceRetry(service => service.Operations.GetSignatures(ids.ToList()))). WaitAndUnwrapException(). ToResultValueApplication(). ResultValueOk(ConverterDataFileFromDto.SignaturesFileDataFromDto). Map(signatures => GetSignaturesFileApp(signatures, signaturesFileRequest, signatureConverter, signatureFolder));
private async Task <IResultValue <string> > GetSignaturesMicrostation() => await _signatureServerServiceFactory.UsingServiceRetry(service => service.Operations.GetSignaturesMicrostation()). ResultValueOkAsync(ConverterMicrostationDataFromDto.MicrostationDataFileFromDto). ResultValueOkBindAsync(signatures => _fileSystemOperations.UnzipFileAndSave(_signatureMicrostationFileName, signatures.MicrostationDataBase));