private void PopulateItems() { PositionSummaryItem positionSummaryItem; foreach (AccountPosition accountPosition in this.accountPositionService.GetAccountPositions()) { positionSummaryItem = new PositionSummaryItem(accountPosition.TickerSymbol, accountPosition.CostBasis, accountPosition.Shares, this.marketFeedService.GetPrice(accountPosition.TickerSymbol)); this.Items.Add(positionSummaryItem); } }
private void PopulateItems() { PositionSummaryItem positionSummaryItem; foreach (AccountPosition accountPosition in this.accountPositionService.GetAccountPositions()) { positionSummaryItem = new PositionSummaryItem(accountPosition.TickerSymbol, accountPosition.CostBasis, accountPosition.Shares, this.marketFeedService.GetPrice(accountPosition.TickerSymbol)); this.Items.Add(positionSummaryItem); } }
private void PopulatePresentationModel() { PositionSummaryItem positionSummaryItem; foreach (AccountPosition accountPosition in AccountPositionSvc.GetAccountPositions()) { positionSummaryItem = new PositionSummaryItem(accountPosition.TickerSymbol, accountPosition.CostBasis, accountPosition.Shares, MarketFeedSvc.GetPrice(accountPosition.TickerSymbol)); positionSummaryItem.PriceMarketHistory = MarketHistorySvc.GetPriceHistory(accountPosition.TickerSymbol); PositionSummaryItems.Add(positionSummaryItem); } }
private void PositionSummaryItems_Updated(object sender, AccountPositionModelEventArgs e) { if (e.AcctPosition != null) { PositionSummaryItem positionSummaryItem = PositionSummaryItems.First(p => p.TickerSymbol == e.AcctPosition.TickerSymbol); if (positionSummaryItem != null) { positionSummaryItem.Shares = e.AcctPosition.Shares; positionSummaryItem.CostBasis = e.AcctPosition.CostBasis; } } }
public PositionSummaryViewModel(IOrdersController ordersController, IEventAggregator eventAggregator, IObservablePosition observablePosition) { if (ordersController == null) { throw new ArgumentNullException("ordersController"); } this.eventAggregator = eventAggregator; Position = observablePosition; BuyCommand = ordersController.BuyCommand; SellCommand = ordersController.SellCommand; CurrentPositionSummaryItem = new PositionSummaryItem("FAKEINDEX", 0, 0, 0); }
public void ChangingSharesFiresPropertyChangeNotificationEvent() { PositionSummaryItem positionSummary = new PositionSummaryItem("FUND0", 49.99M, 50, 52.99M); bool sharesPropertyChanged = false; positionSummary.PropertyChanged += delegate(object sender, PropertyChangedEventArgs e) { if (e.PropertyName == "Shares") sharesPropertyChanged = true; }; positionSummary.Shares -= 5; Assert.IsTrue(sharesPropertyChanged); }
public void ChangingCurrentPriceFiresPropertyChangeNotificationEvent() { PositionSummaryItem positionSummary = new PositionSummaryItem("FUND0", 49.99M, 50, 52.99M); bool currentPriceChanged = false; positionSummary.PropertyChanged += delegate(object sender, PropertyChangedEventArgs e) { if (e.PropertyName == "CurrentPrice") currentPriceChanged = true; }; positionSummary.CurrentPrice -= 5; Assert.IsTrue(currentPriceChanged); }
public void ChangingSymbolPropertyChangeNotificationEvent() { PositionSummaryItem positionSummary = new PositionSummaryItem("AAAA", 49.99M, 50, 52.99M); bool propertyChanged = false; string lastPropertyChanged = string.Empty; positionSummary.PropertyChanged += delegate(object sender, PropertyChangedEventArgs e) { propertyChanged = true; lastPropertyChanged = e.PropertyName; }; positionSummary.TickerSymbol = "XXXX"; Assert.IsTrue(propertyChanged); Assert.AreEqual<string>("TickerSymbol", lastPropertyChanged); }
public void PositionSummaryCalculatesGainLossPercent() { decimal costBasis = 49.99M; decimal lastPrice = 52.99M; long numShares = 1000; PositionSummaryItem positionSummary = new PositionSummaryItem("AAAA", costBasis, numShares, lastPrice); Assert.AreEqual<decimal>(105901.2002M, Math.Round(positionSummary.GainLossPercent, 4)); }
public void PositionSummaryCalculatesCurrentMarketValue() { decimal lastPrice = 52.99M; long numShares = 50; PositionSummaryItem positionSummary = new PositionSummaryItem("AAAA", 49.99M, numShares, lastPrice); Assert.AreEqual<decimal>(lastPrice * numShares, positionSummary.MarketValue); }
private void PopulatePresentationModel() { PositionSummaryItem positionSummaryItem; foreach (AccountPosition accountPosition in AccountPositionSvc.GetAccountPositions()) { positionSummaryItem = new PositionSummaryItem(accountPosition.TickerSymbol, accountPosition.CostBasis, accountPosition.Shares, MarketFeedSvc.GetPrice(accountPosition.TickerSymbol)); positionSummaryItem.PriceMarketHistory = MarketHistorySvc.GetPriceHistory(accountPosition.TickerSymbol); PositionSummaryItems.Add(positionSummaryItem); } }
public void PositionSummaryStoresCollectionsOfMarketHistoryValues() { PositionSummaryItem positionSummary = new PositionSummaryItem("AAAA", 49.99M, 50, 52.99M); positionSummary.PriceMarketHistory.Add(new MarketHistoryItem { DateTimeMarker = new DateTime(1), Value = 1.00m }); positionSummary.PriceMarketHistory.Add(new MarketHistoryItem { DateTimeMarker = new DateTime(2), Value = 2.00m }); positionSummary.PriceMarketHistory.Add(new MarketHistoryItem { DateTimeMarker = new DateTime(3), Value = 30.00m }); Assert.AreEqual<int>(3, positionSummary.PriceMarketHistory.Count); }