using BarcodeLib;
using BBWY.Client.APIServices;
using BBWY.Client.Helpers;
using BBWY.Client.Models;
using BBWY.Client.Models.APIModel.Request;
using BBWY.Client.Models.PackTask;
using BBWY.Client.Views.PackTask;
using BBWY.Common.Models;
using BBWY.Common.Trigger;
using GalaSoft.MvvmLight.Command;
using GalaSoft.MvvmLight.Messaging;
using NPOI.Util;
using Org.BouncyCastle.Asn1.Crmf;
using Org.BouncyCastle.Asn1.Ocsp;
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Data;
using System.Linq;
using System.Runtime.CompilerServices;
using System.Security.AccessControl;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Input;
using System.Windows.Media.TextFormatting;
using System.Windows.Navigation;

namespace BBWY.Client.ViewModels.PackTask
{
    public class CreatePackTaskViewModel : BaseVM,IDenpendency
    {
   

        private bool isLoading = false;
        public bool IsLoading { get => isLoading; set { Set(ref isLoading, value); } }

        private Worry isWorry;
        /// <summary>
        /// 是否加急
        /// </summary>
        public Worry IsWorry { get => isWorry; set { Set(ref isWorry, value); } }


        private DelayTrigger delayTrigger;
        private string searchIncrementKeyWord;
        /// <summary>
        /// 增量耗材查询关键字
        /// </summary>
        public string SearchIncrementKeyWord
        {
            get => searchIncrementKeyWord; set
            {
                if (Set(ref searchIncrementKeyWord, value))
                {
                    delayTrigger.SetKey(value);
                }

            }
        }

        private ObservableCollection<IncreateModel> increateList;
        /// <summary>
        /// 增量耗材查询关键字
        /// </summary>
        public ObservableCollection<IncreateModel> IncreateList { get => increateList; set { Set(ref increateList, value); } }

        private string searchSkuId;
        /// <summary>
        /// skuId
        /// </summary>
        public string SearchSkuId { get => searchSkuId; set { Set(ref searchSkuId, value); } }

        /// <summary>
        /// 店铺Sku图链接
        /// </summary>
        private string logo;
        /// <summary>
        /// 店铺Sku图链接
        /// </summary>
        public string Logo { get => logo; set { Set(ref logo, value); } }



        private string skuName;
        /// <summary>
        /// 采购Sku名称
        /// </summary>
        public string SkuName { get => skuName; set { Set(ref skuName, value); } }


        //private long barCodeId;
        ///// <summary>
        ///// 条形码id
        ///// </summary>
        //public long BarCodeId { get => barCodeId; set { Set(ref barCodeId, value); } }

        private string brand;
        /// <summary>
        /// 品牌
        /// </summary>
        public string Brand { get => brand; set { Set(ref brand, value); } }


        private string brandName;
        /// <summary>
        /// 品名(手写上传)
        /// </summary>
        public string BrandName { get => brandName; set { Set(ref brandName, value); } }

        /// <summary>
        /// 需求方店铺id
        /// </summary>
        private string shopName;
        /// <summary>
        /// 需求方店铺id
        /// </summary>
        public string ShopName { get => shopName; set { Set(ref shopName, value); } }


        private string modelNo;
        /// <summary>
        /// 货号
        /// </summary>
        public string ModelNo { get => modelNo; set { Set(ref modelNo, value); } }
        /// <summary>
        /// 货号
        /// </summary>
        private string productNo;
        /// <summary>
        /// 货号
        /// </summary>
        public string ProductNo { get => productNo; set { Set(ref productNo, value); } }

        private int goodsNumber;
        /// <summary>
        /// 配件数
        /// </summary>
        public int GoodsNumber { get => goodsNumber; set { Set(ref goodsNumber, value); } }

        private DateTime endTime;
        /// <summary>
        /// 提交时间
        /// </summary>
        public DateTime EndTime { get => endTime; set { Set(ref endTime, value); } }


        private long taskId;
        /// <summary>
        /// 绑定数据
        /// </summary>
        public long TaskId { get => taskId; set { Set(ref taskId, value); } }


        private string departmentName;
        /// <summary>
        /// 部门名称
        /// </summary>
        public string DepartmentName { get => departmentName; set { Set(ref departmentName, value); } }


        private string acceptName;
        /// <summary>
        /// 对接人
        /// </summary>
        public string AcceptName { get => acceptName; set { Set(ref acceptName, value); } }


