コード例 #1
0
        public InfoWindow(IValuablePieceOfPaper paper, MainWindow window)
        {
            InitializeComponent();
            this.Closing  += new System.ComponentModel.CancelEventHandler(InfoWindow_Closing);
            correntPaper   = paper;
            previousWindow = window;
            switch (Player.Difficulty)
            {
            case 1:
                IB.ImageSource = new BitmapImage(new Uri("pack://application:,,,/Themes/NormalTheme.jpg"));
                break;

            case 0:
                IB.ImageSource = new BitmapImage(new Uri("pack://application:,,,/Themes/EasyTheme.jpg"));
                break;

            case 2:
                IB.ImageSource = new BitmapImage(new Uri("pack://application:,,,/Themes/HardTheme.jpg"));
                break;

            default:
                break;
            }
            textblockName.Text = paper.Name;
            if (Names.CompanyNames().Contains(paper.Name))
            {
                percentorpriceBlock.Text = "Price: ";
                percentorpriceBox.Text   = paper.Price.ToString();
                typeBlock.Text           = "stock";
                quantityBlock.Text       = "Quantity of stocks: ";
                quantityBox.Text         = paper.Quantity.ToString();
            }
            else if (Names.BankNames().Contains(paper.Name))
            {
                Deposit deposit = paper as Deposit;
                percentorpriceBlock.Text         = "Interest rate: ";
                typeBlock.Text                   = "deposit";
                percentorpriceBox.Text           = (new StringBuilder(deposit.Percent.ToString() + "%").ToString());
                percentofbacruptPanel.Visibility = Visibility.Visible;
                percentofbancruptBox.Text        = (new StringBuilder(deposit.BankruptcyProbability.ToString() + "%").ToString());
                quantityBlock.Text               = "Quantity of invested funds: ";
                quantityBox.Text                 = deposit.Quantity.ToString();
            }
            else if (Names.CountryNames().Contains(paper.Name))
            {
                Bond bond = paper as Bond;
                percentorpriceBlock.Text = "Interest rate: ";
                typeBlock.Text           = "bond";
                percentorpriceBox.Text   = (new StringBuilder(bond.Percent.ToString() + "%").ToString());
                quantityBlock.Text       = "Quantity of invested funds: ";
                quantityBox.Text         = bond.Quantity.ToString();
            }
            double total = paper.Price * paper.Quantity;

            totalBox.Text = total.ToString();
        }
コード例 #2
0
        public BuyWindow(IValuablePieceOfPaper paper, MainWindow window)
        {
            InitializeComponent();
            this.Closing  += new System.ComponentModel.CancelEventHandler(SellBuyWindow_Closing);
            correntPaper   = paper;
            previousWindow = window;
            switch (Player.Difficulty)
            {
            case 1:
                IB.ImageSource = new BitmapImage(new Uri("pack://application:,,,/Themes/NormalTheme.jpg"));
                break;

            case 0:
                IB.ImageSource = new BitmapImage(new Uri("pack://application:,,,/Themes/EasyTheme.jpg"));
                break;

            case 2:
                IB.ImageSource = new BitmapImage(new Uri("pack://application:,,,/Themes/HardTheme.jpg"));
                break;

            default:
                break;
            }
            textblockName.Text = paper.Name;
            if (Names.CompanyNames().Contains(paper.Name))
            {
                percentorpriceBlock.Text = "Price: ";
                percentorpriceBox.Text   = paper.Price.ToString();
                quantityBlock.Text       = "Maximum quantity of stocks: ";
                quantityBox.Text         = Math.Floor(Math.Min(paper.Quantity, ((previousWindow as MainWindow).player.Money / paper.Price))).ToString();
                quantitytobuyBlock.Text  = "Quantity to buy: ";
            }
            else if (Names.BankNames().Contains(paper.Name))
            {
                Deposit deposit = paper as Deposit;
                percentorpriceBlock.Text         = "Interest rate: ";
                percentorpriceBox.Text           = (new StringBuilder(deposit.Percent.ToString() + "%").ToString());
                percentofbacruptPanel.Visibility = Visibility.Visible;
                percentofbancruptBox.Text        = (new StringBuilder(deposit.BankruptcyProbability.ToString() + "%").ToString());
                quantityBlock.Text      = "Maximum quantity of invested funds: ";
                quantityBox.Text        = Math.Floor(Math.Min(deposit.MaxQuantity, previousWindow.player.Money)).ToString();
                quantitytobuyBlock.Text = "Funds for investment: ";
            }
            else if (Names.CountryNames().Contains(paper.Name))
            {
                Bond bond = paper as Bond;
                percentorpriceBlock.Text = "Interest rate: ";
                percentorpriceBox.Text   = (new StringBuilder(bond.Percent.ToString() + "%").ToString());
                quantityBlock.Text       = "Maximum quantity of invested funds: ";
                quantityBox.Text         = Math.Floor(Math.Min(bond.MaxQuantity, previousWindow.player.Money)).ToString();
                quantitytobuyBlock.Text  = "Funds for investment: ";
            }
        }
コード例 #3
0
        private IValuablePieceOfPaper Find(string name, ObservableCollection <IValuablePieceOfPaper> list)
        {
            IValuablePieceOfPaper returnPaper = null;

            foreach (var p in list)
            {
                if (p.Name == name)
                {
                    returnPaper = p;
                    break;
                }
            }
            return(returnPaper);
        }
コード例 #4
0
ファイル: Player.cs プロジェクト: AlexeyVeselov2020/NewGame
        public void Sell(IValuablePieceOfPaper paper, double quantity) // changed
        {
            int i = ownings.IndexOf(paper);

            if (quantity == ownings[i].Quantity)
            {
                Money         += ownings[i].TotalValue;
                InvestedMoney -= ownings[i].TotalValue;
                OurMarket.MarketPapers.Add(ownings[i]);
                ownings.RemoveAt(i);
            }
            else
            {
                ownings[i].Quantity -= quantity;
                Money         += quantity * ownings[i].Price;
                InvestedMoney -= quantity * ownings[i].Price;
            }
        }
コード例 #5
0
ファイル: Player.cs プロジェクト: AlexeyVeselov2020/NewGame
 public void Buy(IValuablePieceOfPaper paper, double quantity)
 {
     paper.Quantity -= quantity;
     if (Money >= quantity * paper.Price)
     {
         Money          = Math.Round(Money - quantity * paper.Price, 2);
         InvestedMoney += quantity * paper.Price;
         if (!ownings.Contains(Find(paper.Name, ownings)))
         {
             ownings.Add(paper.CreateAPair(quantity)); //incapsulated
         }
         else
         {
             var paper0 = Find(paper.Name, ownings);
             paper0.Quantity  += quantity;
             paper0.TotalValue = paper0.Price * paper0.Quantity;
         }
     }
 }