Exemplo n.º 1
0
        private async void Ticker_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (Ticker.SelectedItem != null)
            {
                var stockQuote = await _stockInformationRepository.GetStockQuote(Ticker.SelectedItem.ToString());

                if (stockQuote != null)
                {
                    Price.Text = stockQuote.CurrentPrice.ToString();;
                }
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// This method is to consolidated all the trade entries and get/set each symbol's current and previous close price
        /// </summary>
        /// <param name="trades">list of trades in current portfolio</param>
        /// <returns>portfolio performance summary</returns>
        public async Task <PortfolioPerformanceSummary> GetTradesPerformanceSummary(List <Trade> trades)
        {
            var portfolioPerformanceSummary = new PortfolioPerformanceSummary();
            Dictionary <string, PortfolioPerformance> portfolioPerformances = new Dictionary <string, PortfolioPerformance>();

            for (int i = 0; i < trades.Count; i++)
            {
                var ticker = trades[i].Ticker;
                if (!portfolioPerformances.ContainsKey(ticker))
                {
                    portfolioPerformances.Add(ticker, new PortfolioPerformance()
                    {
                        Ticker   = ticker,
                        Cost     = trades[i].Cost,
                        Quantity = trades[i].Quantity,
                        Date     = DateTime.Now,
                    });
                }
                else
                {
                    var existingPortfolioPerformanceData = portfolioPerformances[ticker];
                    existingPortfolioPerformanceData.Cost     += trades[i].Cost;
                    existingPortfolioPerformanceData.Quantity += trades[i].Quantity;
                }
            }

            // Get PrevClose and Current price for each ticker/symbol
            foreach (var ticker in portfolioPerformances.Keys)
            {
                var tickerStockData = await _stockInformationRepository.GetStockQuote(ticker);

                if (tickerStockData != null)
                {
                    portfolioPerformances[ticker].CurrentPrice       = tickerStockData.CurrentPrice;
                    portfolioPerformances[ticker].PreviousClosePrice = tickerStockData.PreviousClosePrice;
                }
            }

            portfolioPerformanceSummary.PortfolioPerformances = portfolioPerformances.Values.ToList();
            return(portfolioPerformanceSummary);
        }