Beispiel #1
0
        private void btnSell_Click(object sender, RoutedEventArgs e)
        {
            Entities.Portfolio userPortfolio = Model.DBA_Portfolio.GetUpdatedPortfolio(Globals.SelectedPortfolio);
            int quantity;

            // this part is cheking if record already exists in database
            // if exists it updates record
            // if not it adds new record

            if (int.TryParse(tbQuantitySell.Text, out quantity))
            {
                if (quantity != 0)
                {
                    String  symbol;
                    decimal sellPrice = 0;


                    Entities.PortfolioStock SelectedStockOwnedByUSer = (Entities.PortfolioStock)lvStockOwnedByUser.SelectedItem;
                    List <Entities.StockDb> DatabasePrices           = Globals.Db.GetAllStockPricesFromDatabase();


                    if (SelectedStockOwnedByUSer.SharesOwned >= quantity)
                    {
                        symbol = SelectedStockOwnedByUSer.Symbol;

                        foreach (Entities.StockDb E in DatabasePrices)
                        {
                            if (E.Symbol == symbol)
                            {
                                sellPrice = (decimal)E.Bid;
                            }
                        }

                        Globals.Db.AddSellTransaction(symbol, quantity, sellPrice, SelectedStockOwnedByUSer, userPortfolio);

                        Globals.Db.DelteAllRecordWhereQtyIsZeroFromPortfolio();
                        RefreshStockOwnedByPortfolio();
                        UpdateUserBalance();
                        UpdatePortfolioInfo();

                        tbQuantitySell.Text = "";
                        UpdatePortfolioInfo();
                        RefreshTransactions();
                        MessageBox.Show("Transaction completed", "Confirmation", MessageBoxButton.OK);
                    }
                    else
                    {
                        MessageBox.Show("You can sell only: " + SelectedStockOwnedByUSer.SharesOwned, "Confirmation", MessageBoxButton.OK);
                    }
                }
                else
                {
                    MessageBox.Show("Qty cannot be 0", "Confirmation", MessageBoxButton.OK);
                }
            }
            else
            {
                MessageBox.Show("Invalid Qty", "Confirmation", MessageBoxButton.OK);
            }
        }
Beispiel #2
0
        private void UpdateUserBalance()
        {
            decimal newNet     = 0;
            decimal totalSum   = 0;
            decimal newBalance = 0;

            Entities.Portfolio updatedPortfolio = Model.DBA_Portfolio.GetUpdatedPortfolio(Globals.SelectedPortfolio);
            decimal            currentCash      = updatedPortfolio.Cash;

            List <Entities.PortfolioStock> PortfolioList = Model.DBA_PortfolioStock.GetAll(Globals.SelectedPortfolio);


            List <Entities.StockDb> DatabaseStock = Globals.Db.GetAllStockPricesFromDatabase();

            for (int i = 0; i < DatabaseStock.Count; ++i)
            {
                var tempSymbol = DatabaseStock.ElementAt(i).Symbol;
                foreach (Entities.PortfolioStock E in PortfolioList)
                {
                    if (E.Symbol == tempSymbol)
                    {
                        totalSum += (decimal)(E.SharesOwned * DatabaseStock.ElementAt(i).Bid);
                    }
                }
            }

            newNet     = currentCash + totalSum;
            newBalance = (currentCash + totalSum) - 50000;

            Model.DBA_Portfolio.UpdateBalance(newBalance, Globals.SelectedPortfolio);
            Model.DBA_Portfolio.UpdateNet(newNet, Globals.SelectedPortfolio);
        }
Beispiel #3
0
        private void UpdatePortfolioInfo()
        {
            Entities.Portfolio updatedPortfolio = Model.DBA_Portfolio.GetUpdatedPortfolio(Globals.SelectedPortfolio);

            lbCash.Content        = updatedPortfolio.Cash;
            lbGanesLooses.Content = updatedPortfolio.Balance;
            lbNet.Content         = updatedPortfolio.Net;
        }
        private void btnDelete_Click(object sender, RoutedEventArgs e)
        {
            if (lvPortfolios.SelectedItem != null)
            {
                MessageBoxResult result = MessageBox.Show("Are you sure you want to delete record?", "Delete Record", MessageBoxButton.OKCancel);
                if (result == MessageBoxResult.OK)
                {
                    Entities.Portfolio portfolioEntry = (Entities.Portfolio)lvPortfolios.SelectedItem;
                    Model.DBA_Portfolio.deletePortfolioById(portfolioEntry.PortfolioID);

                    List <Entities.Portfolio> PortfolioList = Model.DBA_Portfolio.GetAll();
                    lvPortfolios.ItemsSource = PortfolioList;
                }
            }
        }
