public CorporateActionsViewModel(string label, ViewParameter parameter, CreateMulitpleTransactionsViewModel createTransactionsViewModel) : base(label, parameter) { Options.AllowStockSelection = false; Options.DateSelection = DateSelectionType.None; _Heading = label; _CreateTransactionsViewModel = createTransactionsViewModel; CorporateActions = new ObservableCollection <CorporateActionViewModel>(); ApplyCorporateActionCommand = new RelayCommand <CorporateActionViewModel>(ApplyCorporateAction); }
public MainWindowViewModel() { _Modules = new List <Module>(); FinancialYears = new ObservableCollection <DescribedObject <int> >(); OwnedStocks = new ObservableCollection <DescribedObject <StockViewItem> >(); #if DEBUG // var url = "https://docker.local:8443"; // var url = "http://localhost"; var url = "https://portfolio.boothfamily.id.au"; #else var url = "https://portfolio.boothfamily.id.au"; #endif _RestClient = new RestClient(url); ViewParameter = new ViewParameter { Stock = _AllCompanies, FinancialYear = Date.Today.FinancialYear(), RestClient = _RestClient }; EditTransactionWindow = new EditTransactionViewModel(_RestClient); EditTransactionWindow.TransactionChanged += HandleTransactionChanged; CreateTransactionsWindow = new CreateMulitpleTransactionsViewModel(_RestClient); LogonWindow = new LogonViewModel(_RestClient); LogonWindow.LoggedOn += HandleLoggedOn; _Modules.Clear(); var homeModule = new Module("Home", "HomeIcon"); _Modules.Add(homeModule); homeModule.Pages.Add(new PortfolioSummaryViewModel("Summary", ViewParameter)); var transactionsModule = new Module("Transactions", "SettingsIcon") { PageSelectionAreaVisible = Visibility.Visible, PageParameterAreaVisible = Visibility.Visible }; _Modules.Add(transactionsModule); transactionsModule.Pages.Add(new TransactionsViewModel("Transactions", ViewParameter, EditTransactionWindow)); transactionsModule.Pages.Add(new CorporateActionsViewModel("CorporateActions", ViewParameter, CreateTransactionsWindow)); var reportsModule = new Module("Reports", "ReportsIcon") { PageSelectionAreaVisible = Visibility.Visible, PageParameterAreaVisible = Visibility.Visible }; _Modules.Add(reportsModule); reportsModule.Pages.Add(new UnrealisedGainsViewModel("Unrealised Gains", ViewParameter)); reportsModule.Pages.Add(new TransactionReportViewModel("Transactions", ViewParameter)); reportsModule.Pages.Add(new CashAccountViewModel("Cash Summary", ViewParameter)); reportsModule.Pages.Add(new PerformanceViewModel("Performance", ViewParameter)); reportsModule.Pages.Add(new AssetAllocationViewModel("Asset Allocation", ViewParameter)); reportsModule.Pages.Add(new PortfolioValueViewModel("Valuation", ViewParameter)); var taxModule = new Module("Tax", "TaxIcon") { PageSelectionAreaVisible = Visibility.Visible, PageParameterAreaVisible = Visibility.Visible }; _Modules.Add(taxModule); taxModule.Pages.Add(new TaxableIncomeViewModel("Taxable Income", ViewParameter)); taxModule.Pages.Add(new CGTViewModel("CGT", ViewParameter)); taxModule.Pages.Add(new DetailedCGTViewModel("Detailed CGT", ViewParameter)); var settingsModule = new Module("Settings", "SettingsIcon") { PageSelectionAreaVisible = Visibility.Visible, PageParameterAreaVisible = Visibility.Hidden }; _Modules.Add(settingsModule); settingsModule.Pages.Add(new AddDividendViewModel(_RestClient)); settingsModule.Pages.Add(new PortfolioSettingsViewModel("Portfolio", ViewParameter)); }