/// <summary>
        /// The algorithm goes from quarters to nickels. Tries to give as many quarters,dimes, nickels(in this order) as possible
        /// </summary>
        /// <param name="RemainingAmount">The remaining amount to be tendered to the user</param>
        /// <returns></returns>

        public static decimal TenderChange(decimal TotalAmount, string ProductName)
        {
            decimal RemainingAmount = TotalAmount - ProductDictionary[ProductName].ProductPrice;

            foreach (Coin coin in AcceptedCoinsDictionary.Keys)
            {
                CoinValues CoinValues = AcceptedCoinsDictionary[coin];

                //Number of coins for the current coin value
                int n = (int)(RemainingAmount / CoinValues.Value);

                int i = 0;

                //n > 0 only if the remaining Amount is greater than coin value
                if (n > 0)
                {
                    //Eg: This check ensures that the maximum number of coins <=n are subtracted without the coin count running negative.
                    while (CoinValues.Count > 0 && i < n)
                    {
                        i++;
                        CoinValues.Count--;
                        RemainingAmount = RemainingAmount - CoinValues.Value; //Subtract the amount taken off
                    }
                }


                if (RemainingAmount == 0)
                {
                    return(0); //Indicates that the amount to be tendered has been fulfilled.
                }
            }
            return(RemainingAmount); //Vending machine unable to tender this change
        }
        public ActionResult RefreshCurrency(string currencyname)
        {
            var  coins = CoinValues.GetValues().ToList();
            Coin coin  = coins
                         .Where(v => v.Name.Contains(currencyname))
                         .First();

            Coin Bitcoin = coins
                           .Where(v => v.Name == "Bitcoin".Replace(" ", string.Empty))
                           .First();

            decimal CurrencyUsdPrice = coin.Price;
            decimal BitcoinPrice     = Bitcoin.Price;

            var db   = new SiteDbContext();
            var user = db.Users.Find(User.Identity.GetUserId());

            var UserUsdBalance      = user.Balance * BitcoinPrice;
            var UserCurrencyBalance = user.Wallet[currencyname.Replace(" ", string.Empty)];

            var Data = Newtonsoft.Json.JsonConvert.SerializeObject(new
            {
                CurrencyUsdPrice    = CurrencyUsdPrice,
                BitcoinPrice        = BitcoinPrice,
                UserBtcBalance      = user.Balance,
                UserUsdBalance      = UserUsdBalance,
                UserCurrencyBalance = UserCurrencyBalance,
                UserOrders          = user.LimitOrders.ToList()
            }, new JsonSerializerSettings
            {
                PreserveReferencesHandling = PreserveReferencesHandling.Objects
            });

            return(Json(Data, JsonRequestBehavior.AllowGet));
        }
Example #3
0
        public ActionResult Index()
        {
            if (!Request.IsAuthenticated)
            {
                HomeAuthenticated model = new HomeAuthenticated();

                var btc = CoinValues.GetStatistic().Where(c => c.Name.Contains("Bitcoin")).First();
                model.Bitcoin = btc;

                return(View(model));
            }
            else
            {
                SiteDbContext db   = new SiteDbContext();
                var           user = db.Users.Find(User.Identity.GetUserId());
                user.Transactions = user.Transactions;
                user.Wallet       = user.Wallet;


                HomeAuthenticated model = new HomeAuthenticated();
                model.UserData = db.Users.Find(User.Identity.GetUserId());
                model.Bitcoin  = CoinValues.GetStatistic().Where(c => c.Name.Contains("Bitcoin")).First();

                var TotalBalanceUSD = ProfileController.CalculateTotalBalance(user);

                model.TotalBalance = TotalBalanceUSD;

                return(View(model));
            }
        }
