private void Sign()
        {
            AttentionResponse attentionResponse = ServiceHelper.AttentionRequest();

            if (attentionResponse.ATT_GSC == "0000")
            {
                signRequest = new SignRequest
                {
                    PosSerialNumber       = Config.PosSerialNumber,
                    IssueTime             = DateTime.Now.ToString("yyyyMMddHHmmss"),
                    TransactionType       = Credit.SelectedPaymentType.Code,
                    PaymentMode           = Credit.SelectedPaymentType.Code,
                    SaleType              = "0",
                    LocalPurchaseOrder    = "",
                    Cashier               = Credit.Cashier,
                    BuyerTPIN             = Credit.Buyer.Tin,
                    BuyerName             = Credit.Buyer.Name,
                    BuyerTaxAccountName   = "",
                    BuyerAddress          = Credit.Buyer.Address,
                    BuyerTel              = Credit.Buyer.TelPhone,
                    OriginalInvoiceCode   = "",
                    OriginalInvoiceNumber = ""
                };
                //signRequest.BuyerCostCenterId = "1234567890";
                //signRequest.InvoiceNumber = "PNQAVDNX-PNQAVDNX-1";
                //signRequest.Options = new Dictionary<string, string>();
                //if (Credit.IsMitQr)
                //{
                //    signRequest.Options.Add("OmitQRCodeGen", "1");
                //}
                //else
                //{
                //    signRequest.Options.Add("OmitQRCodeGen", "0");
                //}
                //if (Credit.IsMitTexTual)
                //{
                //    signRequest.Options.Add("OmitTextualRepresentation", "1");
                //}
                //else
                //{
                //    signRequest.Options.Add("OmitTextualRepresentation", "0");
                //}
                signRequest.Items = new List <SignGoodItem>();
                SignGoodItem signGoodItem;
                foreach (var item in Credit.Productes)
                {
                    signGoodItem                = new SignGoodItem();
                    signGoodItem.GTIN           = item.BarCode;
                    signGoodItem.Name           = item.Name;
                    signGoodItem.Quantity       = item.Count;
                    signGoodItem.UnitPrice      = item.Price;
                    signGoodItem.TotalAmount    = item.Amount;
                    signGoodItem.IsTaxInclusive = true;
                    signGoodItem.Labels         = new string[1] {
                        item.TaxType.Label
                    };
                    signRequest.Items.Add(signGoodItem);
                }
                ServiceHelper.TcpClient.Complated -= TcpClient_Complated;
                ServiceHelper.TcpClient.Complated += TcpClient_Complated;
                ServiceHelper.SignRequest(signRequest);
            }
            else
            {
                MessageBoxEx.Show("E-SDC is not available.ATT_GSC=" + attentionResponse.ATT_GSC);
            }
        }
        private static void TcpClient_Complated(object sender, MessageModel e)
        {
            try
            {
                if (e.MessageId != 0x01)
                {
                    return;
                }
                TcpClient.Complated -= TcpClient_Complated;
                StatusResponse statusResponse = JsonConvert.DeserializeObject<StatusResponse>(e.Message);
                if (statusResponse != null)
                {
                    //
                    Const.IsHasGetStatus = true;
                    //保存软件信息--此处处理未分开(每次都保存),正式使用的时候请
                    var info = (from a in Const.dB.PosInfo
                                select a).FirstOrDefault();
                    if (info != null)
                    {
                        Const.dB.Update<PosInfo>(new PosInfo { Id = info.Id, CompanyName = statusResponse.Manufacture, Desc = statusResponse.Model, Version = statusResponse.SoftwareVersion, IssueDate = info.IssueDate });
                    }
                    //记录税种信息
                    if (statusResponse.TaxInfo != null && statusResponse.TaxInfo.Count > 0)
                    {
                        Const.dB.CodeTaxtype.Delete();
                        foreach (var item in statusResponse.TaxInfo)
                        {
                            if (item.Category != null && item.Category.Count > 0)
                            {
                                foreach (var itm in item.Category)
                                {
                                    Const.dB.Insert<CodeTaxtype>(new CodeTaxtype
                                    {
                                        TaxTypeName = item.TaxTpye,
                                        TaxTypeCode = item.TaxTpye,
                                        TaxItemName = itm.TaxName,
                                        TaxItemCode = itm.CategoryId.ToString(),
                                        TaxRate = itm.TaxRate,
                                        EffectDate = itm.EffectiveDate,
                                        ExpireDate = itm.ExpiredDate
                                    });
                                }
                            }
                        }
                    }
                    //记录monitor信息

                    if (!statusResponse.isInitialized)
                    {
                        AttentionResponse attentionResponse = ServiceHelper.AttentionRequest();
                        if (attentionResponse.ATT_GSC == "0000")
                        {
                            //校验pin
                            PinView pinView = new PinView();
                        }
                        else
                        {
                            ShowMessageBegin("E-SDC is not available");
                        }
                    }
                    else
                    {
                        if (statusResponse.isLocked)
                        {
                            ShowMessageBegin("E-SDC is locked.");
                        }
                        else
                        {
                            ShowMessageBegin("E-SDC is available");
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                ShowMessageBegin(ex.Message);
            }
        }