using BBWY.Client.ViewModels.PackTask; using GalaSoft.MvvmLight.Ioc; using Microsoft.Extensions.DependencyInjection; using System; using System.Windows.Navigation; using static System.Formats.Asn1.AsnWriter; namespace BBWY.Client.ViewModels { public class ViewModelLocator { private IServiceProvider sp; public bool IsCreateWareManager { get; private set; } public bool IsCreateWareStock { get; private set; } public bool IsCreateOrderList { get; private set; } public ViewModelLocator() { sp = (App.Current as App).ServiceProvider; } //public static PackServiceViewModel PackServiceViewModel => SimpleIoc.Default.GetInstance(); //public static PackServiceViewModel CreateNewPackServiceViewModel() //{ // SimpleIoc.Default.Unregister(); // SimpleIoc.Default.Register(); // return PackServiceViewModel; //} public MainViewModel Main { get { using (var s = sp.CreateScope()) { return s.ServiceProvider.GetRequiredService(); } } } public WareManagerViewModel WareManager { get { IsCreateWareManager = true; using (var s = sp.CreateScope()) { return s.ServiceProvider.GetRequiredService(); } } } public WareStockViewModel WareStock { get { IsCreateWareStock = true; using (var s = sp.CreateScope()) { return s.ServiceProvider.GetRequiredService(); } } } public BindingPurchaseProductViewModel BindingPurchaseProduct { get { using (var s = sp.CreateScope()) { return s.ServiceProvider.GetRequiredService(); } } } public OrderListViewModel OrderList { get { IsCreateOrderList = true; using (var s = sp.CreateScope()) { return s.ServiceProvider.GetRequiredService(); } } } public ConsumableViewModel Consumable { get { //IsCreateOrderList = true; using (var s = sp.CreateScope()) { return s.ServiceProvider.GetRequiredService(); } } } public TaskListViewModel TaskList { get { //IsCreateOrderList = true; using (var s = sp.CreateScope()) { return s.ServiceProvider.GetRequiredService(); } } } public WareHouseListViewModel WareHouseList { get { //IsCreateOrderList = true; using (var s = sp.CreateScope()) { return s.ServiceProvider.GetRequiredService(); } } } public PackServiceViewModel PackServiceList { get { //IsCreateOrderList = true; using (var s = sp.CreateScope()) { return s.ServiceProvider.GetRequiredService(); } } } public TipsViewModel TipsView { get { //IsCreateOrderList = true; using (var s = sp.CreateScope()) { return s.ServiceProvider.GetRequiredService(); } } } public SetBarCodeViewModel CreateSetBarCodeView { get { using (var s = sp.CreateScope()) { return s.ServiceProvider.GetRequiredService(); } } } //CreatePackTaskViewModel viewModel = null; public CreatePackTaskViewModel CreateTaskView { get { // return sp.GetRequiredService(); using (var s = sp.CreateScope()) { //if (viewModel == null) // viewModel = s.ServiceProvider.GetRequiredService(); var viewModel = s.ServiceProvider.GetRequiredService(); //bool areSame = object.ReferenceEquals(viewModel, sp.GetRequiredService()); return viewModel; } } } public ChoosePurchaseSchemeViewModel ChoosePurchaseScheme { get { using (var s = sp.CreateScope()) { return s.ServiceProvider.GetRequiredService(); } } } public _1688PreviewPurchaseViewModel _1688PreviewPurchase { get { using (var s = sp.CreateScope()) { return s.ServiceProvider.GetRequiredService<_1688PreviewPurchaseViewModel>(); } } } public ShopSettingViewModel ShopSetting { get { using var s = sp.CreateScope(); return s.ServiceProvider.GetRequiredService(); } } public ProcurementAuditViewModel ProcurementAudit { get { using var s = sp.CreateScope(); return s.ServiceProvider.GetRequiredService(); } } public BillCorrectionViewModel BillCorrection { get { using var s = sp.CreateScope(); return s.ServiceProvider.GetRequiredService(); } } } }