Beispiel #5
0
        private void ButtonOK_Click(object sender, RoutedEventArgs e)
        {
            string name = tbName.Text;

            if (tbEmail.Text == "" || (!Regex.Match(tbName.Text, "^[a-zA-Z.]{2,50}$").Success))
            {
                MessageBox.Show(" Name/Email input is invalid", "Invalit Input",
                                MessageBoxButton.OK, MessageBoxImage.Error);
                return;
            }
            else
            {
            }

            string email = tbEmail.Text;

            if (IsValid(tbEmail.Text))
            {
                MessageBox.Show(" New Portfolio successfully created", "Message Box");
            }
            else
            {
                MessageBox.Show(tbEmail.Text + " is not a valid email", "Invalit Input",
                                MessageBoxButton.OK, MessageBoxImage.Error);
                return;
            }



            Entities.Portfolio p = new Entities.Portfolio()
            {
                Name = name, Email = email
            };
            Model.DBA_Portfolio.AddNewPortfolioToTable(p);
            //RefreshPortfolios();
            this.DialogResult = true;
        }
Beispiel #6
0
        private void btnBuy_Click(object sender, RoutedEventArgs e)
        {
            int Quantity;

            // this part is cheking if record already exists in database
            // if exists it updates record
            // if not it adds new record

            if (int.TryParse(tbQuantityBuy.Text, out Quantity))
            {
                Entities.StockDb   SelectedStock               = (Entities.StockDb)lvStockQuotesList.SelectedItem;
                Entities.Portfolio SelectedPortfolio           = Model.DBA_Portfolio.GetUpdatedPortfolio(Globals.SelectedPortfolio);
                List <String>      SymbolStringLIstOwnedByUser = new List <String>();
                SymbolStringLIstOwnedByUser = Globals.Db.GetAllStockOwnedByUser(Globals.SelectedPortfolio);

                decimal maxQty = (decimal)SelectedPortfolio.Cash / (decimal)SelectedStock.Ask;

                maxQty = Math.Floor(maxQty);

                if (Quantity != 0)
                {
                    if ((Quantity * SelectedStock.Ask) <= SelectedPortfolio.Cash)
                    {
                        if (SymbolStringLIstOwnedByUser.Contains(SelectedStock.Symbol, StringComparer.OrdinalIgnoreCase))
                        {
                            //adds transaction record and updates cash in portfolio
                            Globals.Db.AddBuyTransaction(SelectedPortfolio, SelectedStock, Quantity);

                            //adds stock into users portfolio
                            Globals.Db.UpdatePortfolioStock(SelectedPortfolio, SelectedStock, Quantity);
                        }
                        else
                        {
                            //adds transaction record and updates cash in portfolio
                            Globals.Db.AddBuyTransaction(SelectedPortfolio, SelectedStock, Quantity);

                            //updates stock volume and average price in portfolio
                            Globals.Db.AddPortfolioStock(SelectedPortfolio, SelectedStock, Quantity);
                        }

                        tbQuantityBuy.Text = "";
                        RefreshStockOwnedByPortfolio();
                        UpdateUserBalance();
                        UpdatePortfolioInfo();
                        RefreshTransactions();



                        MessageBox.Show("Transaction completed", "Confirmation", MessageBoxButton.OK);
                    }
                    else
                    {
                        MessageBox.Show("You can buy only:  " + maxQty + "  Shares of: " + SelectedStock.Name, "Confirmation", MessageBoxButton.OK);
                    }
                }
                else
                {
                    MessageBox.Show("Qty cannot be 0", "Confirmation", MessageBoxButton.OK);
                }
            }
            else
            {
                MessageBox.Show("Invalid Qty", "Confirmation", MessageBoxButton.OK);
            }
        }