步步为盈
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.

219 lines
8.3 KiB

using BBWY.Client.APIServices;
using BBWY.Client.Models;
using BBWY.Client.Models.APIModel.Request;
using BBWY.Controls;
using NPOI.Util;
using Org.BouncyCastle.Asn1.Cmp;
using Org.BouncyCastle.Crypto.Parameters;
using Org.BouncyCastle.Ocsp;
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Runtime.ConstrainedExecution;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Shapes;
namespace BBWY.Client.Views.PackTask
{
/// <summary>
/// SetCerWindow.xaml 的交互逻辑
/// </summary>
public partial class SetCerWindow : BWindow
{
public SetCerWindow()
{
InitializeComponent();
}
public void LoadData(CertificateModel[] CertificateModel, PackTaskService packTaskService, CertificateModel SpuCertificateModel, bool IsSetSpuCertificate)
{
this.CertificateModel = CertificateModel.Copy();
this.SpuCertificateModel = SpuCertificateModel.Copy();
this.packTaskService = packTaskService;
this.IsSetSpuCertificate = IsSetSpuCertificate;
SetSpuCer.Content = IsSetSpuCertificate ? "设置spu模板" : "修改spu模板";
GoodsNumberCerList = new ObservableCollection<GoodsNumberCer>();
foreach (var item in CertificateModel)
{
GoodsNumberCerList.Add(new GoodsNumberCer
{
CertificateModel = item.Copy(),
});
}
this.DataContext = this;
}
public bool IsSetSpuCertificate { get; set; }
public PackTaskService packTaskService { get; set; }
public CertificateModel[] CertificateModel { get; set; }
public CertificateModel SpuCertificateModel { get; set; }
public Action<CertificateModel[]> SaveResult { get; set; }
public ObservableCollection<GoodsNumberCer> GoodsNumberCerList { get; set; }
private void save_btn_Click(object sender, RoutedEventArgs e)
{
foreach (var item in GoodsNumberCerList)
{
if (string.IsNullOrEmpty(item.CertificateModel.ExcuteStander)
|| string.IsNullOrEmpty(item.CertificateModel.Shader) || string.IsNullOrEmpty(item.CertificateModel.BrandName)
|| string.IsNullOrEmpty(item.CertificateModel.Brand) || string.IsNullOrEmpty(item.CertificateModel.ProductShop)
|| string.IsNullOrEmpty(item.CertificateModel.ProductAdress))
{
new TipsWindow("参数出错!请重新填写!").Show();
return;
}
var standers = item.CertificateModel.ExcuteStander.Split(',', StringSplitOptions.RemoveEmptyEntries);
var resData = packTaskService.SaveCer(new CerRequest
{
Brand = item.CertificateModel.Brand,
BrandName = item.CertificateModel.BrandName,
ProductNo = item.CertificateModel.ProductNo,
SkuId = item.CertificateModel.SkuId,
ExcuteStander = item.CertificateModel.ExcuteStander,
LabelModel = (int)item.CertificateModel.LabelModel,
FactoryNumber = item.CertificateModel.FactoryNumber,
IsLogo = item.CertificateModel.IsLogo,
ProductAdress = item.CertificateModel.ProductAdress,
ProductShop = item.CertificateModel.ProductShop,
Shader = item.CertificateModel.Shader,
ApplyAge = item.CertificateModel.ApplyAge,
GoodsNumber = item.CertificateModel.GoodsNumber,
ProduceDate = item.CertificateModel.ProduceDate,
});
if (resData == null)
{
MessageBox.Show("网络异常!");
return;
}
if (!resData.Success)
{
MessageBox.Show(resData.Msg);
return;
}
item.CertificateModel.Id = resData.Data;
if (SaveResult != null) SaveResult(GoodsNumberCerList.Select(c => c.CertificateModel).ToArray());
}
this.Close();
}
private void SetSpuCer_Click(object sender, RoutedEventArgs e)
{
if (SpuCertificateModel == null)
{
SpuCertificateModel = new CertificateModel();
SpuCertificateModel.ProductNo = CertificateModel[0].ProductNo;
SpuCertificateModel.Brand = CertificateModel[0].Brand;
SpuCertificateModel.SkuId = CertificateModel[0].SkuId;
}
SetSpuCerWindow setSpuCerWindow = new SetSpuCerWindow();
setSpuCerWindow.LoadData(SpuCertificateModel, packTaskService);
setSpuCerWindow.SaveResult = s =>
{
SpuCertificateModel = s;
SetSpuCer.Content = "修改spu模板";//"设置spu模板" : "修改spu模板";
IsSetSpuCertificate = false;
};
setSpuCerWindow.Show();
}
int selectCer = -1;//tabcontrol 选中事件
private void InseartCer_Click(object sender, RoutedEventArgs e)
{
if (IsSetSpuCertificate)
{
new TipsWindow("无可用模板").Show();
return;
}
if (selectCer < 0)
{
new TipsWindow("未选中合格证").Show();
return;
}
var cer = GoodsNumberCerList.SingleOrDefault(g => g.CertificateModel.GoodsNumber == selectCer);
cer.CertificateModel.Brand = SpuCertificateModel.Brand;
cer.CertificateModel.BrandName = SpuCertificateModel.BrandName;
cer.CertificateModel.ExcuteStander = SpuCertificateModel.ExcuteStander;
cer.CertificateModel.FactoryNumber = SpuCertificateModel.FactoryNumber;
cer.CertificateModel.IsLogo = SpuCertificateModel.IsLogo;
cer.CertificateModel.LabelModel = SpuCertificateModel.LabelModel;
cer.CertificateModel.ProductAdress = SpuCertificateModel.ProductAdress;
cer.CertificateModel.ProductNo = SpuCertificateModel.ProductNo;
cer.CertificateModel.Shader = SpuCertificateModel.Shader;
cer.CertificateModel.ProductShop = SpuCertificateModel.ProductShop;
cer.CertificateModel.ApplyAge = SpuCertificateModel.ApplyAge;
cer.CertificateModel.ProduceDate = SpuCertificateModel.ProduceDate;
}
private void add_goodsnum_Click(object sender, RoutedEventArgs e)
{
int num = 0;
p:
num++;
int goodsNumber = num;
var gncer = GoodsNumberCerList.SingleOrDefault(g => g.CertificateModel.GoodsNumber == goodsNumber);
if (gncer != null) goto p;
GoodsNumberCerList.Add(new GoodsNumberCer
{
CertificateModel = new CertificateModel
{
GoodsNumber = goodsNumber,
BrandName = CertificateModel[0].BrandName,
Brand = CertificateModel[0].Brand,
SkuId = CertificateModel[0].SkuId,
ProductNo = CertificateModel[0].ProductNo,
SpuId = CertificateModel[0].SkuId,
}
});
tab.SelectedIndex = GoodsNumberCerList.Count - 1;
this.UpdateLayout();
}
private void tab_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
var test = sender as HandyControl.Controls.TabControl;
if (test != null)
{
var select = test.SelectedItem as GoodsNumberCer;
if (select != null)
selectCer = select.CertificateModel.GoodsNumber;
}
}
}
public class GoodsNumberCer
{
/// <summary>
/// 配件序号
/// </summary>
// public int GoodsNumber { get; set; }
public CertificateModel CertificateModel { get; set; }
}
}