        private int skuCount;
        /// <summary>
        /// sku数量
        /// </summary>
        public int SkuCount { get => skuCount; set { Set(ref skuCount, value); } }


        private TaskState availability;
        /// <summary>
        /// 到货情况(待收货=0,部分收货=1,已到货=2)
        /// </summary>
        public TaskState Availability { get => availability; set { Set(ref availability, value); } }



        private int taskStatus;
        /// <summary>
        /// 任务状态(已完成=0,未完成=1)
        /// </summary>
        public int TaskStatus { get => taskStatus; set { Set(ref taskStatus, value); } }


        private PackType packType;
        /// <summary>
        /// 打包类型(单件=0,多件=1)
        /// </summary>
        public PackType PackType { get => packType; set { Set(ref packType, value); } }

        private string skuTitle;
        /// <summary>
        /// sku配件商品名称
        /// </summary>
        public string SkuTitle { get => skuTitle; set { Set(ref skuTitle, value); } }


        private BasicPack basicPack;
        /// <summary>
        /// 基础包装(快递袋=0,纸箱=1,麻袋=2)
        /// </summary>
        public BasicPack BasicPack { get => basicPack; set { Set(ref basicPack, value); } }



        private Increment increment1;
        /// <summary>
        /// 增量1()
        /// </summary>
        public Increment Increment1 { get => increment1; set { Set(ref increment1, value); } }


        private Increment increment2;
        /// <summary>
        /// 增量2()
        /// </summary>
        public Increment Increment2 { get => increment2; set { Set(ref increment2, value); } }


        private PositionType positionType;
        /// <summary>
        /// 落仓(本地仓=0,齐越仓=1,京东仓=2)
        /// </summary>
        public PositionType PositionType { get => positionType; set { Set(ref positionType, value); } }

        private string isNeedBarCode;
        /// <summary>
        /// 是否需要合格证
        /// </summary>
        public string IsNeedBarCode { get => isNeedBarCode; set { Set(ref isNeedBarCode, value); } }


        private string isNeedCertificateModel;
        /// <summary>
        /// 是否需要条形码
        /// </summary>
        public string IsNeedCertificateModel { get => isNeedCertificateModel; set { Set(ref isNeedCertificateModel, value); } }




        private BarCodeModel barCodeModel;
        /// <summary>
        /// 条形码
        /// </summary>
        public BarCodeModel BarCodeModel { get => barCodeModel; set { Set(ref barCodeModel, value); } }


        private bool isSetBarCode;
        /// <summary>
        /// 设置显示(条形码)
        /// </summary>
        public bool IsSetBarCode { get => isSetBarCode; set { Set(ref isSetBarCode, value); } }

        private bool isSetCertificate;
        /// <summary>
        /// 设置显示(合格证)
        /// </summary>
        public bool IsSetCertificate { get => isSetCertificate; set { Set(ref isSetCertificate, value); } }

        private string saveTask;

        /// <summary>
        /// 设置显示(合格证)
        /// </summary>
        public string SaveTask { get => saveTask; set { Set(ref saveTask, value); } }




        private CertificateModel certificateModel;
        /// <summary>
        /// 合格证
        /// </summary>
        public CertificateModel CertificateModel { get => certificateModel; set { Set(ref certificateModel, value); } }

        /// <summary>
        /// 合格证位置(外部包装=0,产品包装=1)
        /// </summary>
        private CertificatePosition certificatePosition;
        /// <summary>
        /// 合格证位置(外部包装=0,产品包装=1)
        /// </summary>
        public CertificatePosition CertificatePosition { get => certificatePosition; set { Set(ref certificatePosition, value); } }

        /// <summary>
        /// 注意事项(对接备注)
        /// </summary>
        private string markMessage;
        /// <summary>
        /// 注意事项(对接备注)
        /// </summary>
        public string MarkMessage { get => markMessage; set { Set(ref markMessage, value); } }

        /// <summary>
        /// 服务收费  (单个任务id 消耗的总费用)
        /// </summary>
        private decimal feesMoney;
        /// <summary>
        /// 服务收费  (单个任务id 消耗的总费用)
        /// </summary>
        public decimal FeesMoney { get => feesMoney; set { Set(ref feesMoney, value); } }

        /// <summary>
        /// 打包员
        /// </summary>
        private string packUser;
        /// <summary>
        /// 打包员
        /// </summary>
        public string PackUser { get => packUser; set { Set(ref packUser, value); } }

        private string printName;
        /// <summary>
        /// 选中的打印机名称
        /// </summary>
        public string PrintName { get => printName; set { Set(ref printName, value); } }

