public async Task <PayByQRResponseDTO> PayByQR(PayByQRRequestDTO payByQRRequestDTO) { var recievedTime = DateTime.Now; var user = _userManager.GetUserAsync(User).Result; var driver = _employeeData.GetByAPILogin(user.UserName); _logger.LogInformation($"Запрос смены оплаты заказа: { payByQRRequestDTO.OrderId }" + $" на оплату по QR-коду пользователем {HttpContext.User.Identity?.Name ?? "Unknown"} ({driver?.Id})"); var resultMessage = "OK"; try { _actionTimeHelper.ThrowIfNotValid(recievedTime, payByQRRequestDTO.ActionTime); return(await _aPIOrderData.SendQRPaymentRequestAsync(payByQRRequestDTO.OrderId, driver.Id)); } catch (Exception ex) { resultMessage = ex.Message; throw; } finally { _driverMobileAppActionRecordModel.RegisterAction( driver, DriverMobileAppActionType.PayByQRClicked, payByQRRequestDTO.ActionTime, recievedTime, resultMessage); } }