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 { /// /// SetCerWindow.xaml 的交互逻辑 /// 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(); 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 SaveResult { get; set; } public ObservableCollection 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, SaveType = SaveType.C端, }); 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(); } long 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 { /// /// 配件序号 /// // public int GoodsNumber { get; set; } public CertificateModel CertificateModel { get; set; } } }