步步为盈
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

125 lines
4.0 KiB

2 years ago
using BBWY.Client.APIServices;
using BBWY.Client.Models;
using GalaSoft.MvvmLight.Command;
using System;
using System.Collections.Generic;
2 years ago
using System.Collections.ObjectModel;
using System.Linq;
using System.Text;
2 years ago
using System.Windows.Input;
namespace BBWY.Client.ViewModels
{
public class BatchPurchaseAddProductSkuViewModel : BaseVM
{
2 years ago
private BatchPurchaseService batchPurchaseService;
private string sku;
private string spu;
private Purchaser selectedPurchaser;
private Purchaser defaultPurchaser;
private KVModel selectedPurchasePlatform;
private KVModel defaultPurchasePlatform;
public ICommand SearchCommand { get; set; }
public ICommand FilterCommand { get; set; }
public string Sku { get => sku; set { Set(ref sku, value); } }
public string Spu { get => spu; set { Set(ref spu, value); } }
public IList<Purchaser> PurchaserList { get; set; }
public IList<KVModel> PurchasePlatformList { get; set; }
public Purchaser SelectedPurchaser
{
get => selectedPurchaser; set
{
if (Set(ref selectedPurchaser, value))
OnFilterChanged();
}
}
public KVModel SelectedPurchasePlatform
{
get => selectedPurchasePlatform; set
{
if (Set(ref selectedPurchasePlatform, value))
OnFilterChanged();
}
}
public IList<ProductSkuWithScheme> SourceList { get; set; }
public IList<ProductSkuWithScheme> FilterList { get; set; }
public BatchPurchaseAddProductSkuViewModel(BatchPurchaseService batchPurchaseService)
{
this.batchPurchaseService = batchPurchaseService;
defaultPurchaser = new Purchaser() { Id = "-1", Name = "全部" };
defaultPurchasePlatform = new KVModel() { Key = "-1", Value = "全部" };
PurchaserList = new ObservableCollection<Purchaser>() { defaultPurchaser };
PurchasePlatformList = new ObservableCollection<KVModel>()
{
defaultPurchasePlatform,
new KVModel(){ Key=((int)Platform.).ToString(),Value = Platform..ToString() },
new KVModel(){ Key=((int)Platform.).ToString(),Value = Platform..ToString() }
};
SourceList = new List<ProductSkuWithScheme>();
FilterList = new List<ProductSkuWithScheme>();
SelectedPurchaser = PurchaserList[0];
SelectedPurchasePlatform = PurchasePlatformList[0];
SearchCommand = new RelayCommand(Search);
FilterCommand = new RelayCommand(Filter);
}
private void OnFilterChanged()
{
if (SourceList.Count() == 0)
return;
FilterList.Clear();
var resultList = new List<ProductSkuWithScheme>();
resultList.AddRange(SourceList);
if (SelectedPurchaser.Id != "-1")
{
for (var i = 0; i < resultList.Count(); i++)
{
if (resultList[i].PurchaserId != SelectedPurchaser.Id)
{
resultList.Remove(resultList[i]);
i--;
}
}
}
if (SelectedPurchasePlatform.Key != "-1")
{
for (var i = 0; i < resultList.Count(); i++)
{
if (resultList[i].PurchasePlatform != (Platform)int.Parse(SelectedPurchasePlatform.Key))
{
resultList.Remove(resultList[i]);
i--;
}
}
}
if (resultList.Count() > 0)
{
foreach (var item in resultList)
FilterList.Add(item);
}
}
private void Search()
{
}
private void Filter()
{
}
}
}