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)
{
}
}
}