Example #4
0
    private void Start()
    {
        _rotateCoin = new Routine <int, bool>(RotateCoin, this);

        Coins.Assign(onInteract: i => _rotateCoin.Start(i, true, allowSimultaneousRuns: false));

        coinStates = Helper.RandomBooleans(CoinCount);

        hammingCodes = Get <KMBombInfo>().GetSerialNumber()
                       .Select(c => Chars.Contains(c))
                       .ToArray();

        // This flips each coin if needed.
        for (int i = 0; i < CoinCount; i++)
        {
            ApplyRotation(i, 0, 0.6f);
        }

        Log("The hamming code is {0}.",
            hammingCodes.Select(b => b ? "1" : "0").Join(""));

        Log("The coins are arranged as {0}, making the answer {1}. (chess-coordinates)",
            CoinValues.Select(n => n % 2 == 1 ? "1" : "0").Join(""),
            ToCoordinate(GetExampleAnswer()));
    }
Example #5
0
        public ActionResult Statistics(string currency)
        {
            var Currencies = CoinValues.GetStatistic().Where(cur => cur.Name == currency);

            var BitcoinPrice = CoinValues.GetValues().Where(c => c.Name == "Bitcoin").First().Price;

            if (currency == null || Currencies.Count() == 0 || Currencies.Count() > 1)
            {
                return(View("Index"));
            }

            Coin Currency                   = Currencies.First();
            var  db                         = new SiteDbContext();
            List <LimitOrder>  Orders       = db.LimitOrders.Where(c => c.Currency == Currency.Name).ToList();
            List <Transaction> Transactions = db.Transactions.Where(c => c.Currency == Currency.Name).ToList();


            Statistics statistics = new Statistics();

            statistics.Volume            = Transactions.Sum(tr => tr.TotalUSD);
            statistics.TotalTransactions = Transactions.Count;
            statistics.Currency          = Currency;
            statistics.OpenOrders        = Orders.Count;
            statistics.Orders            = Orders;
            statistics.Transactions      = Transactions.OrderByDescending(tr => tr.Date).ToList();
            statistics.BitcoinPrice      = BitcoinPrice;


            return(View(statistics));
        }
        public ActionResult Sell(string amount, string name)
        {
            decimal d;

            if (!decimal.TryParse(amount, out d))
            {
                return(View("Index"));
            }

            var     userId        = User.Identity.GetUserId();
            decimal sold          = decimal.Parse(amount, CultureInfo.InvariantCulture);
            decimal currencyPrice = CoinValues.GetValues().Where(v => v.Name == name).First().Price;
            decimal bitcoin       = CoinValues.GetBtcValue().Price;

            decimal boughtPrice = sold * currencyPrice;
            decimal btcPrice    = boughtPrice / bitcoin;


            using (var db = new SiteDbContext())
            {
                var user    = db.Users.Find(userId);
                var userBTC = user.Balance;
                if (sold > user.Wallet[name.Replace(" ", string.Empty)] || sold < 0)
                {
                    return(View("Index"));
                }

                user.Wallet[name.Replace(" ", string.Empty)] -= sold;
                user.Balance += btcPrice;

                //add Transaction
                var transaction = new Transaction()
                {
                    Amount        = sold,
                    Currency      = name,
                    Date          = DateTime.Now,
                    User          = user,
                    Type          = "Sold",
                    CurrencyPrice = currencyPrice,
                    TotalUSD      = sold * currencyPrice
                };
                db.Transactions.Add(transaction);

                db.SaveChanges();

                var Data = Newtonsoft.Json.JsonConvert.SerializeObject(new
                {
                    CurrencyCurrentPrice = currencyPrice,
                    CurrencyBalance      = user.Wallet[name.Replace(" ", string.Empty)],
                    UserBtcBalance       = user.Balance,
                    UserUsdBalance       = user.Balance * CoinValues.GetBtcValue().Price
                });
                ViewBag.Result = "Successfully";

                return(Json(Data, JsonRequestBehavior.AllowGet));
            }
        }
        public ActionResult Index(string currency)
        {
            if (currency == null)
            {
                //    var Coins = CoinValues.GetValues().Skip(1).Take(49).ToList();

                //    for (int i = 2; i < 51; i++)
                //    {
                //        var image = Coins[i-2].CoinImage;
                //       // var number = i + 1;

                //        using (WebClient client = new WebClient())
                //        {
                //            client.DownloadFile(new Uri(image), Server.MapPath(Path.Combine("~/Resources/CoinImages/", +i + ".png")));


                //        }
                //    }



                return(View());
            }



            var CurrencyName = CoinValues.GetCurrencyName().Where(c => c.Value == currency).First().Value;
            var tradeData    = new TradePage();

            tradeData.Name           = CurrencyName;
            tradeData.Price          = CoinValues.GetValues().Where(c => c.Name == CurrencyName).First().Price;
            tradeData.PriceBTC       = (tradeData.Price / CoinValues.GetBtcValue().Price);
            tradeData.PriceBtcString = string.Format("{0:F8}", tradeData.PriceBTC).Replace(",", ".");
            tradeData.ImageNumber    = CoinValues.GetCurrencyName().Where(c => c.Value == currency).First().Key;
            tradeData.AllCoins       = CoinValues.GetCurrencyName();



            using (var db = new SiteDbContext())
            {
                var user = db.Users.Find(User.Identity.GetUserId());
                tradeData.UserBalanceBTC = user.Balance;
                tradeData.UserBalanceUSD = user.Balance * CoinValues.GetBtcValue().Price;
                user.Wallet               = user.Wallet;
                user.LimitOrders          = user.LimitOrders.OrderByDescending(order => order.OrderDate).ToList();
                tradeData.User            = user;
                tradeData.CurrencyBalance = user.Wallet[currency.Replace(" ", string.Empty)];
            }

            return(View("TradePage", tradeData));
        }
        public ActionResult BuyLimitOrder(string currencyname, string buyamount, string buyatprice)
        {
            var userId = User.Identity.GetUserId();
            var db     = new SiteDbContext();
            var user   = db.Users.Find(userId);

            decimal BuyAmount  = decimal.Parse(buyamount, CultureInfo.InvariantCulture);
            decimal BuyAtPrice = decimal.Parse(buyatprice, CultureInfo.InvariantCulture);

            if (BuyAmount == 0 || BuyAtPrice == 0 || BuyAtPrice < 0 || BuyAmount < 0)
            {
                return(View("Index"));
            }

            var TotalOrderBtcCost = BuyAmount * BuyAtPrice;

            var Coins = CoinValues.GetValues().ToList();

            if (Coins.Where(c => c.Name.Contains(currencyname)).Count() == 0)
            {
                return(View("TradePage"));
            }
            if (TotalOrderBtcCost > user.Balance)
            {
                return(View("TradePage"));
            }

            LimitOrder order = new LimitOrder()
            {
                User      = user,
                Amount    = BuyAmount,
                Currency  = currencyname,
                AtPrice   = BuyAtPrice,
                OrderType = "Buy",
                OrderDate = DateTime.Now
            };

            db.LimitOrders.Add(order);
            user.Balance -= TotalOrderBtcCost;

            db.SaveChanges();

            var Data = Newtonsoft.Json.JsonConvert.SerializeObject(new
            {
                UserBtc = user.Balance,
                UserUsd = user.Balance * CoinValues.GetBtcValue().Price
            });

            return(Json(Data, JsonRequestBehavior.AllowGet));
        }
