/// <summary> /// Haalt de id en repo/datasource binnen. Maakt de commando's op om het rapport te herfrissen en het rapporte te saven. /// </summary> /// <param name="idGebruiker"></param> /// <param name="repo"></param> public RapporteringViewModel(int idGebruiker, AandelenRepo repo) { this.idGebruiker = idGebruiker; this.repo = repo; CmdRefreshPreview = new CmdHelper(RefreshPreviewMd); CmdSaveFileMdHmtl = new CmdHelper(SaveFile, CanFileBeSaved); }
/// <summary> /// taken van de constructor: /// 1. haalt de repo(context) en id van de gebruiker binnen en stelt ze gelijk aan de velden in de klasse, om later gebruikt te worden. /// 2. Titel wordt verandert /// 3. Aandelen worden binnengehaald /// 4. Commando's voor het toevoegen, wijzigen en verwijderen worden aangemaakt /// </summary> /// <param name="repo">context waaruit alle data zal uit komen</param> /// <param name="idGebruiker">id van de gebruiker</param> /// <param name="portefeuille">Portefeuille waar uit de aandelen zullen uit komen.</param> public AandelenWindowViewModel(AandelenRepo repo, int idGebruiker, Portefeuille portefeuille) { this.repo = repo; IdGebruiker = idGebruiker; CurrentPortefeuille = portefeuille; Titel = $"Aandelen uit portefeuille {CurrentPortefeuille.Naam}"; AandelenCollectie = repo.GetAandelen(idGebruiker, portefeuille); CmdAddAandeel = new CmdHelper(VoegAandeelToe, KanAandeelToevoegen); CmdRemoveAandeel = new CmdHelper(VerwijderAandeel, KanAandeelVerwijderenUpdate); CmdUpdateAandeel = new CmdHelper(UpdateAandeel, KanAandeelVerwijderenUpdate); }
/// <summary> /// viewmodel heeft de repo nodig om met de database te communiceren en de idGebruiker om te kunnen identificeren aan wie /// deze portefeuilles zijn. Maakt de verschillende commando's voor de crud operaties voor de portefeuilles. /// </summary> /// <param name="repo"></param> /// <param name="nieuweIDgebruiker"></param> public PortefeuillesWindowViewModel(AandelenRepo repo, int nieuweIDgebruiker) { this.repo = repo; this.idGebruiker = nieuweIDgebruiker; //wordt gebruikt om de naam van de Gebruiker te hebben en deze hierna te tonen. NaamEigenaar = repo.GetEigenaar(nieuweIDgebruiker).Naam; //Stelt lijst van alle portefeuilles van de gebruiker PortefeuilleCollectie = repo.GetPortefeuilles(nieuweIDgebruiker); AddCmd = new CmdHelper(AddPortefeuille, CanAddPortefeuille); RemoveCmd = new CmdHelper(RemovePortefeuille, CanDeletePortefeuille); UpdateCmd = new CmdHelper(UpdatePortefeuille, CanUpdatePortefeulle); }
/// <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> /// Taken van het initialiseren van een MainWindowViewModel: /// 1. Maken van een nieuwe repo/Data source /// 2. Aanmaken van een InlogViewModel en deze zetten in de basis contentcontrole /// 3. Herfrist de statusbar /// 4. Maakt de verschillende commando's aan voor de menu items in het openklapbaar menu /// </summary> public MainWindowViewModel() { repo = new AandelenRepo(); InlogViewModel = new InlogViewModel(repo); BasisContentControl(InlogViewModel); RefreshStatusBarProperties(); CmdVeranderGebruiker = new CmdHelper(() => BasisContentControl(InlogViewModel), ValidUser); CmdCloseWindow = new CmdHelper(() => Application.Current.Shutdown()); CmdToonRapporten = new CmdHelper(ToonRapport, ValidUser); CmdToonLogs = new CmdHelper(ToonLogs, ValidUser); CmdSaveShortCut = new CmdHelper(OpslaanRapportLogs, () => RapportLogsContent != null); CmdRefreshRapport = new CmdHelper(() => RapporteringViewModel.CmdRefreshPreview.Execute(""), ValidRapportLogs); CmdHighDate = new CmdHelper(() => LogViewModel.BtnHighDate.Execute(""), ValidRapportLogs); CmdLowDate = new CmdHelper(() => LogViewModel.BtnLowDate.Execute(""), ValidRapportLogs); }
/// <summary> /// Haalt de repo/context binnen, en maakt de commando's op om de eigenaar toe te voegen en in te kunnen loggen /// </summary> /// <param name="repo">repo of context waaruit alle data gaat komen of we er data gaan wijzigen</param> public InlogViewModel(AandelenRepo repo) { Repo = repo; AddEigenaar = new CmdHelper(VoegEigenaarToe, KanEigenaarToevoegen); InlogNaam = new CmdHelper(LogInEigenaar, KanEigenaarIdentificeren); }