Refactor CLI (#81)

This commit is contained in:
Alexey Golub 2018-08-13 22:49:13 +03:00 committed by GitHub
parent 0faa427970
commit bd9dc6455f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
23 changed files with 338 additions and 227 deletions

View file

@ -1,5 +1,4 @@
using CommonServiceLocator;
using DiscordChatExporter.Cli.ViewModels;
using DiscordChatExporter.Core.Services;
using GalaSoft.MvvmLight.Ioc;
@ -7,15 +6,7 @@ namespace DiscordChatExporter.Cli
{
public class Container
{
public IMainViewModel MainViewModel => Resolve<IMainViewModel>();
public ISettingsService SettingsService => Resolve<ISettingsService>();
private T Resolve<T>(string key = null)
{
return ServiceLocator.Current.GetInstance<T>(key);
}
public void Init()
public Container()
{
ServiceLocator.SetLocatorProvider(() => SimpleIoc.Default);
SimpleIoc.Default.Reset();
@ -25,13 +16,12 @@ namespace DiscordChatExporter.Cli
SimpleIoc.Default.Register<IExportService, ExportService>();
SimpleIoc.Default.Register<IMessageGroupService, MessageGroupService>();
SimpleIoc.Default.Register<ISettingsService, SettingsService>();
// View models
SimpleIoc.Default.Register<IMainViewModel, MainViewModel>(true);
SimpleIoc.Default.Register<IUpdateService, UpdateService>();
}
public void Cleanup()
public T Resolve<T>(string key = null)
{
return ServiceLocator.Current.GetInstance<T>(key);
}
}
}