Example #9
0
 /// <summary>
 /// Adds coins of the specified denomination to the pocket.
 /// </summary>
 /// <param name="coinType">Coin denomination.</param>
 /// <param name="numCoins">Number of coins to add.</param>
 /// <param name="fast">Set to true when cloning for fast copy operation.</param>
 internal void SetCoins(CoinValues coinType, int numCoins, bool fast = false)
 {
     purse[coinType] = numCoins;
     if (!fast)
     {
         //Cleanup the purse of all smaller denomination for correct behavior.
         List <CoinValues> valuesToRemove = new List <CoinValues>();
         foreach (var pair in purse)
         {
             if (pair.Key < coinType)
             {
                 valuesToRemove.Add(pair.Key);
             }
         }
         valuesToRemove.ForEach(value => purse.Remove(value));
     }
 }
        public ActionResult SellLimitOrder(string currencyname, string sellamount, string sellatprice)
        {
            var userId = User.Identity.GetUserId();
            var db     = new SiteDbContext();
            var user   = db.Users.Find(userId);

            decimal SellAmount = decimal.Parse(sellamount, CultureInfo.InvariantCulture);
            decimal BuyAtPrice = decimal.Parse(sellatprice, CultureInfo.InvariantCulture);

            var TotalOrderBtcCost = SellAmount * BuyAtPrice;


            var Coins = CoinValues.GetValues().ToList();

            if (Coins.Where(c => c.Name.Contains(currencyname)).Count() == 0)
            {
                return(View("TradePage"));
            }
            if (user.Wallet[currencyname.Replace(" ", string.Empty)] < SellAmount)
            {
                return(View("TradePage"));
            }

            LimitOrder order = new LimitOrder()
            {
                User      = user,
                Amount    = SellAmount,
                Currency  = currencyname,
                OrderType = "Sell",
                AtPrice   = BuyAtPrice,
                OrderDate = DateTime.Now
            };

            db.LimitOrders.Add(order);
            user.Wallet[currencyname.Replace(" ", string.Empty)] -= SellAmount;

            db.SaveChanges();

            var Data = Newtonsoft.Json.JsonConvert.SerializeObject(new
            {
                UserCurrency = user.Wallet[currencyname.Replace(" ", string.Empty)]
            });

            return(Json(Data, JsonRequestBehavior.AllowGet));
        }
