Ejemplo n.º 1
0
 protected override void OnNavigatedTo(NavigationEventArgs e)
 {
     base.OnNavigatedTo(e);
     StockName = (e.Parameter as string).Split('/')[0];
     bidOffer  = (BidOffer)int.Parse((e.Parameter as string).Split('/')[1]);
     if (bidOffer == BidOffer.offer)
     {
         BuySellButton.Background = new SolidColorBrush(Colors.Red);
         BuySellButton.Content    = "Sell";
         int QuantityOwned  = DataBaseHandler.GetCount("SELECT SUM(Quantity) From Inventories WHERE StockName = '" + StockName + "' AND UserID = " + DataBaseHandler.UserID);
         int AlreadySelling = DataBaseHandler.GetCount("SELECT SUM(Quantity) FROM Pool WHERE Type = 1 AND User = "******"Available To Sell: " + (QuantityOwned - AlreadySelling);
     }
     else
     {
         double          Balance     = DataBaseHandler.GetCountDouble("SELECT SUM(Balance) FROM Users WHERE ID = " + DataBaseHandler.UserID);
         MySqlDataReader reader      = DataBaseHandler.GetData("SELECT Price, Quantity FROM Pool WHERE Type = 0 AND User = "******"Price"] * (int)reader["Quantity"];
         }
         double FundsAvailable = Balance - MoneyInPool;
         FundsAvailableBlock.Text = "Funds Available: " + Math.Round(FundsAvailable, 2);
     }
 }
Ejemplo n.º 2
0
        private async void BuySellButtonClicked(object sender, RoutedEventArgs e)
        {
            int Quantity;

            if (int.TryParse(QuantityBox.Text, out Quantity))
            {
                double Price = DataBaseHandler.GetCountDouble("SELECT SUM(CurrentPrice) FROM Stock WHERE StockName = '" + StockName + "'");
                switch (bidOffer)
                {
                case BidOffer.bid:
                    double          Balance     = DataBaseHandler.GetCountDouble("SELECT SUM(Balance) FROM Users WHERE ID = " + DataBaseHandler.UserID);
                    MySqlDataReader reader      = DataBaseHandler.GetData("SELECT Price, Quantity FROM Pool WHERE Type = 0 AND User = "******"Price"] * (int)reader["Quantity"];
                    }
                    double FundsAvailable = Balance - MoneyInPool;
                    int    CanAfford      = (int)(FundsAvailable / Price);
                    if (Quantity > CanAfford)
                    {
                        Quantity = CanAfford;
                    }
                    ;
                    QuantityBox.Text = Quantity.ToString();
                    DataBaseHandler.SetData(string.Format("INSERT INTO Pool (Type, Price, User, StockName, Quantity) VALUES ({0}, {1}, {2}, '{3}', {4})", (int)bidOffer, Math.Round(Price, 2), DataBaseHandler.UserID, StockName, Quantity));
                    this.Frame.Navigate(typeof(Pages.User.Portfolio));
                    break;

                case BidOffer.offer:
                    int QuantityOwned  = DataBaseHandler.GetCount("SELECT SUM(Quantity) From Inventories WHERE StockName = '" + StockName + "' AND UserID = " + DataBaseHandler.UserID);
                    int AlreadySelling = DataBaseHandler.GetCount("SELECT SUM(Quantity) FROM Pool WHERE Type = 1 AND User = "******" AND StockName = '" + StockName + "'");
                    int CanSell        = QuantityOwned - AlreadySelling;
                    if (Quantity > CanSell)
                    {
                        Quantity = CanSell;
                    }
                    QuantityBox.Text = Quantity.ToString();
                    DataBaseHandler.SetData(string.Format("INSERT INTO Pool (Type, Price, User, StockName, Quantity) VALUES ({0}, {1}, {2}, '{3}', {4})", (int)bidOffer, Math.Round(Price, 2), DataBaseHandler.UserID, StockName, Quantity));
                    this.Frame.Navigate(typeof(Pages.User.Portfolio));
                    break;
                }
            }
            else
            {
                MessageDialog message = new MessageDialog("Quantity is not valid");
                await message.ShowAsync();

                return;
            }
        }
