Exemplo n.º 1
0
        public void PayBySms(PayBySmsRequestDto payBySmsRequestModel)
        {
            var recievedTime = DateTime.Now;

            var user   = _userManager.GetUserAsync(User).Result;
            var driver = _employeeData.GetByAPILogin(user.UserName);

            _logger.LogInformation($"Запрос смены оплаты заказа: { payBySmsRequestModel.OrderId }" +
                                   $" на оплату по СМС с номером { payBySmsRequestModel.PhoneNumber } пользователем {HttpContext.User.Identity?.Name ?? "Unknown"} ({driver?.Id})");

            var resultMessage = "OK";

            try
            {
                _actionTimeHelper.ThrowIfNotValid(recievedTime, payBySmsRequestModel.ActionTime);

                _aPIOrderData.SendSmsPaymentRequest(payBySmsRequestModel.OrderId, payBySmsRequestModel.PhoneNumber, driver.Id);
            }
            catch (Exception ex)
            {
                resultMessage = ex.Message;
                throw;
            }
            finally
            {
                _driverMobileAppActionRecordModel.RegisterAction(driver,
                                                                 DriverMobileAppActionType.PayBySmsClicked,
                                                                 payBySmsRequestModel.ActionTime,
                                                                 recievedTime,
                                                                 resultMessage);
            }
        }