|
|
@ -1,6 +1,5 @@ |
|
|
|
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; |
|
|
@ -16,96 +15,84 @@ namespace BBWY.Client.ViewModels |
|
|
|
{ |
|
|
|
private PurchaseService purchaseService; |
|
|
|
private GlobalContext globalContext; |
|
|
|
private BindingPurchaseProductViewModel bindingPurchaseProduct; |
|
|
|
public string SkuId { get; set; } |
|
|
|
public string SkuName { get; set; } |
|
|
|
public string OrderId { get; set; } |
|
|
|
private Order order; |
|
|
|
|
|
|
|
public int ItemTotal { get; set; } |
|
|
|
public Consignee Consignee { get; set; } |
|
|
|
public IList<Purchaser> PurchaserList { get; set; } |
|
|
|
|
|
|
|
public IList<PurchaseScheme> PurchaseSchemeList { get; set; } |
|
|
|
|
|
|
|
|
|
|
|
public ICommand DeleteCommand { get; set; } |
|
|
|
public ICommand EditCommand { get; set; } |
|
|
|
//public ICommand DeleteCommand { get; set; }
|
|
|
|
//public ICommand EditCommand { get; set; }
|
|
|
|
public ICommand PreviewPurchaseCommand { get; set; } |
|
|
|
|
|
|
|
public ChoosePurchaseSchemeViewModel(PurchaseService purchaseService, GlobalContext globalContext, BindingPurchaseProductViewModel bindingPurchaseProduct) |
|
|
|
public ChoosePurchaseSchemeViewModel(PurchaseService purchaseService, GlobalContext globalContext) |
|
|
|
{ |
|
|
|
this.purchaseService = purchaseService; |
|
|
|
this.globalContext = globalContext; |
|
|
|
this.bindingPurchaseProduct = bindingPurchaseProduct; |
|
|
|
PurchaseSchemeList = new ObservableCollection<PurchaseScheme>(); |
|
|
|
DeleteCommand = new RelayCommand<PurchaseScheme>(Delete); |
|
|
|
EditCommand = new RelayCommand<PurchaseScheme>(Edit); |
|
|
|
PreviewPurchaseCommand = new RelayCommand<PurchaseScheme>(PreviewPurchase); |
|
|
|
this.PurchaserList = new ObservableCollection<Purchaser>(); |
|
|
|
//DeleteCommand = new RelayCommand<PurchaseScheme>(Delete);
|
|
|
|
//EditCommand = new RelayCommand<PurchaseScheme>(Edit);
|
|
|
|
PreviewPurchaseCommand = new RelayCommand<Purchaser>(PreviewPurchase); |
|
|
|
} |
|
|
|
|
|
|
|
protected override void Load() |
|
|
|
{ |
|
|
|
PurchaseSchemeList.Clear(); |
|
|
|
Task.Factory.StartNew(() => LoadPurchaseScheme(SkuId)); |
|
|
|
PurchaserList.Clear(); |
|
|
|
Task.Factory.StartNew(() => LoadPurchaser()); |
|
|
|
} |
|
|
|
|
|
|
|
protected override void Unload() |
|
|
|
{ |
|
|
|
this.ItemTotal = 0; |
|
|
|
this.OrderId = this.SkuId = this.SkuName = string.Empty; |
|
|
|
this.Consignee = null; |
|
|
|
PurchaseSchemeList.Clear(); |
|
|
|
this.order = null; |
|
|
|
PurchaserList.Clear(); |
|
|
|
} |
|
|
|
|
|
|
|
public void SetData(string orderId, string skuId, string skuName, int itemTotal, Consignee consignee) |
|
|
|
public void SetData(Order order) |
|
|
|
{ |
|
|
|
this.OrderId = orderId; |
|
|
|
this.SkuId = skuId; |
|
|
|
this.SkuName = skuName; |
|
|
|
this.ItemTotal = itemTotal; |
|
|
|
this.Consignee = consignee; |
|
|
|
this.order = order; |
|
|
|
} |
|
|
|
|
|
|
|
public void LoadPurchaseScheme(string skuId) |
|
|
|
public void LoadPurchaser() |
|
|
|
{ |
|
|
|
var purchaseSchemeResponse = purchaseService.GetPurchaseSchemeList(new string[] { skuId }, globalContext.User.Shop.ShopId); |
|
|
|
if (!purchaseSchemeResponse.Success) |
|
|
|
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(purchaseSchemeResponse.Msg, "获取采购方案")); |
|
|
|
App.Current.Dispatcher.Invoke(() => MessageBox.Show(purchaserResponse.Msg, "获取采购商")); |
|
|
|
return; |
|
|
|
} |
|
|
|
|
|
|
|
App.Current.Dispatcher.Invoke(() => |
|
|
|
{ |
|
|
|
foreach (var apiModel in purchaseSchemeResponse.Data) PurchaseSchemeList.Add(PurchaseScheme.Convert(apiModel)); |
|
|
|
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 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 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(PurchaseScheme purchaseScheme) |
|
|
|
public void PreviewPurchase(Purchaser purchaser) |
|
|
|
{ |
|
|
|
var count = globalContext.User.Shop.PurchaseAccountList == null ? 0 : globalContext.User.Shop.PurchaseAccountList.Count(); |
|
|
|
if (count > 1) |
|
|
@ -114,9 +101,9 @@ namespace BBWY.Client.ViewModels |
|
|
|
} |
|
|
|
else if (count == 1) |
|
|
|
{ |
|
|
|
GalaSoft.MvvmLight.Messaging.Messenger.Default.Send<object>(null, "ChoosePurchaseScheme_Close"); |
|
|
|
var p = new _1688Purchase(this.OrderId, this.ItemTotal, purchaseScheme, globalContext.User.Shop.PurchaseAccountList[0], this.Consignee); |
|
|
|
p.ShowDialog(); |
|
|
|
//var p = new _1688Purchase(this.OrderId, this.ItemTotal, purchaseScheme, globalContext.User.Shop.PurchaseAccountList[0], this.Consignee);
|
|
|
|
//p.ShowDialog();
|
|
|
|
//GalaSoft.MvvmLight.Messaging.Messenger.Default.Send<object>(null, "ChoosePurchaseScheme_Close");
|
|
|
|
} |
|
|
|
else |
|
|
|
{ |
|
|
|