Ejemplo n.º 3
0
        private void LoadBalance()
        {
            double          Balance     = DataBaseHandler.GetCountDouble("SELECT SUM(Balance) FROM Users WHERE ID = " + DataBaseHandler.UserID);
            MySqlDataReader reader      = DataBaseHandler.GetData("SELECT Price, Quantity FROM Pool WHERE Type = 0 AND User = "******"Price"] * (int)reader["Quantity"];
            }
            BalanceText.Text = "Balance: $" + Math.Round(Balance, 2);
            if (Balance < 0)
            {
                BalanceText.Foreground = new SolidColorBrush(Colors.Red);
            }
            else
            {
                BalanceText.Foreground = new SolidColorBrush(Colors.Green);
            }
            double FundsAvailable = Balance - MoneyInPool;

            FundsAvailableText.Text = "  Funds Available: $" + Math.Round(FundsAvailable, 2);
            if (FundsAvailable < 0)
            {
                FundsAvailableText.Text       = "  Funds Available: $0";
                FundsAvailableText.Foreground = new SolidColorBrush(Colors.Red);
            }
            MySqlDataReader reader2    = DataBaseHandler.GetData("SELECT DISTINCT StockName FROM Inventories WHERE UserID = " + DataBaseHandler.UserID);
            List <string>   StockNames = new List <string>();

            while (reader2.Read())
            {
                StockNames.Add((string)reader2["StockName"]);
            }
            double InventoryValue = 0.00d;

            for (int i = 0; i < StockNames.Count; i++)
            {
                double CurrentPrice  = DataBaseHandler.GetCountDouble("SELECT SUM(CurrentPrice) FROM Stock WHERE StockName = '" + StockNames[i] + "'");
                int    QuantityOwner = DataBaseHandler.GetCount("SELECT SUM(Quantity) From Inventories WHERE UserID = " + DataBaseHandler.UserID + " AND " + " StockName = '" + StockNames[i] + "'");
                InventoryValue += CurrentPrice * (double)QuantityOwner;
            }
            InventoryValueText.Text = "  Invetory Value: $" + Math.Round(InventoryValue, 2);
        }
Ejemplo n.º 4
0
        private void LoadInventory()
        {
            InventoryList.Items.Clear();
            MySqlDataReader reader     = DataBaseHandler.GetData("SELECT DISTINCT StockName FROM Inventories WHERE Quantity > 0 AND UserID = " + DataBaseHandler.UserID);
            List <string>   StockNames = new List <string>();

            while (reader.Read())
            {
                StockNames.Add((string)reader["StockName"]);
            }
            for (int i = 0; i < StockNames.Count; i++)
            {
                Console.WriteLine(i);
                string          s = StockNames[i];
                string          FullName = "";
                int             QuantityOwned = DataBaseHandler.GetCount("SELECT SUM(Quantity) From Inventories WHERE StockName = '" + s + "' AND UserID = " + DataBaseHandler.UserID);
                double          AverageCost = DataBaseHandler.GetCountDouble("SELECT AVG(LastTradedPrice) From Inventories WHERE StockName = '" + s + "' AND UserID = " + DataBaseHandler.UserID);
                double          CurrentPrice = 0, OpeningPrice = 0, High, Low;
                MySqlDataReader StockReader = DataBaseHandler.GetData("SELECT * FROM Stock WHERE StockName = '" + s + "'");
                while (StockReader.Read())
                {
                    FullName     = (string)StockReader["FullName"];
                    CurrentPrice = (double)StockReader["CurrentPrice"];
                    OpeningPrice = (double)StockReader["OpeningPriceToday"];
                    High         = (double)StockReader["HighToday"];
                    Low          = (double)StockReader["LowToday"];
                }
                double     Profit            = CurrentPrice - AverageCost;
                double     RealChangeInPrice = CurrentPrice - OpeningPrice;
                double     PercentageChange  = RealChangeInPrice / OpeningPrice;
                StackPanel Panel             = new StackPanel();
                Panel.Orientation = Orientation.Horizontal;
                Panel.Children.Add(Helper.CreateTextBlock(s, TextAlignment.Left, 100, 20));
                Panel.Children.Add(Helper.CreateTextBlock(FullName, TextAlignment.Left, 250, 20));
                Panel.Children.Add(Helper.CreateTextBlock(QuantityOwned.ToString(), TextAlignment.Left, 100, 20));
                Panel.Children.Add(Helper.CreateTextBlock(Math.Round(CurrentPrice, 2).ToString(), TextAlignment.Left, 125, 20));
                TextBlock RealChangeInPriceBlock = Helper.CreateTextBlock(Math.Round(RealChangeInPrice, 2).ToString(), TextAlignment.Left, 100, 20);
                if (RealChangeInPrice < 0)
                {
                    RealChangeInPriceBlock.Foreground = new SolidColorBrush(Colors.Red);
                }
                else
                {
                    RealChangeInPriceBlock.Foreground = new SolidColorBrush(Colors.Green);
                }
                Panel.Children.Add(RealChangeInPriceBlock);

                TextBlock PercentageChangeBlock = Helper.CreateTextBlock(Math.Round(PercentageChange, 2) + "%", TextAlignment.Left, 100, 20);
                if (RealChangeInPrice < 0)
                {
                    PercentageChangeBlock.Foreground = new SolidColorBrush(Colors.Red);
                }
                else
                {
                    PercentageChangeBlock.Foreground = new SolidColorBrush(Colors.Green);
                }
                Panel.Children.Add(PercentageChangeBlock);
                Panel.Children.Add(Helper.CreateTextBlock(Math.Round(Profit, 2).ToString(), TextAlignment.Left, 200, 20));
                InventoryList.Items.Add(Panel);
            }
        }