Пример #1
0
        protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            if (e.Row.RowType == DataControlRowType.DataRow)
            {
                Double qtyes = Double.Parse(e.Row.Cells[5].Text);
                Double taxes = (Double.Parse(e.Row.Cells[8].Text) + Double.Parse(e.Row.Cells[7].Text)) * (qtyes);
                Qty            = Qty + Double.Parse(e.Row.Cells[5].Text);
                UnitPrice      = UnitPrice + Double.Parse(e.Row.Cells[4].Text);
                TotalDP        = TotalDP + Double.Parse(e.Row.Cells[6].Text);
                TotalTaxAmount = TotalTaxAmount + Double.Parse(e.Row.Cells[7].Text);
                Total          = Total + Double.Parse(e.Row.Cells[9].Text);
                TotalPrice     = TotalPrice + Double.Parse(e.Row.Cells[10].Text);
                TTax           = TTax + Double.Parse(e.Row.Cells[8].Text);
                // lblTotalTaxAmount.Text = string.Format("{0:f2}", (Double.Parse(e.Row.Cells[10].Text)) - (Double.Parse(e.Row.Cells[4].Text) * Double.Parse(e.Row.Cells[5].Text)));
                // lblnetprice.Text = string.Format("{0:f2}", (Double.Parse(e.Row.Cells[4].Text) * Double.Parse(e.Row.Cells[5].Text)));
            }
            if (e.Row.RowType == DataControlRowType.Footer)
            {
                e.Row.Cells[3].Text = "Total :";
                // e.Row.Cells[4].Text = string.Format("{0:f2}", UnitPrice);
                e.Row.Cells[5].Text = Qty.ToString();
                // e.Row.Cells[6].Text = string.Format("{0:f2}", TotalDP);
                e.Row.Cells[7].Text  = string.Format("{0:f2}", TotalTaxAmount);
                e.Row.Cells[8].Text  = string.Format("{0:f2}", TTax);
                e.Row.Cells[9].Text  = string.Format("{0:f2}", Total);
                e.Row.Cells[10].Text = string.Format("{0:f2}", TotalPrice);

                // lblMoneyInWord.Text = NoToEng.changeNumericToWords(TotalPrice);
                lblNetProductValue.Text = TotalDP.ToString();
                lbltotalprice.Text      = TotalPrice.ToString();
                lblAddvat.Text          = TTax.ToString();
                lblTotalTaxAmount.Text  = TotalTaxAmount.ToString();
            }
        }
        private void Print()
        {
            //_isHasPrint = true;
            Printer.Instance.Print(() =>
            {
                //if (signResponse != null && string.IsNullOrWhiteSpace(signResponse.Message) && !string.IsNullOrWhiteSpace(signResponse.Journal))
                //{
                //    //打印返回的表
                //    Printer.Instance.SetAlign(1);
                //    Printer.Instance.PrintString(0, 1, 0, 0, 0, string.Format("{0}\r\n", signResponse.Journal));

                //    Printer.Instance.Reset();
                //    Printer.Instance.SetAlign(1);
                //    if (!Credit.IsMitQr && !string.IsNullOrWhiteSpace(signResponse.VerificationUrl))
                //    {
                //        Printer.Instance.PrintTwoDimensionalBarcodeA(signResponse.VerificationUrl);
                //    }
                //    Printer.Instance.CutPaper(1, 5);
                //}
                //else
                //{
                //打印自定义的表样
                Printer.Instance.SetAlign(1);
                Printer.Instance.PrintString(0, 1, 0, 0, 0, string.Format("Order Number:{0}\r\n{1}\r\n", Credit.OrderNumber, CurrentTime));

                Printer.Instance.SetAlign(0);
                Printer.Instance.SetTwoColumnPrint("POSID", Credit.PosNumber, "Cashier:", Credit.Cashier);
                Printer.Instance.SetTwoColumnPrint("Buyer TIN", "", "", Credit.Buyer.Tin);
                Printer.Instance.SetTwoColumnPrint("Buyer Name", "", "", Credit.Buyer.Name);
                Printer.Instance.SetTwoColumnPrint("Buyer Address", "", "", Credit.Buyer.Address);
                Printer.Instance.SetTwoColumnPrint("Buyer Tel", "", "", Credit.Buyer.TelPhone);
                Printer.Instance.SetTwoColumnPrint("Invoice Code", "", "", InvoiceCode);
                Printer.Instance.SetTwoColumnPrint("Invoice Number", "", "", InvoiceNumber);
                Printer.Instance.PrintLine();

                Printer.Instance.SetAlign(1);
                Printer.Instance.PrintString(0, 1, 0, 0, 0, "Particular Of Items\r\n");
                //表格字符占用按照7 8 5 3 9来打印
                //表格字符占用按照11 11 5 3 9来打印
                Printer.Instance.SetAlign(0);
                Printer.Instance.PrintString(0, 1, 0, 0, 0, "Name           Price          Qty.       Amount\r\n");
                if (Credit != null && Credit.Productes != null)
                {
                    foreach (var item in Credit.Productes)
                    {
                        Printer.Instance.PrintString(0, 1, 0, 0, 0, string.Format("{0}{1}{2}{3}\r\n",
                                                                                  Printer.Instance.SetLeftPrint(15, string.Format("{0} ({1})", item.Name, item.TaxType.Label.ToString())),
                                                                                  Printer.Instance.SetLeftPrint(12, item.Price.ToString("0.00")),
                                                                                  Printer.Instance.SetCenterPrint(8, item.Count.ToString()),
                                                                                  Printer.Instance.SetRightPrint(12, item.Amount.ToString("0.00"))));
                    }
                }
                //SetTwoColumnPrint("Total Value", "", "", Credit.GrandTotal.ToString("0.00"));
                Printer.Instance.PrintLine();

                Printer.Instance.SetAlign(1);
                Printer.Instance.PrintString(0, 1, 0, 0, 0, "Tax Amount\r\n");
                //表格字符占用按照8 8 8 8来打印
                Printer.Instance.SetAlign(0);
                Printer.Instance.PrintString(0, 1, 0, 0, 0, "Label       Name        Rate(%)      Tax Amount\r\n");
                if (TaxList != null)
                {
                    foreach (var item in TaxList)
                    {
                        Printer.Instance.PrintString(0, 1, 0, 0, 0, string.Format("{0}{1}{2}{3}\r\n",
                                                                                  Printer.Instance.SetLeftPrint(6, item.TaxItemCode),
                                                                                  Printer.Instance.SetCenterPrint(18, item.TaxItemDesc),
                                                                                  Printer.Instance.SetCenterPrint(11, (item.TaxRate).ToString()),
                                                                                  Printer.Instance.SetRightPrint(12, item.TaxAmount.ToString("0.00"))));
                    }
                }
                Printer.Instance.SetTwoColumnPrint("Total Tax", "", "", TotalTaxAmount.ToString("0.00"));
                Printer.Instance.PrintLine();

                Printer.Instance.SetTwoColumnPrint("Total Amount", "", "", Credit.GrandTotal.ToString("0.00"));
                Printer.Instance.SetTwoColumnPrint("Payment Mode", "", "", Credit == null ? "" : (Credit.SelectedPaymentType == null ? "" : Credit.SelectedPaymentType.Name));
                Printer.Instance.SetTwoColumnPrint("Actual Payment", "", "", ActualPay.ToString("0.00"));
                Printer.Instance.SetTwoColumnPrint("Change", "", "", Change.ToString("0.00"));
                Printer.Instance.PrintLine();

                Printer.Instance.SetTwoColumnPrint("TPIN", "", "", TaxPayerInfo.Tin);
                Printer.Instance.SetTwoColumnPrint("Name", "", "", TaxPayerInfo.Name);
                Printer.Instance.SetTwoColumnPrint("Address", "", "", TaxPayerInfo.Address);
                Printer.Instance.SetTwoColumnPrint("Tel", "", "", TaxPayerInfo.Telphone);
                Printer.Instance.SetTwoColumnPrint("Terminal ID", "", "", TerminalID);
                Printer.Instance.SetTwoColumnPrint("Fiscal Code", "", "", FiscalCode);
                Printer.Instance.PrintLine();

                if (!Credit.IsMitQr && signResponse != null && !string.IsNullOrWhiteSpace(signResponse.VerificationUrl))
                {
                    Printer.Instance.SetAlign(1);
                    Printer.Instance.PrintTwoDimensionalBarcodeA(signResponse.VerificationUrl);
                }
                Printer.Instance.SetAlign(0);
                Printer.Instance.PrintString(0, 0, 0, 0, 0, "Dear sir madam,please keep the invoice properly so as to refunds & replaces \r\n\r\n");
                Printer.Instance.SetAlign(1);
                Printer.Instance.PrintString(0, 0, 0, 0, 0, "Thank You & Please Come Again \r\n");


                if (!Const.Locator.OperationModeVm.IsNormal)
                {
                    Printer.Instance.PrintString(0, 0, 0, 0, 0, "\r\n");
                    Printer.Instance.PrintString(0, 0, 0, 0, 0, "This is a testing invoice \r\n");
                }

                Printer.Instance.CutPaper(1, 5);
                //}
            });
        }
 /// <summary>
 /// Prints the total tax.
 /// </summary>
 /// <returns></returns>
 protected override string PrintTotalTax() =>
 $"<h3>Tax: {TotalTaxAmount.ToCurrencyPrecision()}</h3>";