Пример #1
0
        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);
        }
Пример #2
0
        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);
        }