|
|
|
using BBWY.Client.APIServices;
|
|
|
|
using BBWY.Client.Models;
|
|
|
|
using BBWY.Client.Views.Purchase;
|
|
|
|
using BBWY.Common.Models;
|
|
|
|
using GalaSoft.MvvmLight.Command;
|
|
|
|
using System.Collections.Generic;
|
|
|
|
using System.Collections.ObjectModel;
|
|
|
|
using System.Linq;
|
|
|
|
using System.Threading.Tasks;
|
|
|
|
using System.Windows;
|
|
|
|
using System.Windows.Input;
|
|
|
|
|
|
|
|
namespace BBWY.Client.ViewModels
|
|
|
|
{
|
|
|
|
public class ChoosePurchaseSchemeViewModel : BaseVM, IDenpendency
|
|
|
|
{
|
|
|
|
private PurchaseService purchaseService;
|
|
|
|
private GlobalContext globalContext;
|
|
|
|
private Order order;
|
|
|
|
private bool noPurchaser;
|
|
|
|
|
|
|
|
public IList<Purchaser> PurchaserList { get; set; }
|
|
|
|
public bool NoPurchaser { get => noPurchaser; set { Set(ref noPurchaser, value); } }
|
|
|
|
|
|
|
|
//public ICommand DeleteCommand { get; set; }
|
|
|
|
//public ICommand EditCommand { get; set; }
|
|
|
|
public ICommand PreviewPurchaseCommand { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public ChoosePurchaseSchemeViewModel(PurchaseService purchaseService, GlobalContext globalContext)
|
|
|
|
{
|
|
|
|
this.purchaseService = purchaseService;
|
|
|
|
this.globalContext = globalContext;
|
|
|
|
this.PurchaserList = new ObservableCollection<Purchaser>();
|
|
|
|
//DeleteCommand = new RelayCommand<PurchaseScheme>(Delete);
|
|
|
|
//EditCommand = new RelayCommand<PurchaseScheme>(Edit);
|
|
|
|
PreviewPurchaseCommand = new RelayCommand<Purchaser>(PreviewPurchase);
|
|
|
|
}
|
|
|
|
|
|
|
|
protected override void Load()
|
|
|
|
{
|
|
|
|
PurchaserList.Clear();
|
|
|
|
Task.Factory.StartNew(() => LoadPurchaser());
|
|
|
|
}
|
|
|
|
|
|
|
|
protected override void Unload()
|
|
|
|
{
|
|
|
|
this.order = null;
|
|
|
|
this.NoPurchaser = false;
|
|
|
|
PurchaserList.Clear();
|
|
|
|
}
|
|
|
|
|
|
|
|
public void SetData(Order order)
|
|
|
|
{
|
|
|
|
this.order = order;
|
|
|
|
}
|
|
|
|
|
|
|
|
public void LoadPurchaser()
|
|
|
|
{
|
|
|
|
var skuIdList = order.ItemList.Select(osku => osku.Id).ToList();
|
|
|
|
var purchaserResponse = purchaseService.GetSharePurchaser(skuIdList, globalContext.User.Shop.ShopId);
|
|
|
|
if (!purchaserResponse.Success)
|
|
|
|
{
|
|
|
|
App.Current.Dispatcher.Invoke(() => MessageBox.Show(purchaserResponse.Msg, "获取采购商"));
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
NoPurchaser = (purchaserResponse.Data?.Count() ?? 0) == 0;
|
|
|
|
if (purchaserResponse.Data != null && purchaserResponse.Data.Count() > 0)
|
|
|
|
{
|
|
|
|
App.Current.Dispatcher.Invoke(() =>
|
|
|
|
{
|
|
|
|
foreach (var p in purchaserResponse.Data) PurchaserList.Add(p);
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
//public void Delete(PurchaseScheme purchaseScheme)
|
|
|
|
//{
|
|
|
|
// Task.Factory.StartNew(() => purchaseService.DeletePurchaseScheme(purchaseScheme.Id)).ContinueWith(r =>
|
|
|
|
// {
|
|
|
|
// var response = r.Result;
|
|
|
|
// if (response.Success)
|
|
|
|
// App.Current.Dispatcher.Invoke(() => PurchaseSchemeList.Remove(purchaseScheme));
|
|
|
|
// else
|
|
|
|
// App.Current.Dispatcher.Invoke(() => MessageBox.Show(response.Msg, "删除采购方案"));
|
|
|
|
// });
|
|
|
|
//}
|
|
|
|
|
|
|
|
//public void Edit(PurchaseScheme purchaseScheme)
|
|
|
|
//{
|
|
|
|
// var skuList = new List<ProductSku>()
|
|
|
|
// {
|
|
|
|
// new ProductSku(){ Id=purchaseScheme.SkuId,ProductId=purchaseScheme.ProductId, Title=SkuName}
|
|
|
|
// };
|
|
|
|
// bindingPurchaseProduct.SetData(skuList, purchaseScheme.PurchaserId, purchaseScheme.PurchaserName);
|
|
|
|
// var bindingView = new Views.Ware.BindingPurchaseProduct();
|
|
|
|
// var r = bindingView.ShowDialog();
|
|
|
|
// if (r == true)
|
|
|
|
// Task.Factory.StartNew(() => LoadPurchaseScheme(SkuId));
|
|
|
|
//}
|
|
|
|
|
|
|
|
public void PreviewPurchase(Purchaser purchaser)
|
|
|
|
{
|
|
|
|
var count = globalContext.User.Shop.PurchaseAccountList == null ? 0 : globalContext.User.Shop.PurchaseAccountList.Count();
|
|
|
|
if (count > 1)
|
|
|
|
{
|
|
|
|
//选择采购账号
|
|
|
|
}
|
|
|
|
else if (count == 1)
|
|
|
|
{
|
|
|
|
var p = new _1688Purchase(order, purchaser, globalContext.User.Shop.PurchaseAccountList[0]);
|
|
|
|
p.ShowDialog();
|
|
|
|
GalaSoft.MvvmLight.Messaging.Messenger.Default.Send<object>(null, "ChoosePurchaseScheme_Close");
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
MessageBox.Show("缺少采购账号", "提示");
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|