private void UpdateContributionAmount4BTC(MarketCore marketCore, List <PricePairModel> pricePairs)
 {
     /*var coin2Token = pricePairs.First(x => x.Base == CurrencyType.BTC && x.Currency == CurrencyType.VC);
      * var coin2Usd = pricePairs.First(x => x.Base == CurrencyType.BTC && x.Currency == CurrencyType.USD);
      * var token2Usd = pricePairs.First(x => x.Base == CurrencyType.VC && x.Currency == CurrencyType.USD);
      *
      * var addresses = dc.Table<IcoContribution>()
      *  .Where(x => x.Currency == CurrencyType.BTC)
      *  .OrderByDescending(x => x.UpdatedTime)
      *  .Select(x => x.Address)
      *  .Take(10)
      *  .ToList();
      *
      * dc.DbTran(() => {
      *  var currency = dc.Table<Cryptocurrency>().First(x => x.Symbol == CurrencyType.VC);
      *
      *  addresses.ForEach(conAddr => {
      *      var addr = dc.Table<IcoContribution>().First(x => x.Address == conAddr);
      *      var received = BitcoinHelper.GetReceivedValueByAddress(conAddr);
      *      addr.Amount = received.Amount;
      *      addr.Token = received.Amount * coin2Token.Amount;
      *      currency.AvailableSupply = currency.AvailableSupply - addr.Token;
      *      addr.UpdatedTime = DateTime.UtcNow;
      *  });
      *
      * });*/
 }
 private void UpdateContributionAmount4ETH(MarketCore marketCore, List <PricePairModel> pricePairs)
 {
     /*var addresses = dc.Table<IcoContribution>()
      *  .Where(x => x.Currency == CurrencyType.ETH)
      *  .OrderByDescending(x => x.UpdatedTime)
      *  .Select(x => x.Address)
      *  .Take(10)
      *  .ToArray();
      *
      * // Sample https://etherscan.io/tx/0x3cbe0ae1cdd73bc674557514110e3d6f57598a371629b29fe4b2cbf26028ed4e
      * var etherscan = new EtherscanClient(Database.Configuration.GetSection("Etherscan:ApiKey").Value);
      * var transactions = etherscan.GetTransactions(addresses);
      *
      * var couponCore = new CouponCore(dc, Database.Configuration);
      *
      * dc.DbTran(() => {
      *  var conAddrs = dc.Table<IcoContribution>().Where(x => addresses.Contains(x.Address)).ToList();
      *
      *  // Loop every receive address
      *  conAddrs.ForEach(conAddr => {
      *
      *      // check coupon
      *      var coupon = couponCore.GetLastedCouponByUser(conAddr.UserId);
      *      if(coupon != null)
      *      {
      *          pricePairs = marketCore.ApplyCoupon(pricePairs, coupon.Code);
      *      }
      *
      *      // loop every transaction
      *      transactions.Where(x => x.To.ToLower() == conAddr.Address.ToLower())
      *          .ToList()
      *          .ForEach(tx =>
      *          {
      *              AddTransaction(conAddr.Id, tx.Amount, tx.Hash, CurrencyType.ETH, pricePairs);
      *          });
      *
      *      dc.SaveChanges();
      *
      *      var coin2Token = MarketCore.GetPricePair(CurrencyType.ETH, CurrencyType.VC, pricePairs);
      *      conAddr.Amount = dc.Table<ContributionTransaction>().Where(x => x.ContributionId == conAddr.Id).Sum(x => x.Amount);
      *      conAddr.Token = conAddr.Amount * coin2Token.Amount;
      *      conAddr.UpdatedTime = DateTime.UtcNow;
      *  });
      *
      * });*/
 }