示例#1
0
        /// <summary>
        /// Получить аккаунт
        /// </summary>
        /// <param name="login">логин</param>
        /// <param name="password">пароль</param>
        /// <returns>аккаунт</returns>
        protected AccountBase(string login, string password)
        {
            _provider = GetBillingProvider();
            BillingResponce <string> resp = _provider.Login(login, password);

            _sessionKey = GetSessionKey(resp);
            _login      = login;
        }
示例#2
0
 protected override string GetSessionKey(BillingResponce <string> resp)
 {
     throw new NotImplementedException();
 }
示例#3
0
 protected override bool GetCanPayValue(BillingResponce <bool> resp)
 {
     throw new NotImplementedException();
 }
示例#4
0
 protected override decimal GetDecrementBallanceValue(BillingResponce <decimal> resp)
 {
     throw new NotImplementedException();
 }
示例#5
0
        private decimal GetBallance(string _sessionKey)
        {
            BillingResponce <decimal> resp = _provider.GetBallance(_sessionKey);

            return(this.GetBallanceValue(resp));
        }
示例#6
0
        /// <summary>
        /// Проверить возможность провдения платежа
        /// </summary>
        /// <param name="amount">размер вероятного списания</param>
        /// <returns>да.нет</returns>
        public bool CanPay(decimal amount)
        {
            BillingResponce <bool> resp = _provider.CanPay(amount, _sessionKey);

            return(GetCanPayValue(resp));
        }
示例#7
0
        /// <summary>
        /// Уменьшить баланс на величину
        /// </summary>
        /// <param name="amount">значение для снятия</param>
        /// <returns>новое значение баланса</returns>
        public decimal DecrementBallance(decimal amount)
        {
            BillingResponce <decimal> resp = _provider.DecrementBallance(amount, _sessionKey);

            return(GetDecrementBallanceValue(resp));
        }
示例#8
0
 /// <summary>
 /// Метод анализа ответа конкретного провайдера биллинга и выдача ответа по входу в систему
 /// </summary>
 /// <param name="resp">ответ биллинга</param>
 /// <returns>сессионный ключ</returns>
 protected abstract string GetSessionKey(BillingResponce <string> resp);
示例#9
0
 protected abstract bool GetCanPayValue(BillingResponce <bool> resp);
示例#10
0
 protected abstract decimal GetDecrementBallanceValue(BillingResponce <decimal> resp);