コード例 #1
0
 /// <summary>
 /// Отправить промежуточный отчет
 /// </summary>
 private async Task <IResultValue <IPackageServer> > SendIntermediateResponse(IPackageServer packageServer, IFileDataServer fileDataServer) =>
 await _converterServerPackageDataToDto.FileDataToResponse(fileDataServer).
 Void(_ => _messagingService.ShowMessage("Отправка данных в базу...")).
 MapBindAsync(fileDataRequest => _convertingServerServiceFactory.
              UsingServiceRetry(service => service.Operations.UpdateFromIntermediateResponse(packageServer.Id, fileDataRequest))).
 ResultVoidBadAsync(errors => _loggerService.ErrorsLog(errors)).
 ResultVoidBadAsync(errors => _messagingService.ShowErrors(errors)).
 ResultValueOkAsync(packageServer.SetStatusProcessingProject);
コード例 #2
0
 /// <summary>
 /// Отобразить и записать в лог ошибки
 /// </summary>
 public void ShowAndLogErrors(IEnumerable <IErrorCommon> errorsConverting) =>
 errorsConverting.
 Void(ShowErrors).
 Void(error => _loggerService.ErrorsLog(error));
コード例 #3
0
 /// <summary>
 /// Выполнить функцию для сервиса конвертации и проверить на ошибки
 /// </summary>
 protected async Task <IResultValue <TResult> > UsingServiceDefault <TResult>(Expression <Func <TService, Task <TResult> > > serviceExpression) =>
 await GetService(IsInitMethodService(ReflectionInfo.GetExpressionName(serviceExpression))).
 Map(fileConvertingService => ExecuteAndHandleErrorAsync(() => serviceExpression.Compile()(fileConvertingService))).
 ResultVoidBadAsync(errors => _loggerService.ErrorsLog(errors)).
 WhereOkAsync(result => IsDisposeMethodService(ReflectionInfo.GetExpressionName(serviceExpression)),
              okFunc: result => result.ResultVoid(_ => Dispose()));