예제 #1
0
        protected override void Add()
        {
            HoldingViewModel holding =
                new HoldingViewModel(new HoldingModel {
                Name = "New", IpServer = "localhost", Nom = Holdings.Count + 1
            });
            var conf = ConfigTempoSinglenton.GetInstance();

            holding.ConnectionString = string.Format(Entrence.ConectionStringTemplate, holding.IpServer, conf.BaseDbPath, "H" + holding.Nom);
            Holdings.Add(holding);
            if (
                MessageBoxWrapper.Show("Копиране на празна база от темплейтите?", "Предупреждение",
                                       MessageBoxWrapperButton.YesNo) == MessageBoxWrapperResult.Yes)
            {
                IoHelper.DirectoryCopy(ConfigTempoSinglenton.GetInstance().BaseTemplatePath,
                                       Path.Combine(ConfigTempoSinglenton.GetInstance().BaseDbPath, "H" + holding.Nom), true);
            }
            foreach (var item in conf.ConfigNames)
            {
                var spliter = item.Split('|');
                FirmSettingModel newsett = new FirmSettingModel();
                newsett.Key       = spliter[0];
                newsett.Name      = spliter[1];
                newsett.Value     = spliter[2];
                newsett.FirmaId   = 1;
                newsett.HoldingId = holding.Nom;
                conf.FirmSettings.Add(newsett);
            }
            conf.SaveConfiguration();
        }
예제 #2
0
 public Holding AddHolding(string holdingname)
 {
     var newHolding = new Holding()
     {
          HoldingId = Holdings.Count() + 1,
          HoldingName = holdingname
     };
     Holdings.Add(newHolding);
     return newHolding;
 }
예제 #3
0
        private void AddTestDataToHoldings()
        {
            Holding holding = new Holding("AAPL");

            holding.numOfShares   = 5;
            holding.totalInvested = 80.00;
            Holdings.Add(holding);

            holding               = new Holding("TSLA");
            holding.numOfShares   = 10;
            holding.totalInvested = 10000.00;
            Holdings.Add(holding);
        }
예제 #4
0
 private void AddHolding(string ticker, Holding holding)
 {
     if (Holdings.ContainsKey(ticker))
     {
         Holdings.FirstOrDefault(v => v.Key == ticker).Value.Add(holding);
     }
     else
     {
         var holdingsList = new List <Holding>();
         holdingsList.Add(holding);
         Holdings.Add(ticker, holdingsList);
     }
 }
예제 #5
0
        /// <summary>
        /// Buy stocks
        /// </summary>
        /// <param name="companyName"></param>
        /// <param name="companySymbol"></param>
        /// <param name="currentSharePrice"></param>
        /// <param name="numOfShares"></param>
        /// <param name="time"></param>
        /// <returns></returns>
        public bool BuyStock(string companyName, string companySymbol, double currentSharePrice, int numOfShares, DateTime time)
        {
            if (!stock.IsOpenStockMarket() && EnforceMarketClosure)
            {
                MessageBox.Show("The market is closed.");
                return(false);
            }

            if (numOfShares * currentSharePrice > Cash)
            {
                MessageBox.Show("You don't have enough money for that purchase. Dummy.");
                return(false);
            }

            double transactionAmount = (numOfShares * currentSharePrice);
            // create a new holding if one doesn't already exist
            Holding holding = GetHolding(companySymbol);

            if (holding == null)
            {
                holding = new Holding(companySymbol);
                Holdings.Add(holding);
                holding.companyName       = companyName;
                holding.currentSharePrice = currentSharePrice;
            }
            holding.numOfShares   += numOfShares;
            holding.totalInvested += (transactionAmount);
            holding.worth         += (transactionAmount);

            // Add to list of transactions
            Transactions.Add(new Transaction(companyName, companySymbol, currentSharePrice, numOfShares, time));

            MessageBox.Show("You just purchased " + numOfShares + " shares of " + companyName + " stock at" + currentSharePrice.ToString("C2") + " per share.");
            Cash = Cash - transactionAmount;
            Cash = Cash - transactionFee;
            refresh();
            return(true);
        }
예제 #6
0
 public void CheckOut(string barcode)
 {
     Holdings.Add(barcode);
 }