private decimal AddAssetCategory(IEnumerable <Holding> holdings, AssetCategory category) { decimal total = 0m; foreach (var holding in holdings) { if (holding.Stock.Category == category) { var stock = new StockViewItem(holding.Stock); var series = new PieSeries() { Title = stock.FormattedCompanyName, Values = new ChartValues <ObservableValue>() { new ObservableValue((double)holding.Value) }, LabelPoint = LabelFormatter }; IndividualStocks.Add(series); total += holding.Value; } } return(total); }
public async override void RefreshView() { var response = await _Parameter.RestClient.Portfolio.GetSummary(_Parameter.Date); if (response == null) { return; } Cash[0].Value = (double)response.CashBalance; IndividualStocks.Clear(); decimal value; decimal growthValue = 0m; decimal incomeValue = 0m; value = AddAssetCategory(response.Holdings, AssetCategory.AustralianStocks); AustralianShares[0].Value = (double)value; growthValue += value; value = AddAssetCategory(response.Holdings, AssetCategory.InternationalStocks); InternationalShares[0].Value = (double)value; growthValue += value; value = AddAssetCategory(response.Holdings, AssetCategory.AustralianProperty); AustralianProperty[0].Value = (double)value; growthValue += value; value = AddAssetCategory(response.Holdings, AssetCategory.InternationalProperty); InternationalProperty[0].Value = (double)value; growthValue += value; value = AddAssetCategory(response.Holdings, AssetCategory.AustralianFixedInterest); AustralianFixedInterest[0].Value = (double)value; incomeValue += value; value = AddAssetCategory(response.Holdings, AssetCategory.InternationlFixedInterest); InternationalFixedInterest[0].Value = (double)value; incomeValue += value; GrowthAssets[0].Value = (double)growthValue; IncomeAssets[0].Value = (double)incomeValue; var series = new PieSeries() { Title = "Cash", Values = Cash, LabelPoint = LabelFormatter }; IndividualStocks.Add(series); }