Example #11
0
        private void btnAddCoin2_Click(object sender, RoutedEventArgs e)
        {
            TVMUtility.PlayClick();
            if (!coin2)
            {
                return;
            }

            if (lblTypeCoin2.Text != "0")
            {
                if (CCTalkManager.Instance.coinHopperEV4000_2.Category != null)
                {
                    CCTalkManager.Instance.coinHopperEV4000_2.GetHighLowStatus();

                    if (level == "Low Level")
                    {
                        if (Constants.CoinAvailable.Contains(lblTypeCoin1.Text))
                        {
                            CoinValues.setCoin2(lblTypeCoin2.Text);
                            Constants.HopperAddress2Coin = Convert.ToInt16(lblTypeCoin2.Text);
                            MessageBoxOperations.ShowMessage("COIN", "Coin hopper 2 value saved.", MessageBoxButtonSet.OK);
                        }
                        else
                        {
                            MessageBoxOperations.ShowMessage("COIN", "Entered coin value is wrong.", MessageBoxButtonSet.OK);
                        }
                    }
                    else
                    {
                        MessageBoxOperations.ShowMessage("COIN", "Please empty the hopper 2.", MessageBoxButtonSet.OK);
                    }
                }
            }
            else
            {
                MessageBoxOperations.ShowMessage("COIN", "Please enter the coin value.", MessageBoxButtonSet.OK);
                lblTypeCoin2.Focus();
            }
            coin2 = false;
        }
        public ActionResult Validate(string currencyname)
        {
            var db   = new SiteDbContext();
            var user = db.Users.Find(User.Identity.GetUserId());

            var UserBtcBalance      = user.Balance;
            var UserCurrencyBalance = user.Wallet[currencyname.Replace(" ", string.Empty)];
            var CurrencyPrice       = CoinValues.GetValues().Where(v => v.Name.Contains(currencyname)).First();
            var BitcoinPrice        = CoinValues.GetBtcValue().Price;



            var Data = Newtonsoft.Json.JsonConvert.SerializeObject(new
            {
                UserBtcBalance      = UserBtcBalance,
                UserCurrencyBalance = UserCurrencyBalance,
                CurrencyPrice       = CurrencyPrice.Price,
                BitcoinPrice        = BitcoinPrice
            });

            return(Json(Data, JsonRequestBehavior.AllowGet));
        }
        private void TaskLoop()
        {
            while (m_running)
            {
                var Coins   = CoinValues.GetValues();
                var Bitcoin = Coins.Where(name => name.Name.Contains("Bitcoin")).First();
                var db      = new SiteDbContext();
                foreach (var coin in Coins)
                {
                    CurrenciesChart chart = new CurrenciesChart()
                    {
                        CurrencyName     = coin.Name,
                        Date             = DateTime.Now,
                        CurrencyUsdValue = coin.Price,
                        CurrencyBtcValue = coin.Price / Bitcoin.Price
                    };
                    db.CurrenciesCharts.Add(chart);
                }
                db.SaveChanges();

                Thread.Sleep(m_interval);
            }
        }
        private void TaskLoop()
        {
            while (m_running)
            {
                try
                {
                    var db = new SiteDbContext();
                    if (db.LimitOrders.Count() == 0)
                    {
                        return;
                    }
                    var Coins  = CoinValues.GetValues();
                    var Orders = db.LimitOrders.OrderByDescending(order => order.OrderDate).ToList();

                    foreach (var order in Orders.ToList())
                    {
                        Coin coin    = Coins.Where(c => c.Name.Contains(order.Currency)).First();
                        Coin Bitcoin = Coins.Where(c => c.Name.Contains("Bitcoin")).First();

                        decimal CoinBtcPrice = decimal.Round((coin.Price / Bitcoin.Price), 8);

                        if (CoinBtcPrice == decimal.Round(order.AtPrice, 8))
                        {
                            //Do ORDER
                            var User = db.Users.Find(order.User.Id);

                            if (order.OrderType == "Buy")
                            {
                                User.Wallet[order.Currency.Replace(" ", string.Empty)] += order.Amount;
                                db.LimitOrders.Remove(order);
                                Orders.Remove(order);

                                Transaction transaction = new Transaction()
                                {
                                    Type          = "Bought",
                                    Currency      = coin.Name,
                                    Amount        = order.Amount,
                                    CurrencyPrice = coin.Price,
                                    TotalUSD      = order.Amount * coin.Price,
                                    Date          = DateTime.Now,
                                    User          = User
                                };
                                db.Transactions.Add(transaction);
                                db.SaveChanges();
                            }
                            ;

                            if (order.OrderType == "Sell")
                            {
                                User.Balance += (CoinBtcPrice * order.Amount);
                                db.LimitOrders.Remove(order);
                                Orders.Remove(order);

                                Transaction transaction = new Transaction()
                                {
                                    Type          = "Sold",
                                    Currency      = coin.Name,
                                    Amount        = order.Amount,
                                    CurrencyPrice = coin.Price,
                                    TotalUSD      = order.Amount * coin.Price,
                                    Date          = DateTime.Now,
                                    User          = User
                                };
                                db.Transactions.Add(transaction);
                                db.SaveChanges();
                            }
                            ;
                        }
                    }
                }

                catch (Exception e)
                {
                }

                Thread.Sleep(m_interval);
            }
        }
