You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

79 lines
2.0 KiB

using Microsoft.Extensions.DependencyInjection;
using System;
namespace BBWYB.Client.ViewModels
{
public class ViewModelLocator
{
private IServiceProvider sp;
public ViewModelLocator()
{
sp = (App.Current as App).ServiceProvider;
}
public bool IsCreateWareManager { get; private set; }
public bool IsCreateWareStock { get; private set; }
public bool IsCreateOrderList { get; private set; }
public MainViewModel Main
{
get
{
using (var s = sp.CreateScope())
{
return s.ServiceProvider.GetRequiredService<MainViewModel>();
}
}
}
public WareManagerViewModel WareManager
{
get
{
IsCreateWareManager = true;
using (var s = sp.CreateScope())
{
return s.ServiceProvider.GetRequiredService<WareManagerViewModel>();
}
}
}
public BindingPurchaseProductViewModel BindingPurchaseProduct
{
get
{
using (var s = sp.CreateScope())
{
return s.ServiceProvider.GetRequiredService<BindingPurchaseProductViewModel>();
}
}
}
public OrderViewModel OrderVM
{
get
{
IsCreateOrderList = true;
using (var s = sp.CreateScope())
{
return s.ServiceProvider.GetRequiredService<OrderViewModel>();
}
}
}
public ShopSettingViewModel ShopSetting
{
get
{
using (var s = sp.CreateScope())
{
return s.ServiceProvider.GetRequiredService<ShopSettingViewModel>();
}
}
}
}
}