using BBWY.Client.Models; using BBWY.Client.Views.BatchPurchase; using BBWY.Common.Models; using GalaSoft.MvvmLight.Command; using System; using System.Threading.Tasks; using System.Windows.Input; namespace BBWY.Client.ViewModels { public class BatchPurchaseOrderListViewModel : BaseVM, IDenpendency { private GlobalContext globalContext; private DateTime startDate; private DateTime endDate; private string searchPurchaseOrderId; private string searchPurchaseName; private string searchProductId; private string searchSkuId; private PurchaseOrderState? purchaseOrderState; private int pageIndex; private int pageSize; public ICommand SearchPurchaseOrderCommand { get; set; } public ICommand OpenCreateNewPurchaseOrderDialogCommand { get; set; } public ICommand SetSearchDateCommand { get; set; } public ICommand SetPurchaseOrderStateCommand { get; set; } public DateTime StartDate { get => startDate; set { Set(ref startDate, value); } } public DateTime EndDate { get => endDate; set { Set(ref endDate, value); } } public string SearchPurchaseOrderId { get => searchPurchaseOrderId; set { Set(ref searchPurchaseOrderId, value); } } public string SearchPurchaseName { get => searchPurchaseName; set { Set(ref searchPurchaseName, value); } } public string SearchProductId { get => searchProductId; set { Set(ref searchProductId, value); } } public string SearchSkuId { get => searchSkuId; set { Set(ref searchSkuId, value); } } public PurchaseOrderState? PurchaseOrderState { get => purchaseOrderState; set { Set(ref purchaseOrderState, value); } } public int PageIndex { get => pageIndex; set { Set(ref pageIndex, value); } } public int PageSize { get => pageSize; set { Set(ref pageSize, value); } } public BatchPurchaseOrderListViewModel(GlobalContext globalContext) { SetSearchDateCommand = new RelayCommand(SetSearchDate); SetPurchaseOrderStateCommand = new RelayCommand(SetPurchaseOrderState); SearchPurchaseOrderCommand = new RelayCommand(InitQueryPurchaseOrder); OpenCreateNewPurchaseOrderDialogCommand = new RelayCommand(OpenCreateNewPurchaseOrderDialog); PageSize = 10; this.globalContext = globalContext; EndDate = DateTime.Now.Date; StartDate = DateTime.Now.Date.AddDays(-15); InitQueryPurchaseOrder(); } private void InitQueryPurchaseOrder() { PageIndex = 1; Task.Factory.StartNew(() => QueryPurchaseOrder(PageIndex)); } private void SetPurchaseOrderState(PurchaseOrderState? purchaseOrderState) { this.PurchaseOrderState = purchaseOrderState; InitQueryPurchaseOrder(); } private void SetSearchDate(int d) { EndDate = d == 1 ? DateTime.Now.Date.AddDays(-1) : DateTime.Now; StartDate = DateTime.Now.Date.AddDays(d * -1); InitQueryPurchaseOrder(); } private void QueryPurchaseOrder(int pageIndex) { } private void OpenCreateNewPurchaseOrderDialog() { var createWindow = new BatchCreateNewPurchaseOrder(); if (createWindow.ShowDialog() == true) { InitQueryPurchaseOrder(); //刷新采购单页面 } } } }