using DM_Weight.Models; using DM_Weight.util; using Prism.Commands; using Prism.Mvvm; using Prism.Regions; using System; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DM_Weight.ViewModels { public class OperationTakeWindowViewModel : BindableBase, IConfirmNavigationRequest, IRegionMemberLifetime { /// /// 处方明细 /// private ObservableCollection _orderDetails = new ObservableCollection(); public ObservableCollection OrderDetails { get { return _orderDetails; } set { SetProperty(ref _orderDetails, value); } } /// /// 药品集合 /// private ObservableCollection _drugInfos=new ObservableCollection(); public ObservableCollection DrugInfos { get { return _drugInfos; } set { SetProperty(ref _drugInfos, value); } } /// /// 加药按钮操作 /// public DelegateCommand AddBtnCommand => new DelegateCommand(AddBtnAction); public bool KeepAlive => false; private void AddBtnAction() { OrderDetail orderDetail = new OrderDetail(); orderDetail.PatientId = "123"; orderDetail.OrderNo = "123"; List dgs= DrugInfos.ToList(); orderDetail.DrugInfos = dgs; orderDetail.DrugInfo = dgs?[0]; OrderDetails.Add(orderDetail); } public void RequestData() { //List queryData = SqlSugarHelper.Db.Queryable() // .Includes(cl => cl.DrugInfo, di => di.DrugManuNos) // .Where(cl => cl.DrawerNo == DrawerNo) // .Where(cl => cl.DrawerType == 1) // .Where(cl => cl.MachineId.Equals(ConfigurationManager.AppSettings["machineId"] ?? "DM1")) // .Where(cl => cl.DrugId != null) // .OrderBy(cl => cl.ColNo) // .ToList(); //ChannelLsts = queryData.Select(cl => //{ // cl.channelStocks = cl.channelStocks.Select(cs => // { // cs.drugManuNo = cl.Drug.DrugManuNos.Find(it => it.ManuNo.Equals(cs.ManuNo)); // return cs; // }).ToList(); // return cl; //}).ToList(); ////ChannelLsts = new ObservableCollection(queryData); //ChannelLsts.ForEach(cl => cl.channelStocks.ForEach(cs => cs.DrugInfo = cl.Drug)); DrugInfos=new ObservableCollection(SqlSugarHelper.Db.Queryable() .Includes(di=>di.DrugManuNos) .OrderBy(cl=>cl.DrugId).ToList()); } public void ConfirmNavigationRequest(NavigationContext navigationContext, Action continuationCallback) { continuationCallback(true); } public void OnNavigatedTo(NavigationContext navigationContext) { RequestData(); } public bool IsNavigationTarget(NavigationContext navigationContext) { return true; } public void OnNavigatedFrom(NavigationContext navigationContext) { } } }