public bool RegistrationUndefinedTransfer(int paymentTransferId, int?paymentSysId)
 {
     try
     {
         return(DbProcessing.RegistrationUndefinedTransfer(paymentTransferId, paymentSysId));
     }
     catch (Exception ex)
     {
         Logger.Error("RegistrationUndefinedTransfer() - ошибка при зачислении средств на кошелёк", ex);
         return(false);
     }
 }
        /// <summary>
        ///  Зачисление средств в T# кошелёк пользователя
        /// </summary>
        /// <param name="walletId">всегда должен быть только один, иначе один платёж в платёжной системе увеличит средства нескольких пользователей</param>
        /// <param name="currency"></param>
        /// <param name="amount"></param>
        /// <param name="data"></param>
        public bool DepositOnWallet(int walletId, string currency, decimal amount, DateTime data)
        {
            try
            {
                var userPaymentSysId = DbProcessing.GetUserPaymentSysId(walletId);
                if (!userPaymentSysId.HasValue)
                {
                    return(false);
                }

                var wallet = DbProcessing.GetWalletById(walletId);
                if (wallet == null)
                {
                    return(false);
                }

                var additionalAmount = amount;
                if (wallet.Currency != currency) // Нужно конвертировать средства в валюту T# кошелька
                {
                    var convertAmount = PaymentProcessor.ConvertPaySysCurrencyToWalletCurrency(wallet.Currency, currency, (double)amount);
                    if (!convertAmount.HasValue)
                    {
                        var message = string.Format(
                            "Не удалось произвести зачисление на TradeSharp кошелёк {0} средств в размере {1} {2}. \r\n" +
                            "Причина: не удалось сконвертировать валюту перевода {2} в валюту целевого TradeSharp кошелька {3}. \r\n" +
                            "Будет произведена попытка провести платёж как 'Неопознанный'. Администратор базы данных должен вручную зачислить \r\n" +
                            "средства на этот кошелёк, внеся изменения в таблицы WALLET и PAYMENT_SYSTEM_TRANSFER.",
                            wallet.User, amount.ToStringUniformMoneyFormat(), currency, wallet.Currency);

                        Logger.Error(message);
                        return(false);
                    }
                    additionalAmount = convertAmount.Value;
                }

                // Сохраняем всё в базу данных
                return(DbProcessing.DepositOnWallet(wallet, additionalAmount, data, userPaymentSysId.Value));
            }
            catch (Exception ex)
            {
                Logger.Error("DepositOnWallet - ошибка при зачислении средств на кошелёк", ex);
                return(false);
            }
        }