Example #15
0
        public ActionResult Analytics()
        {
            var getstatistic = CoinValues.GetStatistic();

            return(View(getstatistic));
        }
        public ActionResult Buy(string amount, string name)
        {
            decimal d;

            if (!decimal.TryParse(amount, out d))
            {
                return(View("Index"));
            }

            var     userId        = User.Identity.GetUserId();
            decimal bought        = decimal.Parse(amount, CultureInfo.InvariantCulture);
            decimal currencyPrice = CoinValues.GetValues().Where(v => v.Name == name).First().Price;
            decimal bitcoin       = CoinValues.GetBtcValue().Price;

            decimal boughtPrice = bought * currencyPrice;
            decimal btcPrice    = boughtPrice / bitcoin;


            using (var db = new SiteDbContext())
            {
                var user    = db.Users.Find(userId);
                var userBTC = user.Balance;
                if (userBTC < btcPrice || btcPrice < 0)
                {
                    return(View("Index"));
                }

                user.Wallet[name.Replace(" ", string.Empty)] += bought;
                user.Balance -= btcPrice;

                //add Transaction
                var transaction = new Transaction()
                {
                    Amount        = bought,
                    Currency      = name,
                    Date          = DateTime.Now,
                    User          = user,
                    Type          = "Bought",
                    CurrencyPrice = currencyPrice,
                    TotalUSD      = bought * currencyPrice
                };
                db.Transactions.Add(transaction);

                db.SaveChanges();



                //Request.UrlReferrer.PathAndQuery

                //string Data = "{\"name\":\"Joe\"}";
                var Data = Newtonsoft.Json.JsonConvert.SerializeObject(new
                {
                    CurrencyCurrentPrice = currencyPrice,
                    CurrencyBalance      = user.Wallet[name.Replace(" ", string.Empty)],
                    UserBtcBalance       = user.Balance,
                    UserUsdBalance       = user.Balance * CoinValues.GetBtcValue().Price
                });

                return(Json(Data, JsonRequestBehavior.AllowGet));
            }
        }
