using System.Configuration;
using System.Data;
using System.Windows;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using PMSWPF.Services;
using PMSWPF.ViewModels;
using PMSWPF.Views;
namespace PMSWPF
{
///
/// Interaction logic for App.xaml
///
public partial class App : Application
{
public new static App Current => (App)Application.Current;
public IServiceProvider Services { get; }
public App()
{
var container = new ServiceCollection();
container.AddSingleton();
container.AddSingleton();
container.AddSingleton();
container.AddSingleton();
container.AddSingleton();
container.AddSingleton();
container.AddSingleton(dp => new MainView()
{ DataContext = dp.GetRequiredService() });
container.AddSingleton();
container.AddSingleton();
container.AddSingleton();
Services = container.BuildServiceProvider();
}
protected override void OnStartup(StartupEventArgs e)
{
base.OnStartup(e);
MainWindow = Services.GetRequiredService();
MainWindow.Show();
}
// [STAThread]
// static void Main(string[] args)
// {
// using IHost host = CreateHostBuilder(args).Build();
// host.Start();
// App app = new App();
// app.InitializeComponent();
// app.MainWindow = host.Services.GetRequiredService();
// app.MainWindow.Visibility = Visibility.Visible;
// app.Run();
//
// }
//
// private static IHostBuilder CreateHostBuilder(string[] args)
// {
// return Host.CreateDefaultBuilder(args).ConfigureServices(services =>
// {
//
// services.AddHostedService();
// services.AddSingleton();
// services.AddSingleton();
// });
// }
}
}