        private List<string> printNames;
        /// <summary>
        /// 选中的打印机名称
        /// </summary>
        public List<string> PrintNames { get => printNames; set { Set(ref printNames, value); } }

        private int printNums;
        /// <summary>
        /// 打印数
        /// </summary>
        public int PrintNums { get => printNums; set { Set(ref printNums, value); } }


        private readonly PackTaskService packTaskService;
        private readonly GlobalContext globalContext;
        private readonly ProductService productService;


        private string AccepUserId = "";//对接人
        public ICommand SetBarCodeCommand { get; set; }
        public ICommand SetCertificateCommand { get; set; }
        public ICommand SearchSkuCommand { get; set; }
        public ICommand CreateTaskCommand { get; set; }
        public ICommand SaveCerCommand { get; set; }
        public ICommand SaveBarCodeCommand { get; set; }

        public ICommand BarLabelCheckCommand { get; set; }
        public ICommand CerLabelCheckCommand { get; set; }

        public ICommand LookBarCommand { get; set; }
        public ICommand LookCerCommand { get; set; }



        public void InitData(PackTaskModel model = null)
        {
            string[] increates = new string[] { "气泡纸", "气泡袋", "POP袋", "折纸箱", "气泡纸封边", "彩盒", "剪胶", "剪彩带", "快递袋", "收纳盒", "纸箱子", "装纸箱", "封边", "胶带", "折彩盒" };
            IncreateList = new ObservableCollection<IncreateModel>();
            
            if (model == null)
            {
               
                
                SaveTask = "发布";
                TaskId = 0;
                Logo = string.Empty;
                SearchSkuId = "";
                SkuId = "";
                SkuCount = 0;
                SkuName = string.Empty;
                ProductNo = string.Empty;
                Brand = string.Empty;
                BrandName = string.Empty;
                this.MarkMessage = "";
                IsSetBarCode = true;
                IsSetCertificate = true;
                BarCodeModel = null;
                CertificateModel = null;
                SkuTitle = string.Empty;
                GoodsNumber = 0;

                foreach (var item in increates)
                {
                    IncreateList.Add(new IncreateModel
                    {
                        IncreateName = item,
                        IsSelected = false
                    });
                }
                return;
            }
            SaveTask = "保存";

            Logo = model.ItemList[0].Logo;
            SearchSkuId =model.SkuId ;

           
            SkuId = model.SkuId;
            SkuCount = model.SkuCount;
            SkuName = model.ItemList[0].SkuName;
            ProductNo = model.ItemList[0].GoodsNo;
            Brand = model.Brand;
            BrandName = model.ItemList[0].BrandName;
            this.MarkMessage = model.MarkMessage;
            IsSetBarCode = model.BarCodeModel!=null ? false:true;
            IsSetCertificate = model.CertificateModel!=null ? false : true;
            BarCodeModel = model.BarCodeModel;
            CertificateModel = model.CertificateModel;
            SkuTitle = model.SkuTitle;
            GoodsNumber = model.GoodsNumber;
            Availability = model.Availability;
            IsWorry = model.IsWorry;
            PositionType = model.PositionType;
            PackType =model.PackType;
            BasicPack = model.BasicPack;
            IsNeedBarCode = model.BarCodeModel != null ? "需要" : "不需要";
            IsNeedCertificateModel = model.CertificateModel != null ? "需要" : "不需要";
            CertificatePosition = model.CertificatePosition;
            TaskId = model.TaskId;
            string[] increateDatas =model.Increment1.Split(',');

            bool isSelected = false;
            foreach (var item in increates)
            {
                isSelected = false;
                if (increateDatas.Contains(item))
                {
                    isSelected = true;
                }
                IncreateList.Add(new IncreateModel
                {
                    IncreateName = item,
                    IsSelected = isSelected
                });
            }
            //SearchSku();

        }