Example #17
0
        public static decimal  CalculateTotalBalance(ApplicationUser User)
        {
            List <Coin>       Coins      = CoinValues.GetValues();
            List <LimitOrder> UserOrders = User.LimitOrders.ToList();

            Dictionary <int, string> CurrencyNames = CoinValues.GetCurrencyName();
            decimal TotalBalanceUSD = 0.00m;


            var Bitcoin = Coins.Where(c => c.Name.Contains("Bitcoin")).First().Price;

            TotalBalanceUSD += Bitcoin * User.Balance;

            TotalBalanceUSD += UserOrders.Sum(ord => (ord.AtPrice * Bitcoin) * ord.Amount);


            var Ethereum = Coins.Where(c => c.Name.Contains(CurrencyNames[2])).First().Price;

            TotalBalanceUSD += Ethereum * User.Wallet.Ethereum;
            var XRP = Coins.Where(c => c.Name.Contains(CurrencyNames[3])).First().Price;

            TotalBalanceUSD += XRP * User.Wallet.XRP;
            var EOS = Coins.Where(c => c.Name.Contains(CurrencyNames[4])).First().Price;

            TotalBalanceUSD += EOS * User.Wallet.EOS;
            var Litecoin = Coins.Where(c => c.Name.Contains(CurrencyNames[5])).First().Price;

            TotalBalanceUSD += Litecoin * User.Wallet.Litecoin;
            var BitcoinCash = Coins.Where(c => c.Name.Contains(CurrencyNames[6])).First().Price;

            TotalBalanceUSD += BitcoinCash * User.Wallet.BitcoinCash;
            var BinanceCoin = Coins.Where(c => c.Name.Contains(CurrencyNames[7])).First().Price;

            TotalBalanceUSD += BinanceCoin * User.Wallet.BinanceCoin;
            var Stellar = Coins.Where(c => c.Name.Contains(CurrencyNames[8])).First().Price;

            TotalBalanceUSD += Stellar * User.Wallet.Stellar;
            var Tether = Coins.Where(c => c.Name.Contains(CurrencyNames[9])).First().Price;

            TotalBalanceUSD += Tether * User.Wallet.Tether;
            var Cardano = Coins.Where(c => c.Name.Contains(CurrencyNames[10])).First().Price;

            TotalBalanceUSD += Cardano * User.Wallet.Cardano;
            var TRON = Coins.Where(c => c.Name.Contains(CurrencyNames[11])).First().Price;

            TotalBalanceUSD += TRON * User.Wallet.TRON;
            var BitcoinSV = Coins.Where(c => c.Name.Contains(CurrencyNames[12])).First().Price;

            TotalBalanceUSD += BitcoinSV * User.Wallet.BitcoinSV;
            var Dash = Coins.Where(c => c.Name.Contains(CurrencyNames[13])).First().Price;

            TotalBalanceUSD += Dash * User.Wallet.Dash;
            var Monero = Coins.Where(c => c.Name.Contains(CurrencyNames[14])).First().Price;

            TotalBalanceUSD += Monero * User.Wallet.Monero;
            var IOTA = Coins.Where(c => c.Name.Contains(CurrencyNames[15])).First().Price;

            TotalBalanceUSD += IOTA * User.Wallet.IOTA;
            var Maker = Coins.Where(c => c.Name.Contains(CurrencyNames[16])).First().Price;

            TotalBalanceUSD += Maker * User.Wallet.Maker;
            var Tezos = Coins.Where(c => c.Name.Contains(CurrencyNames[17])).First().Price;

            TotalBalanceUSD += Tezos * User.Wallet.Tezos;
            var Ontology = Coins.Where(c => c.Name.Contains(CurrencyNames[18])).First().Price;

            TotalBalanceUSD += Ontology * User.Wallet.Ontology;
            var NEO = Coins.Where(c => c.Name.Contains(CurrencyNames[19])).First().Price;

            TotalBalanceUSD += NEO * User.Wallet.NEO;
            var EthereumClassic = Coins.Where(c => c.Name.Contains(CurrencyNames[20])).First().Price;

            TotalBalanceUSD += EthereumClassic * User.Wallet.EthereumClassic;
            var NEM = Coins.Where(c => c.Name.Contains(CurrencyNames[21])).First().Price;

            TotalBalanceUSD += NEM * User.Wallet.NEM;
            var Zcash = Coins.Where(c => c.Name.Contains(CurrencyNames[22])).First().Price;

            TotalBalanceUSD += Zcash * User.Wallet.Zcash;
            var HuobiToken = Coins.Where(c => c.Name.Contains(CurrencyNames[23])).First().Price;

            TotalBalanceUSD += HuobiToken * User.Wallet.HuobiToken;
            var VeChain = Coins.Where(c => c.Name.Contains(CurrencyNames[24])).First().Price;

            TotalBalanceUSD += VeChain * User.Wallet.VeChain;
            var Waves = Coins.Where(c => c.Name.Contains(CurrencyNames[25])).First().Price;

            TotalBalanceUSD += Waves * User.Wallet.Waves;
            var Qtum = Coins.Where(c => c.Name.Contains(CurrencyNames[26])).First().Price;

            TotalBalanceUSD += Qtum * User.Wallet.Qtum;
            var OmiseGO = Coins.Where(c => c.Name.Contains(CurrencyNames[27])).First().Price;

            TotalBalanceUSD += OmiseGO * User.Wallet.OmiseGO;
            var Dogecoin = Coins.Where(c => c.Name.Contains(CurrencyNames[28])).First().Price;

            TotalBalanceUSD += Dogecoin * User.Wallet.Dogecoin;
            var USDCoin = Coins.Where(c => c.Name.Contains(CurrencyNames[29])).First().Price;

            TotalBalanceUSD += USDCoin * User.Wallet.USDCoin;
            var BitcoinGold = Coins.Where(c => c.Name.Contains(CurrencyNames[30])).First().Price;

            TotalBalanceUSD += BitcoinGold * User.Wallet.BitcoinGold;
            var MaximineCoin = Coins.Where(c => c.Name.Contains(CurrencyNames[31])).First().Price;

            TotalBalanceUSD += MaximineCoin * User.Wallet.MaximineCoin;
            var Lisk = Coins.Where(c => c.Name.Contains(CurrencyNames[32])).First().Price;

            TotalBalanceUSD += Lisk * User.Wallet.Lisk;
            var TrueUSD = Coins.Where(c => c.Name.Contains(CurrencyNames[33])).First().Price;

            TotalBalanceUSD += TrueUSD * User.Wallet.TrueUSD;
            var BitTorrent = Coins.Where(c => c.Name.Contains(CurrencyNames[34])).First().Price;

            TotalBalanceUSD += BitTorrent * User.Wallet.BitTorrent;
            var Ravencoin = Coins.Where(c => c.Name.Contains(CurrencyNames[35])).First().Price;

            TotalBalanceUSD += Ravencoin * User.Wallet.Ravencoin;
            var IOST = Coins.Where(c => c.Name.Contains(CurrencyNames[36])).First().Price;

            TotalBalanceUSD += IOST * User.Wallet.IOST;
            var Decred = Coins.Where(c => c.Name.Contains(CurrencyNames[37])).First().Price;

            TotalBalanceUSD += Decred * User.Wallet.Decred;
            var Chainlink = Coins.Where(c => c.Name.Contains(CurrencyNames[38])).First().Price;

            TotalBalanceUSD += Chainlink * User.Wallet.Chainlink;
            var Zilliqa = Coins.Where(c => c.Name.Contains(CurrencyNames[39])).First().Price;

            TotalBalanceUSD += Zilliqa * User.Wallet.Zilliqa;
            var Augur = Coins.Where(c => c.Name.Contains(CurrencyNames[40])).First().Price;

            TotalBalanceUSD += Augur * User.Wallet.Augur;
            var ICON = Coins.Where(c => c.Name.Contains(CurrencyNames[41])).First().Price;

            TotalBalanceUSD += ICON * User.Wallet.ICON;
            var BitShares = Coins.Where(c => c.Name.Contains(CurrencyNames[42])).First().Price;

            TotalBalanceUSD += BitShares * User.Wallet.BitShares;
            var Holo = Coins.Where(c => c.Name.Contains(CurrencyNames[43])).First().Price;

            TotalBalanceUSD += Holo * User.Wallet.Holo;
            var Verge = Coins.Where(c => c.Name.Contains(CurrencyNames[44])).First().Price;

            TotalBalanceUSD += Verge * User.Wallet.Verge;
            var DigiByte = Coins.Where(c => c.Name.Contains(CurrencyNames[45])).First().Price;

            TotalBalanceUSD += DigiByte * User.Wallet.DigiByte;
            var Nano = Coins.Where(c => c.Name.Contains(CurrencyNames[46])).First().Price;

            TotalBalanceUSD += Nano * User.Wallet.Nano;
            var Steem = Coins.Where(c => c.Name.Contains(CurrencyNames[47])).First().Price;

            TotalBalanceUSD += Steem * User.Wallet.Steem;
            var Bytecoin = Coins.Where(c => c.Name.Contains(CurrencyNames[48])).First().Price;

            TotalBalanceUSD += Bytecoin * User.Wallet.Bytecoin;
            var BitcoinDiamond = Coins.Where(c => c.Name.Contains(CurrencyNames[49])).First().Price;

            TotalBalanceUSD += BitcoinDiamond * User.Wallet.BitcoinDiamond;
            var Aeternity = Coins.Where(c => c.Name.Contains(CurrencyNames[50])).First().Price;

            TotalBalanceUSD += Aeternity * User.Wallet.Aeternity;



            return(TotalBalanceUSD);
        }
 public ApplicationUser()
 {
     this.Balance        = 5000 / CoinValues.GetBtcValue().Price;
     this.ProfilePicture = "/Resources/avatar.png";
 }
