/// <summary> /// taken van de constructor: /// 1. Haalt de repo/context en gebruikers id binnen /// 2. Haalt de lijst op van alle logs van de user met de specifieke ID /// 3. Stelt de CollectionView gelijkt met de log lijst /// 4. Maakt de commando's om de loglijst te kunnen sorteren /// 5. Legt de enumeratie logsoorten in een array /// 6. Commando aanmaken om file aan te kunnen maken voor de logs /// </summary> /// <param name="ID">id gebruiker</param> /// <param name="repo">repo/context is de datasource</param> public LogViewModel(int ID, AandelenRepo repo) { Repo = repo; IdGebruiker = ID; Titel = $"Log boek van {repo.GetEigenaar(ID).Naam}"; LogLijst = repo.LogLijst(ID); LogView = (CollectionView)CollectionViewSource.GetDefaultView(LogLijst.ToArray()); BtnHighDate = new CmdHelper(SorteerHoogsteDatum, LogNietLeeg); BtnLowDate = new CmdHelper(SorteerLaagsteDatum, LogNietLeeg); LogSoorten = Enum.GetValues(typeof(LogOrigin)).Cast <LogOrigin>(); CmdSaveFileMdHmtl = new CmdHelper(SaveMarkdownHtmlFiles, () => LogNietLeeg() && (SaveMd || SaveMd)); }
/// <summary> /// Controleert of de id wel goed is. als deze slecht is dan wordt de content van de statusbar gelijk gestelt aan niks of nul. Als de /// id wel goed is dan wordt er basis informatie over de user gepakt en gezet in de statusbar. De recentste log lijst wordt gelijk /// gezet aan de log viewmodel om de logs up te daten. /// </summary> private void RefreshStatusBarProperties() { if (idGebruikteEigenaar != 0) { if (PortefeuillesWindowViewModel.SelectedPortefeuille != null) { PortefeuillesWindowViewModel.SelectedPortefeuille.updatePortefeuille(); } NaamGebruiker = repo.GetEigenaar(idGebruikteEigenaar).Naam; AantalPortefeuilles = repo.AantalPortefeuilles(idGebruikteEigenaar); AantalAandelen = repo.AantalAandelen(idGebruikteEigenaar); if (LogViewModel != null) { LogViewModel.LogLijst = repo.LogLijst(idGebruikteEigenaar); } } else { NaamGebruiker = ""; AantalPortefeuilles = 0; AantalAandelen = 0; } NotifyProperties("NaamGebruiker", "AantalPortefeuilles", "AantalAandelen"); }