        public CreatePackTaskViewModel(PackTaskService packTaskService, GlobalContext globalContext, ProductService productService)
        {
            Messenger.Default.Register<PackTaskModel>(this, "InitData", message =>
            {

                InitData(message);
            });

            this.productService = productService;
            this.packTaskService = packTaskService;

            AccepUserId = globalContext.User.Id.ToString();

            IsSetBarCode = true;
            IsSetCertificate = true;
            //数据库获取增量耗材数据

            string[] increates = new string[] { "气泡纸", "气泡袋", "POP袋", "折纸箱", "气泡纸封边", "彩盒", "剪胶", "剪彩带", "快递袋", "收纳盒", "纸箱子", "装纸箱", "封边", "胶带", "折彩盒" };
            IncreateList = new ObservableCollection<IncreateModel>();
            foreach (var item in increates)
            {
                IncreateList.Add(new IncreateModel
                {
                    IncreateName = item,
                    IsSelected = false
                });
            }




            //查询sku
            SearchSkuCommand = new RelayCommand(() =>
            {
                Task.Factory.StartNew(() => { SearchSku(); });

            });
            CreateTaskCommand = new RelayCommand<object>(CreateTask);
            this.globalContext = globalContext;
            SetBarCodeCommand = new RelayCommand(SetBarCode);
            SetCertificateCommand = new RelayCommand(SetCertificate);
            SaveBarCodeCommand = new RelayCommand(SaveBarCode);

            SaveCerCommand = new RelayCommand(SaveCer);
            BarLabelCheckCommand = new RelayCommand<BarcodeLabelModel>(BarLabelCheck);
            CerLabelCheckCommand = new RelayCommand<CertificateLabelModel>(CerLabelCheck);

            LookBarCommand = new RelayCommand(LookBar);
            LookCerCommand = new RelayCommand(LookCer);
            PrintNames = new List<string>();
            delayTrigger = new DelayTrigger(500);
            delayTrigger.OnExecute = OnSearchIncreateKeyWordChanged;
            BarLabelCheck(BarcodeLabelModel.barsimplify);//默认精简模式         
        }



        private void OnSearchIncreateKeyWordChanged(string key)
        {
            foreach (var s in this.IncreateList)
                s.IsSelected = false;

            App.Current.Dispatcher.Invoke(() =>
            {
                this.IncreateList.Clear();


                string[] increates = new string[] { "气泡纸", "气泡袋", "POP袋", "折纸箱", "气泡纸封边", "彩盒", "剪胶", "剪彩带", "快递袋", "收纳盒", "纸箱子", "装纸箱", "封边", "胶带", "折彩盒" };
                List<IncreateModel> keyWordShopList = new List<IncreateModel>();
                foreach (var item in increates)
                {
                    keyWordShopList.Add(new IncreateModel
                    {
                        IncreateName = item,
                        IsSelected = false
                    });
                }
                if (!string.IsNullOrEmpty(key.Trim()))
                {
                    keyWordShopList = keyWordShopList.Where(s => s.IncreateName.Contains(key)).ToList();

                }
                if (keyWordShopList.Count() > 0)
                {
                    foreach (var shop in keyWordShopList)
                        IncreateList.Add(shop);
                }

            });
        }

        /// <summary>
        /// 查看合格证
        /// </summary>
        private void LookCer()
        {
            LookCerWindow lookCerWindow = new LookCerWindow(CertificateModel);
            lookCerWindow.Show();
        }
        /// <summary>
        /// 查看条形码
        /// </summary>
        private void LookBar()
        {
            LookBarCodeWindow look = new LookBarCodeWindow(new BarCodeModel
            {
                Brand = BarCodeModel. Brand,
                BrandName = BarCodeModel.BrandName,
                LabelModel = BarCodeModel.LabelModel,
                ProductNo = BarCodeModel.ProductNo,
                SkuId = BarCodeModel.SkuId,
                SkuName = BarCodeModel.SkuName
            });
            look.Show();
        }

        private void CerLabelCheck(CertificateLabelModel cer)
        {
            CertificateModel.IsLogo = (int)cer;
        }
        /// <summary>
        /// 
        /// </summary>
        /// <param name="barcodeLabelModel"></param>
        /// <exception cref="NotImplementedException"></exception>
        private void BarLabelCheck(BarcodeLabelModel barcodeLabelModel)
        {
            LabelModel = barcodeLabelModel;

            if (LabelModel == BarcodeLabelModel.barstander)//标准版 判断数据是否异常
            {
                if (string.IsNullOrEmpty(ProductNo) || ProductNo == "待填写")
                {
                    TipsWindow tips = new TipsWindow("该SKU无货号信息,将影响条形码打印\r\n请先设置好货号信息或调整打印模板类型");
                    tips.ShowDialog();
                }
            }

            //throw new NotImplementedException();
        }

