using DM_Weight.Models; using DM_Weight.util; using Prism.Commands; using Prism.Ioc; using Prism.Mvvm; using Prism.Regions; using Prism.Services.Dialogs; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Channels; using System.Threading.Tasks; namespace DM_Weight.ViewModels { public class SetMenuWindowViewModel : BindableBase, INavigationAware, IRegionMemberLifetime { public bool KeepAlive => false; private List _menuList; public List MenuList { get=>_menuList; set=>SetProperty(ref _menuList,value); } IDialogService _dialogService; public SetMenuWindowViewModel(IDialogService dialogService) { _dialogService = dialogService; } public bool IsNavigationTarget(NavigationContext navigationContext) { return true; } public void OnNavigatedFrom(NavigationContext navigationContext) { } public void OnNavigatedTo(NavigationContext navigationContext) { RequestData(); } public void RequestData() { MenuList?.Clear(); var list = SqlSugarHelper.Db.Queryable() //.Includes(cl => cl.channelStocks, cs => cs.DrugInfo,di=>di.drugBase) .Includes(cs => cs.DrugInfo).ToList(); if (list != null && list.Count > 0) { MenuList = list; } else { MenuList = null; } } public DelegateCommand BindingAddMenu { get => new DelegateCommand(() => { DialogParameters dialogParameters=new DialogParameters(); DialogServiceExtensions.ShowDialogHost(_dialogService, "AddNewMenuDialog", dialogParameters, DoDialogResult, "RootDialog"); }); } private void DoDialogResult(IDialogResult dialogResult) { RequestData(); } } }