Example #19
0
    private IEnumerator RotateCoin(int arg, bool playSound)
    {
        if (playSound)
        {
            PlaySound(Coins[arg].transform, Sounds.Coin.Flip);
        }

        float f = 0;

        // Makes highlight invisible.
        CoinHighlightableTransforms[arg].localScale = new Vector3(0, 0, 0);

        while (f <= 1)
        {
            float angle    = Easing.OutQuart(f, 0, 1, 1) * 180,
                  distance = (Mathf.Sin(f * Mathf.PI) * Mathf.PI) + 0.55f;

            ApplyRotation(arg, angle, distance);

            f += 1 / 64f;

            yield return(new WaitForSecondsRealtime(0.01f));
        }

        // Makes highlight visible again.
        CoinHighlightableTransforms[arg].localScale = new Vector3(1.1f, 1.1f, 0.1f);

        // Since we flip a coin, we naturally need to flip the boolean.
        coinStates[arg] = !coinStates[arg];

        if (IsSolved)
        {
            yield break;
        }

        if (IsCorrect)
        {
            PlaySound(Coins[arg].transform, Sounds.Coin.Solve);

            Solve("The correct coin was flipped. Module solved!");

            souvenirCoin = ToCoordinate(arg);

            Light.StartCoroutine(Light.Solve());

            for (int i = 0; i < 64; i++)
            {
                int[] coinFlips = Enumerable.Range(0, 64).Where(j => (j % 8) + (j / 8) == i).ToArray();

                foreach (int flip in coinFlips)
                {
                    StartCoroutine(RotateCoin(flip, false));
                    yield return(new WaitForSecondsRealtime(1 / 32f));
                }
            }
        }
        else
        {
            PlaySound(Coins[arg].transform, Sounds.Coin.Strike);

            Strike("Coin {0} was flipped, making the arrangement {1}, strike!".Form(ToCoordinate(arg), CoinValues.Select(n => n % 2 == 1 ? "1" : "0").Join("")),
                   "One of the answers is now {1}. (chess-coordinates)".Form(CoinValues.Select(n => n % 2 == 1 ? "1" : "0").Join(""), ToCoordinate(GetExampleAnswer())));
        }
    }