        /// <summary>
        /// 设置合格证
        /// </summary>
        private void SetCertificate()
        {
            if (CertificateModel == null)
            {
                new TipsWindow("请先查询Sku数据").ShowDialog();
                return;
            }
            CertificateModel.BrandName = BrandName;
            setCerWindow = new SetCerWindow();
            setCerWindow.ShowDialog();
            //throw new NotImplementedException();
        }
        /// <summary>
        /// 保存合格证
        /// </summary>
        private void SaveCer()
        {
            if (string.IsNullOrEmpty(CertificateModel.ExcuteStander) || string.IsNullOrEmpty(CertificateModel.ProductNo)
                || string.IsNullOrEmpty(CertificateModel.Shader) || string.IsNullOrEmpty(CertificateModel.BrandName)
                || string.IsNullOrEmpty(CertificateModel.Brand) || string.IsNullOrEmpty(CertificateModel.ProductShop)
                || string.IsNullOrEmpty(CertificateModel.ProductAdress))
            {
                new TipsWindow("参数出错!请重新填写!").ShowDialog();
                return;
            }
            var standers = CertificateModel.ExcuteStander.Split(',', StringSplitOptions.RemoveEmptyEntries);
            CertificateLabelModel labelModel = CertificateLabelModel.No3C;
   


            switch (CertificateModel.IsLogo)
            {
                case 0://没图
                        labelModel = CertificateLabelModel.No3C; break;
                  
         
                case 1://含3c图
               
                    labelModel = CertificateLabelModel.Is3C;
                    break;
                default:
                    break;
            }
            CertificateModel.LabelModel = labelModel;
            var resData = packTaskService.SaveCer(new CerRequest
            {
                Brand = CertificateModel.Brand,
                BrandName = CertificateModel.BrandName,
                ProductNo = CertificateModel.ProductNo,
                SkuId = CertificateModel.SkuId,
                ExcuteStander = CertificateModel.ExcuteStander,
                LabelModel = (int)CertificateModel.LabelModel,
                FactoryNumber = CertificateModel.FactoryNumber,
                IsLogo = CertificateModel.IsLogo,
                ProductAdress = CertificateModel.ProductAdress,
                ProductShop = CertificateModel.ProductShop,
                Shader = CertificateModel.Shader


            });
            if (resData == null || !resData.Success)
            {
                IsSetCertificate = false;
                return;
            }
            IsNeedCertificateModel = "需要";
            CertificateModel.Id = resData.Data;
            IsSetCertificate = false;
            setCerWindow.Close();
        }

        SetBarCodeWindow setBarCodeWindow = null; SetCerWindow setCerWindow = null;
        private void SetBarCode()
        {
            if (string.IsNullOrEmpty( SearchSkuId))
            {
                new TipsWindow("请先查询skuId").Show();
                return;
            }
            if (BarCodeModel == null)
            {
                BarCodeModel = new BarCodeModel();
                BarCodeModel.ProductNo = ProductNo;
                BarCodeModel.Brand = Brand;
                BarCodeModel.SkuId = SkuId;
                BarCodeModel.SkuName = SkuName;
                
            }
            BarCodeModel.BrandName = BrandName;
            setBarCodeWindow = new SetBarCodeWindow();

            setBarCodeWindow.ShowDialog();
        }

        public BarcodeLabelModel LabelModel = BarcodeLabelModel.barsimplify;

        private void SaveBarCode()
        {

            if (LabelModel == BarcodeLabelModel.barstander)//标准版 判断数据是否异常
            {
                if (string.IsNullOrEmpty(ProductNo) || ProductNo == "待填写")
                {
                    TipsWindow tips = new TipsWindow("该SKU无货号信息,将影响条形码打印\r\n请先设置好货号信息或调整打印模板类型");
                    tips.ShowDialog();
                    return;
                }
            }

            //保存到服务器中   返回id
            var resData = packTaskService.SaveBarCode(new BarCodeRequest
            {
                Brand = Brand,
                BrandName = BrandName,
                ProductNo = ProductNo,
                SkuId = SkuId,
                SkuName = SkuName,
                LabelModel = LabelModel

            });
            if (resData == null || !resData.Success)
            {
                IsSetBarCode = false;
                return;
            }
            
            BarCodeModel.Id = resData.Data;
            IsNeedBarCode = "需要";
            IsSetBarCode = false;
            setBarCodeWindow.Close();
        }

        public string SkuId { get; set; }



