From 079c63188d16a5a62024440eaa0e301132efe3c6 Mon Sep 17 00:00:00 2001 From: Jahn Spohrer <73436710+jahnspohrer@users.noreply.github.com> Date: Thu, 5 Sep 2024 16:08:34 +0200 Subject: [PATCH] added view model factory --- Services/IMainViewModelFactory.cs | 8 +++++++ .../MainWindowViewModelFactory.cs | 22 +++++++++++++++++++ 2 files changed, 30 insertions(+) create mode 100644 Services/IMainViewModelFactory.cs create mode 100644 Services/Implementations/MainWindowViewModelFactory.cs diff --git a/Services/IMainViewModelFactory.cs b/Services/IMainViewModelFactory.cs new file mode 100644 index 0000000..1ec41b3 --- /dev/null +++ b/Services/IMainViewModelFactory.cs @@ -0,0 +1,8 @@ +using BetterRaid.ViewModels; + +namespace BetterRaid.Services; + +public interface IMainViewModelFactory +{ + MainWindowViewModel CreateMainWindowViewModel(); +} diff --git a/Services/Implementations/MainWindowViewModelFactory.cs b/Services/Implementations/MainWindowViewModelFactory.cs new file mode 100644 index 0000000..7e10ab5 --- /dev/null +++ b/Services/Implementations/MainWindowViewModelFactory.cs @@ -0,0 +1,22 @@ +using BetterRaid.ViewModels; + +namespace BetterRaid.Services.Implementations; + +public class MainWindowViewModelFactory : IMainViewModelFactory +{ + private readonly ITwitchPubSubService twitchPubSubService; + private readonly ITwitchDataService twitchDataService; + private readonly ISynchronizaionService synchronizaionService; + + public MainWindowViewModelFactory(ITwitchPubSubService twitchPubSubService, ITwitchDataService twitchDataService, ISynchronizaionService synchronizaionService) + { + this.twitchPubSubService = twitchPubSubService; + this.twitchDataService = twitchDataService; + this.synchronizaionService = synchronizaionService; + } + + public MainWindowViewModel CreateMainWindowViewModel() + { + return new MainWindowViewModel(twitchPubSubService, twitchDataService, synchronizaionService); + } +}