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); + } +}