        public Action ReflashWindow { get; set; }
        /// <summary>
        /// 发布任务
        /// </summary>
        public void CreateTask(object obj)
        {
            if (string.IsNullOrEmpty(SkuId))
            {
                new TipsWindow("请先搜索SkuId!").Show();
                return;
            }
            if (SkuCount<=0)
            {
                new TipsWindow("请设置SKU任务数!").Show();
                return;
            }
            string increateStr = "";
            var increates = IncreateList.Where(i => i.IsSelected).Select(i => i.IncreateName);
            if (increates != null && increates.Count() > 0)
            {
                increateStr = string.Join(",", increates);
            }
            var createTaskModel = new Models.APIModel.Request.CreateTaskRequest
            {
                TaskId=TaskId,
                BrandName = BrandName,
                Availability = (int)Availability,
                BasicPack = (int)BasicPack,
                SkuId = SkuId,
                CreateTime = DateTime.Now,
                Increment1 = increateStr,
                Increment2 = (int)Increment2,
                CertificatePosition = (int)CertificatePosition,
                PackType = (int)PackType,
                MarkMessage = markMessage,
                PositionType = (int)PositionType,
                GoodsNumber = GoodsNumber,
                SkuGoodsTitle = SkuTitle,
                SkuCount = SkuCount,
                UserId = AccepUserId,
                ShopId = globalContext.User.Shop.ShopId.ToString(),
                IsWorry = IsWorry
            };
            if (IsNeedBarCode == "需要")
            {
                if (BarCodeModel == null || BarCodeModel.Id <= 0)
                {
                    new TipsWindow("请设置条形码模板").ShowDialog();
                    return;
                }
                createTaskModel.BarCodeId = BarCodeModel.Id;
            }
            if (IsNeedCertificateModel == "需要")
            {
                if (CertificateModel == null || CertificateModel.Id <= 0)
                {
                    new TipsWindow("请设置合格证模板").ShowDialog();
                    return;
                }
                createTaskModel.CertificateId = CertificateModel.Id;//
            }
            ApiResponse<object> res = null;
            if (TaskId>0)//修改界面
            {
                res = packTaskService.UpdateTask(createTaskModel);
            }
            else 
            {
                res = packTaskService.CreateTask(createTaskModel);
            }
            if (res.Success)
            {
                if (ReflashWindow != null) ReflashWindow();//刷新主界面

                var win = obj as System.Windows.Window;
                win.Close();
            }
        }


        /// <summary>
        /// 搜索 skuId
        /// </summary>
        public void SearchSku()
        {
            IsLoading = true;
            SkuId = searchSkuId;
            ApiResponse<ProductListResponse> productApiResponse = null;
            var skuResponse = productService.GetProductSkuList(string.Empty, SkuId);
            if (skuResponse.Success)
            {
                if (skuResponse.Data.Count == 0)
                {
                    IsLoading = false;
                    return;
                }
                Logo = skuResponse.Data[0].Logo;
                SkuName = skuResponse.Data[0].Title;
                // ProductNo = skuResponse.Data[0].ProductItemNum;



                productApiResponse = productService.GetProductList(skuResponse.Data[0].ProductId, string.Empty, string.Empty, 1);

                if (productApiResponse.Success)
                {
                    if (productApiResponse.Data.Count == 0)
                    {
                        IsLoading = false;
                        return;
                    }

                    ProductNo = productApiResponse.Data.Items[0].ProductItemNum;
                    Brand = productApiResponse.Data.Items[0].BrandName;

                }
                var productSku = packTaskService.GetProductSku(searchSkuId);
                if (productSku == null || !productSku.Success)
                {
                    IsLoading = false;
                    return;
                }
                BrandName = productSku.Data.BrandName;

                IsSetCertificate = true;
                CertificateModel = productSku.Data.Certificate;
                if (CertificateModel == null)
                {
                    CertificateModel = new CertificateModel();

                }
                CertificateModel.Brand = Brand;
                CertificateModel.BrandName = BrandName;
                CertificateModel.ProductNo = ProductNo;
                CertificateModel.SkuId = SkuId;
                BarCodeModel = productSku.Data.BarCodeModel;
                if (BarCodeModel == null)
                {
                    BarCodeModel = new BarCodeModel();
                }
                BarCodeModel.Brand = Brand;
                BarCodeModel.BrandName = BrandName;
                BarCodeModel.ProductNo = ProductNo;
                BarCodeModel.SkuId = SkuId;
                BarCodeModel.SkuName = SkuName;
                IsSetBarCode = true;
            }
            else
            {
                IsLoading = false;
                App.Current.Dispatcher.Invoke(() => MessageBox.Show(skuResponse.Msg, "加载sku"));
                return;
            }

            IsLoading = false;
            //查看有木有存在 
        }

    }
}