Esempio n. 1
0
        static void Main(string[] args)
        {
            Console.WriteLine("Prepare for test.. Press one key");
            Console.ReadKey();
            PrinterUtility.EscPosEpsonCommands.EscPosEpson obj = new PrinterUtility.EscPosEpsonCommands.EscPosEpson();
            StreamReader sr = new StreamReader(@"C:\logo\58mmWidth.prn");

            Image newImage = Image.FromFile(@"c:\logo\logo.bmp");

            //var BytesValue = ImageToByteArray(newImage);
            //var BytesValue = ReadAllBytes(@"c:\photo\logo.bmp");
            byte[] BytesValue = Encoding.ASCII.GetBytes("Sier Group 1 22 333 4444");
            BytesValue = PrintExtensions.AddBytes(BytesValue, Encoding.ASCII.GetBytes("Sier Group 1 22 333 4444\n"));
            BytesValue = PrintExtensions.AddBytes(BytesValue, Encoding.ASCII.GetBytes("Sier Group 1 22 333 4444\n"));
            BytesValue = PrintExtensions.AddBytes(BytesValue, obj.Separator());
            BytesValue = PrintExtensions.AddBytes(BytesValue, obj.FontSelect.FontC());
            BytesValue = PrintExtensions.AddBytes(BytesValue, obj.Alignment.Center());
            BytesValue = PrintExtensions.AddBytes(BytesValue, obj.CharSize.DoubleWidth4());
            BytesValue = PrintExtensions.AddBytes(BytesValue, Encoding.ASCII.GetBytes("Sier Group 1 22 333 4444\n"));
            BytesValue = PrintExtensions.AddBytes(BytesValue, obj.Separator());
            BytesValue = PrintExtensions.AddBytes(BytesValue, obj.Lf());
            BytesValue = PrintExtensions.AddBytes(BytesValue, CutPage());
            PrinterUtility.PrintExtensions.Print(BytesValue, "COM7");
            Console.WriteLine("Hope it went well.. Bye");
            Console.ReadKey();

            //Printer printer = new Printer("Thermal Printer");
            //printer.TestPrinter();
            //printer.FullPaperCut();
            //printer.PrintDocument();
        }
        private byte[] GenerateReceipt(Receipt receipt)
        {
            var togLogoPath = System.AppDomain.CurrentDomain.BaseDirectory + "\\Images\\tog-logo.png";

            PrinterUtility.EscPosEpsonCommands.EscPosEpson obj = new PrinterUtility.EscPosEpsonCommands.EscPosEpson();
            var BytesValue = Encoding.ASCII.GetBytes(string.Empty);

            BytesValue = PrintExtensions.AddBytes(BytesValue, ImageToByteArray(togLogoPath));
            BytesValue = PrintExtensions.AddBytes(BytesValue, obj.Separator());
            BytesValue = PrintExtensions.AddBytes(BytesValue, obj.CharSize.DoubleWidth6());
            BytesValue = PrintExtensions.AddBytes(BytesValue, obj.FontSelect.FontA());
            BytesValue = PrintExtensions.AddBytes(BytesValue, obj.Alignment.Left());
            BytesValue = PrintExtensions.AddBytes(BytesValue, Encoding.ASCII.GetBytes("TOG Connection Pte Ltd\n"));

            BytesValue = PrintExtensions.AddBytes(BytesValue, Encoding.ASCII.GetBytes("201 Victoria Street .#05-04\n\n"));
            BytesValue = PrintExtensions.AddBytes(BytesValue, Encoding.ASCII.GetBytes("SINGAPORE - 188067\n"));
            BytesValue = PrintExtensions.AddBytes(BytesValue, Encoding.ASCII.GetBytes("Phone: 66341967\n"));
            BytesValue = PrintExtensions.AddBytes(BytesValue, Encoding.ASCII.GetBytes("E-mail: [email protected]\n"));
            BytesValue = PrintExtensions.AddBytes(BytesValue, Encoding.ASCII.GetBytes("GST Reg No: 201229862H\n"));
            BytesValue = PrintExtensions.AddBytes(BytesValue, obj.Separator());
            BytesValue = PrintExtensions.AddBytes(BytesValue,
                                                  Encoding.ASCII.GetBytes($"Bill No: {receipt.BillNo}  Date: {receipt.CreatedDate.ToString("dd/MM/yyyy")}\n"));
            BytesValue = PrintExtensions.AddBytes(BytesValue,
                                                  Encoding.ASCII.GetBytes($"Cashier: {receipt.CashierName}  Couter: {receipt.CounterName}\n"));

            BytesValue = PrintExtensions.AddBytes(BytesValue, Encoding.ASCII.GetBytes("No  Itm                      Qty      Net   Total\n"));
            BytesValue = PrintExtensions.AddBytes(BytesValue, obj.Separator());

            if (receipt.Items.Any())
            {
                foreach (var item in receipt.Items)
                {
                    BytesValue = PrintExtensions.AddBytes(BytesValue, string.Format("{0}{1,-40}{2,6}{3,9}{4,9:N2}\n",
                                                                                    item.No, item.Name, item.Quantity, item.Price, item.Amount));
                }
            }

            BytesValue = PrintExtensions.AddBytes(BytesValue, Encoding.ASCII.GetBytes($" Total Amount:           {receipt.TotalAmount}\n"));
            BytesValue = PrintExtensions.AddBytes(BytesValue, Encoding.ASCII.GetBytes($" (GST S$ {receipt.GTSAmount} Inclusive)\n"));
            BytesValue = PrintExtensions.AddBytes(BytesValue, obj.Separator());
            BytesValue = PrintExtensions.AddBytes(BytesValue, Encoding.ASCII.GetBytes($" Net Qty: {receipt.NetQuantity}    Net Total:  {receipt.NetTotal}\n"));
            BytesValue = PrintExtensions.AddBytes(BytesValue, obj.Separator());

            BytesValue = PrintExtensions.AddBytes(BytesValue, obj.Alignment.Center());
            BytesValue = PrintExtensions.AddBytes(BytesValue,
                                                  Encoding.ASCII.GetBytes($"Retain Your Receipt for Exchange within {receipt.ExchangeDayQuantity} Days For Selected Items Only!Thanks!Please Come again\n"));

            BytesValue = PrintExtensions.AddBytes(BytesValue, obj.Separator());
            BytesValue = PrintExtensions.AddBytes(BytesValue, obj.Lf());
            BytesValue = PrintExtensions.AddBytes(BytesValue, obj.Alignment.Center());
            BytesValue = PrintExtensions.AddBytes(BytesValue, obj.CharSize.DoubleHeight6());
            BytesValue = PrintExtensions.AddBytes(BytesValue, obj.BarCode.Code128("12345"));
            BytesValue = PrintExtensions.AddBytes(BytesValue, obj.QrCode.Print("12345", PrinterUtility.Enums.QrCodeSize.Grande));
            BytesValue = PrintExtensions.AddBytes(BytesValue, "-------------------Thank you for coming------------------------\n");
            BytesValue = PrintExtensions.AddBytes(BytesValue, obj.Alignment.Left());
            BytesValue = PrintExtensions.AddBytes(BytesValue, CutPage());

            return(BytesValue);
        }
Esempio n. 3
0
        private void sell()
        {
            //throw new NotImplementedException();
            try
            {
                if (textBoxTotalAmount.Text != "" && textBoxBalance.Text != "" && textBoxCash.Text != "" || textBox2.Text != "")
                {
                    getreceiptno();
                    foreach (DataGridViewRow row in dataGridView1.Rows)
                    {
                        if (row.Cells[0].Value != null)
                        {
                            //float available = 0,totalqty;
                            available = Convert.ToInt32(textBox1.Text);
                            //sold = Convert.ToInt32(textBoxQuantity.Text);
                            totalqty = available - qty;
                            getCreditno();
                            sqlconnectionclass getstatus = new sqlconnectionclass();
                            DR = getstatus.ReadDB("select count(*) from stockin where productno='" + row.Cells[0].Value + "'");
                            if (DR.HasRows)
                            {
                                DR.Read(); if (Convert.ToInt32(DR[0]) > 0)
                                {
                                    status = 0;
                                }
                                else
                                {
                                    status = 1;
                                }
                            }
                            string insertsale = "INSERT INTO [Sales]([ProductNo],[sqty],[sprice],[totalcost],[VAT],[credit_customerID],[credit_no],[unknown],[receiptno],[date])VALUES('" + row.Cells[0].Value + "','" + row.Cells[3].Value + "','" + row.Cells[2].Value + "','" + row.Cells[5].Value + "','" + row.Cells[4].Value + "','" + cust_id + "','" + nextcreditno + "','" + status + "','" + ReceiptNo + "','" + System.DateTime.Now + "')";
                            new sqlconnectionclass().WriteDB(insertsale);
                            string insertstockcard = "INSERT INTO [Stockcard]([ProductNo] ,[Transaction_Date],[Naration] ,[Qty_in] ,[Qty_out],[Lacation],[System_User],[New_Stock],[Available_Stock],[DateReport],[Timereport]) VALUES('" + row.Cells[0].Value + "','" + System.DateTime.Now + "','Sale of ''" + productname + "','" + '0' + "','" + row.Cells[3].Value + "','Store','" + Form1.UserName + "','" + totalqty + "','" + textBox1.Text + "','" + System.DateTime.Now + "','" + System.DateTime.Now + "')";
                            new sqlconnectionclass().WriteDB(insertstockcard);
                            if (radioButton2.Checked == true)
                            {
                                string insertcredit = "INSERT INTO credit_sales([credit_no],[credit_customerID],[amount],[description],[user],[date])values('" + nextcreditno + "','" + cust_id + "','" + txtcreditsales.Text + "','being sales of''" + productname + "','" + Form1.UserName + "','" + System.DateTime.Now.ToShortDateString() + "')";
                                new sqlconnectionclass().WriteDB(insertcredit);
                                creditbalance();
                                totalbal = Convert.ToInt32(txtcreditsales.Text);
                                bal2     = bal + totalbal;
                                string insertgledger = "INSERT INTO [GLedger]([credit_customerID],[Debit],[Balance],[Date],[user],[Naration])values('" + cust_id + "','" + txtcreditsales.Text + "','" + bal2 + "','" + System.DateTime.Now + "','" + Form1.UserName + "','Being sales of''" + productname + "')";
                                new sqlconnectionclass().WriteDB(insertgledger);
                            }
                        }
                    }

                    //if(){}
                    /*****======================Begin Print=====================*****/
                    PrinterUtility.EscPosEpsonCommands.EscPosEpson obj = new PrinterUtility.EscPosEpsonCommands.EscPosEpson();
                    var BytesValue = Encoding.ASCII.GetBytes(string.Empty);
                    //BytesValue = PrintExtensions.AddBytes(BytesValue, obj.Separator());
                    BytesValue = PrintExtensions.AddBytes(BytesValue, obj.CharSize.DoubleWidth2());
                    BytesValue = PrintExtensions.AddBytes(BytesValue, obj.FontSelect.FontA());
                    BytesValue = PrintExtensions.AddBytes(BytesValue, obj.Alignment.Center());
                    //BytesValue = PrintExtensions.AddBytes(BytesValue, Encoding.ASCII.GetBytes("\n"));
                    BytesValue = PrintExtensions.AddBytes(BytesValue, Encoding.ASCII.GetBytes("JOMAT GENERAL HARDWARE\n"));
                    BytesValue = PrintExtensions.AddBytes(BytesValue, obj.CharSize.Nomarl());
                    BytesValue = PrintExtensions.AddBytes(BytesValue, obj.FontSelect.FontA());
                    BytesValue = PrintExtensions.AddBytes(BytesValue, Encoding.ASCII.GetBytes("Dealers in: Hardware e.g Iron sheets, Cement,\n Plywood, Paints, Glassmart, Supply of general\nbuilding materials etc.\n"));
                    BytesValue = PrintExtensions.AddBytes(BytesValue, Encoding.ASCII.GetBytes("P.O. BOX 4, NGONG\nNGONG RD-KISERIAN, MATASIA SHOPPING CENTRE\nTEL: 0721-283-402/0724-477-792\nKRA PIN.:A001204489T \n"));
                    BytesValue = PrintExtensions.AddBytes(BytesValue, obj.CharSize.Nomarl());
                    BytesValue = PrintExtensions.AddBytes(BytesValue, obj.Separator());
                    BytesValue = PrintExtensions.AddBytes(BytesValue, Encoding.ASCII.GetBytes("RECEIPT\n"));
                    BytesValue = PrintExtensions.AddBytes(BytesValue, obj.Alignment.Left());
                    BytesValue = PrintExtensions.AddBytes(BytesValue, Encoding.ASCII.GetBytes("Receipt No  : " + ReceiptNo + "\n"));
                    BytesValue = PrintExtensions.AddBytes(BytesValue, Encoding.ASCII.GetBytes("Date        : " + System.DateTime.Now.ToString("dd/MM/yyyy hh:mm:ss", CultureInfo.InvariantCulture) + "\n"));
                    //BytesValue = PrintExtensions.AddBytes(BytesValue, Encoding.ASCII.GetBytes("PIN.        :A001204489T \n"));
                    BytesValue = PrintExtensions.AddBytes(BytesValue, obj.Separator());
                    //BytesValue = PrintExtensions.AddBytes(BytesValue, obj.Alignment.Right());
                    BytesValue = PrintExtensions.AddBytes(BytesValue, Encoding.ASCII.GetBytes("  Item                   Qty    U. Price    VAT         Total\n"));
                    //BytesValue = PrintExtensions.AddBytes(BytesValue, obj.Alignment.Center());
                    BytesValue = PrintExtensions.AddBytes(BytesValue, Encoding.ASCII.GetBytes("  Name                             KES      KES          KES\n"));
                    BytesValue = PrintExtensions.AddBytes(BytesValue, obj.Separator());
                    foreach (DataGridViewRow dgv in dataGridView1.Rows)
                    {
                        BytesValue = PrintExtensions.AddBytes(BytesValue, string.Format("{0,-19}{1,9}{2,9}{3,10}{4,16:N2}\n", dgv.Cells[1].Value, dgv.Cells[3].Value, dgv.Cells[2].Value, dgv.Cells[4].Value, dgv.Cells[5].Value));
                    }
                    //BytesValue = PrintExtensions.AddBytes(BytesValue, string.Format("{0,-40}{1,6}{2,9}{3,9:N2}\n", "item 1", 12, 11, 144.00));
                    //BytesValue = PrintExtensions.AddBytes(BytesValue, string.Format("{0,-40}{1,6}{2,9}{3,9:N2}\n", "item 2", 12, 11, 144.00));
                    BytesValue = PrintExtensions.AddBytes(BytesValue, obj.Alignment.Right());
                    BytesValue = PrintExtensions.AddBytes(BytesValue, obj.Separator());
                    BytesValue = PrintExtensions.AddBytes(BytesValue, Encoding.ASCII.GetBytes("Total: "));
                    BytesValue = PrintExtensions.AddBytes(BytesValue, Encoding.ASCII.GetBytes(textBoxTotalAmount.Text + "\n"));
                    BytesValue = PrintExtensions.AddBytes(BytesValue, Encoding.ASCII.GetBytes("Cash: "));
                    BytesValue = PrintExtensions.AddBytes(BytesValue, Encoding.ASCII.GetBytes(textBoxCash.Text + "\n"));
                    BytesValue = PrintExtensions.AddBytes(BytesValue, Encoding.ASCII.GetBytes("Change: "));
                    BytesValue = PrintExtensions.AddBytes(BytesValue, Encoding.ASCII.GetBytes(textBoxBalance.Text + "\n"));
                    BytesValue = PrintExtensions.AddBytes(BytesValue, obj.Separator());
                    BytesValue = PrintExtensions.AddBytes(BytesValue, obj.CharSize.DoubleWidth2());
                    BytesValue = PrintExtensions.AddBytes(BytesValue, obj.FontSelect.FontA());
                    BytesValue = PrintExtensions.AddBytes(BytesValue, obj.Alignment.Center());
                    BytesValue = PrintExtensions.AddBytes(BytesValue, Encoding.ASCII.GetBytes("Mpesa Till No 524049\n"));
                    BytesValue = PrintExtensions.AddBytes(BytesValue, obj.CharSize.Nomarl());
                    BytesValue = PrintExtensions.AddBytes(BytesValue, obj.FontSelect.FontA());
                    BytesValue = PrintExtensions.AddBytes(BytesValue, obj.Lf());
                    BytesValue = PrintExtensions.AddBytes(BytesValue, obj.Alignment.Center());
                    //BytesValue = PrintExtensions.AddBytes(BytesValue, obj.BarCode.Code128("12345"));
                    //BytesValue = PrintExtensions.AddBytes(BytesValue, obj.QrCode.Print("12345", PrinterUtility.Enums.QrCodeSize.Grande));
                    BytesValue = PrintExtensions.AddBytes(BytesValue, "Goods Once sold cannot be returned\n");
                    BytesValue = PrintExtensions.AddBytes(BytesValue, "You're served by " + Form1.UserName + "\n");
                    BytesValue = PrintExtensions.AddBytes(BytesValue, obj.Separator());
                    BytesValue = PrintExtensions.AddBytes(BytesValue, "Designed by Amtech Technologies\n");
                    BytesValue = PrintExtensions.AddBytes(BytesValue, "Website: www.amtechafrica.com Email: [email protected]\n");
                    BytesValue = PrintExtensions.AddBytes(BytesValue, "------Thank you for shopping with us-------\n");
                    BytesValue = PrintExtensions.AddBytes(BytesValue, obj.Alignment.Left());
                    BytesValue = PrintExtensions.AddBytes(BytesValue, CutPage());
                    //PrinterUtility.PrintExtensions.Print(BytesValue, EasyPOS.Properties.Settings.Default.printerpath);
                    if (File.Exists(".\\tmpPrint.print"))
                    {
                        File.Delete(".\\tmpPrint.print");
                    }
                    File.WriteAllBytes(".\\tmpPrint.print", BytesValue);
                    RawPrinterHelper.SendFileToPrinter("Generic / Text Only", ".\\tmpPrint.print");
                    try
                    {
                        File.Delete(".\\tmpPrint.print");
                    }
                    catch
                    {
                    }
                    /******END PRINT & Begin collection**********/
                    PrinterUtility.EscPosEpsonCommands.EscPosEpson obj1 = new PrinterUtility.EscPosEpsonCommands.EscPosEpson();
                    var BytesValue1 = Encoding.ASCII.GetBytes(string.Empty);
                    //BytesValue = PrintExtensions.AddBytes(BytesValue, obj.Separator());
                    BytesValue1 = PrintExtensions.AddBytes(BytesValue1, obj1.CharSize.DoubleWidth2());
                    BytesValue1 = PrintExtensions.AddBytes(BytesValue1, obj1.FontSelect.FontA());
                    BytesValue1 = PrintExtensions.AddBytes(BytesValue1, obj1.Alignment.Center());
                    //BytesValue = PrintExtensions.AddBytes(BytesValue, Encoding.ASCII.GetBytes("\n"));
                    BytesValue1 = PrintExtensions.AddBytes(BytesValue1, Encoding.ASCII.GetBytes("JOMAT GENERAL HARDWARE\n"));
                    BytesValue1 = PrintExtensions.AddBytes(BytesValue1, obj1.CharSize.Nomarl());
                    BytesValue1 = PrintExtensions.AddBytes(BytesValue1, Encoding.ASCII.GetBytes("Collection RECEIPT\n"));
                    BytesValue1 = PrintExtensions.AddBytes(BytesValue1, obj1.CharSize.Nomarl());
                    BytesValue1 = PrintExtensions.AddBytes(BytesValue1, obj1.Alignment.Right());
                    BytesValue1 = PrintExtensions.AddBytes(BytesValue1, Encoding.ASCII.GetBytes("Receipt No : " + ReceiptNo + "\n"));
                    BytesValue1 = PrintExtensions.AddBytes(BytesValue1, Encoding.ASCII.GetBytes("Date: " + System.DateTime.Now.ToString("dd/MM/yyyy hh:mm:ss", CultureInfo.InvariantCulture) + "\n"));
                    BytesValue1 = PrintExtensions.AddBytes(BytesValue1, obj1.Separator());
                    BytesValue  = PrintExtensions.AddBytes(BytesValue, obj.Alignment.Left());
                    BytesValue1 = PrintExtensions.AddBytes(BytesValue1, Encoding.ASCII.GetBytes("  Item                   Qty    U. Price    VAT         Total\n"));
                    //BytesValue = PrintExtensions.AddBytes(BytesValue, obj.Alignment.Center());
                    BytesValue  = PrintExtensions.AddBytes(BytesValue1, Encoding.ASCII.GetBytes("  Name                             KES      KES          KES\n"));
                    BytesValue1 = PrintExtensions.AddBytes(BytesValue1, obj1.Separator());
                    foreach (DataGridViewRow dgv in dataGridView1.Rows)
                    {
                        BytesValue1 = PrintExtensions.AddBytes(BytesValue1, string.Format("{0,-19}{1,9}{2,9}{3,10}{4,16:N2}\n", dgv.Cells[1].Value, dgv.Cells[3].Value, dgv.Cells[2].Value, dgv.Cells[4].Value, dgv.Cells[5].Value));
                    }
                    BytesValue1 = PrintExtensions.AddBytes(BytesValue1, obj1.Alignment.Right());
                    BytesValue1 = PrintExtensions.AddBytes(BytesValue1, obj1.Separator());
                    //BytesValue1 = PrintExtensions.AddBytes(BytesValue1, Encoding.ASCII.GetBytes("Total: "));
                    //BytesValue1 = PrintExtensions.AddBytes(BytesValue1, Encoding.ASCII.GetBytes(textBoxTotalAmount.Text + "\n"));
                    BytesValue1 = PrintExtensions.AddBytes(BytesValue1, obj.Lf());
                    BytesValue1 = PrintExtensions.AddBytes(BytesValue1, "Signed:.............................................\n");
                    BytesValue1 = PrintExtensions.AddBytes(BytesValue1, obj1.Alignment.Center());
                    BytesValue1 = PrintExtensions.AddBytes(BytesValue1, "You're served by " + Form1.UserName + "\n");
                    BytesValue1 = PrintExtensions.AddBytes(BytesValue1, obj.Separator());
                    BytesValue1 = PrintExtensions.AddBytes(BytesValue1, "Designed by Amtech Technologies\n");
                    BytesValue1 = PrintExtensions.AddBytes(BytesValue1, "Website: www.amtechafrica.com Email: [email protected]\n");
                    BytesValue1 = PrintExtensions.AddBytes(BytesValue1, obj1.Alignment.Left());
                    BytesValue1 = PrintExtensions.AddBytes(BytesValue1, CutPage());
                    if (File.Exists(".\\tmpPrint1.print"))
                    {
                        File.Delete(".\\tmpPrint1.print");
                    }
                    File.WriteAllBytes(".\\tmpPrint1.print", BytesValue1);
                    RawPrinterHelper.SendFileToPrinter("Generic / Text Only", ".\\tmpPrint1.print");
                    try
                    {
                        File.Delete(".\\tmpPrint1.print");
                    }
                    catch
                    {
                    }
                    /*********END collector copy****************/
                    textBoxTotalAmount.Text = "0"; textBoxCash.Text = "0"; textBoxBalance.Text = "0";
                }
                else
                {
                    MessageBox.Show("Enter Cash Amount");
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
        }
Esempio n. 4
0
        private void buttonPay_Click(object sender, EventArgs e)
        {
            string paymode = "";

            if (radioButton1.Checked == true)
            {
                paymode = "Cash";
            }
            else if (radioButton2.Checked == true)
            {
                paymode = "Cheque";
            }
            string pay = "INSERT INTO [creditPayment]([credit_customerID],[BussinessName],[paymentmode],[amount],[balance],[description],[chequeno],[datepay],[duedate],[date],[user])VALUES('" + pid + "','" + cmbBusinessname.Text + "','" + paymode + "','" + textBoxAmount.Text + "','" + txtRemaining.Text + "','Payment of Credit','" + textBoxChequeNo.Text + "','" + datePay.Text + "','" + Duedate.Text + "','" + System.DateTime.Now + "','" + Form1.UserName + "')";

            new sqlconnectionclass().WriteDB(pay);
            string gledger = "INSERT INTO [GLedger]([credit_customerID],[Credit],[Balance],[Date],[user],[Naration])VALUES('" + pid + "','" + textBoxAmount.Text + "','" + txtRemaining.Text + "','" + System.DateTime.Now + "','" + Form1.UserName + "','Credit Payment')";

            new sqlconnectionclass().WriteDB(gledger);
            MessageBox.Show("success");
            /*****======================Begin Print=====================*****/
            PrinterUtility.EscPosEpsonCommands.EscPosEpson obj = new PrinterUtility.EscPosEpsonCommands.EscPosEpson();
            var BytesValue = Encoding.ASCII.GetBytes(string.Empty);

            //BytesValue = PrintExtensions.AddBytes(BytesValue, obj.Separator());
            BytesValue = PrintExtensions.AddBytes(BytesValue, obj.CharSize.DoubleWidth2());
            BytesValue = PrintExtensions.AddBytes(BytesValue, obj.FontSelect.FontA());
            BytesValue = PrintExtensions.AddBytes(BytesValue, obj.Alignment.Center());
            //BytesValue = PrintExtensions.AddBytes(BytesValue, Encoding.ASCII.GetBytes("\n"));
            BytesValue = PrintExtensions.AddBytes(BytesValue, Encoding.ASCII.GetBytes("JOMAT GENERAL HARDWARE\n"));
            BytesValue = PrintExtensions.AddBytes(BytesValue, obj.CharSize.Nomarl());
            BytesValue = PrintExtensions.AddBytes(BytesValue, obj.FontSelect.FontA());
            BytesValue = PrintExtensions.AddBytes(BytesValue, Encoding.ASCII.GetBytes("Dealers in: Hardware e.g Iron sheets, Cement,\n Plywood, Paints, Glassmart, Supply of general\nbuilding materials etc.\n"));
            BytesValue = PrintExtensions.AddBytes(BytesValue, Encoding.ASCII.GetBytes("P.O. BOX 4, NGONG\nNGONG RD-KISERIAN, MATASIA SHOPPING CENTRE\nTEL: 0721-283-402/0724-477-792\nKRA PIN.:A001204489T \n"));
            BytesValue = PrintExtensions.AddBytes(BytesValue, obj.CharSize.Nomarl());
            BytesValue = PrintExtensions.AddBytes(BytesValue, obj.Separator());
            BytesValue = PrintExtensions.AddBytes(BytesValue, Encoding.ASCII.GetBytes("CREDIT PAYMENT RECEIPT\n"));
            // BytesValue = PrintExtensions.AddBytes(BytesValue, obj.Alignment.Left());
            // BytesValue = PrintExtensions.AddBytes(BytesValue, Encoding.ASCII.GetBytes("Receipt No  : " + ReceiptNo + "\n"));
            BytesValue = PrintExtensions.AddBytes(BytesValue, Encoding.ASCII.GetBytes("Date        : " + System.DateTime.Now.ToString("dd/MM/yyyy hh:mm:ss", CultureInfo.InvariantCulture) + "\n"));
            //BytesValue = PrintExtensions.AddBytes(BytesValue, Encoding.ASCII.GetBytes("PIN.        :A001204489T \n"));
            BytesValue = PrintExtensions.AddBytes(BytesValue, obj.Separator());
            BytesValue = PrintExtensions.AddBytes(BytesValue, obj.Alignment.Right());
            BytesValue = PrintExtensions.AddBytes(BytesValue, Encoding.ASCII.GetBytes("  MEMBER NAME        TOTAL Balance    CASH Paid       REMAINING\n"));
            ////BytesValue = PrintExtensions.AddBytes(BytesValue, obj.Alignment.Center());
            BytesValue = PrintExtensions.AddBytes(BytesValue, Encoding.ASCII.GetBytes("  Name                       KES      KES          KES\n"));
            BytesValue = PrintExtensions.AddBytes(BytesValue, obj.Separator());
            //foreach (DataGridViewRow dgv in dataGridView1.Rows)
            //{
            BytesValue = PrintExtensions.AddBytes(BytesValue, string.Format("{0,19}{1,9}{2,10}{3,16:N2}\n", cmbBusinessname.Text, balancetxt.Text, textBoxAmount.Text, txtRemaining.Text));
            //}
            //BytesValue = PrintExtensions.AddBytes(BytesValue, string.Format("{0,-40}{1,6}{2,9}{3,9:N2}\n", "item 1", 12, 11, 144.00));
            //BytesValue = PrintExtensions.AddBytes(BytesValue, string.Format("{0,-40}{1,6}{2,9}{3,9:N2}\n", "item 2", 12, 11, 144.00));
            BytesValue = PrintExtensions.AddBytes(BytesValue, obj.Alignment.Right());
            BytesValue = PrintExtensions.AddBytes(BytesValue, obj.Separator());
            BytesValue = PrintExtensions.AddBytes(BytesValue, Encoding.ASCII.GetBytes("Total Balance: "));
            BytesValue = PrintExtensions.AddBytes(BytesValue, Encoding.ASCII.GetBytes(balancetxt.Text + "\n"));
            BytesValue = PrintExtensions.AddBytes(BytesValue, Encoding.ASCII.GetBytes("Cash: "));
            BytesValue = PrintExtensions.AddBytes(BytesValue, Encoding.ASCII.GetBytes(textBoxAmount.Text + "\n"));
            BytesValue = PrintExtensions.AddBytes(BytesValue, Encoding.ASCII.GetBytes("Remaining: "));
            BytesValue = PrintExtensions.AddBytes(BytesValue, Encoding.ASCII.GetBytes(txtRemaining.Text + "\n"));
            BytesValue = PrintExtensions.AddBytes(BytesValue, obj.Separator());
            BytesValue = PrintExtensions.AddBytes(BytesValue, obj.CharSize.DoubleWidth2());
            BytesValue = PrintExtensions.AddBytes(BytesValue, obj.FontSelect.FontA());
            BytesValue = PrintExtensions.AddBytes(BytesValue, obj.Alignment.Center());
            BytesValue = PrintExtensions.AddBytes(BytesValue, Encoding.ASCII.GetBytes("Mpesa Till No 524049\n"));
            BytesValue = PrintExtensions.AddBytes(BytesValue, obj.CharSize.Nomarl());
            BytesValue = PrintExtensions.AddBytes(BytesValue, obj.FontSelect.FontA());
            BytesValue = PrintExtensions.AddBytes(BytesValue, obj.Lf());
            BytesValue = PrintExtensions.AddBytes(BytesValue, obj.Alignment.Center());
            //BytesValue = PrintExtensions.AddBytes(BytesValue, obj.BarCode.Code128("12345"));
            //BytesValue = PrintExtensions.AddBytes(BytesValue, obj.QrCode.Print("12345", PrinterUtility.Enums.QrCodeSize.Grande));
            // BytesValue = PrintExtensions.AddBytes(BytesValue, "Goods Once sold cannot be returned\n");
            BytesValue = PrintExtensions.AddBytes(BytesValue, "You're served by " + Form1.UserName + "\n");
            BytesValue = PrintExtensions.AddBytes(BytesValue, obj.Separator());
            BytesValue = PrintExtensions.AddBytes(BytesValue, "Designed by Amtech Technologies\n");
            BytesValue = PrintExtensions.AddBytes(BytesValue, "Website: www.amtechafrica.com Email: [email protected]\n");
            BytesValue = PrintExtensions.AddBytes(BytesValue, "------Thank you for shopping with us-------\n");
            BytesValue = PrintExtensions.AddBytes(BytesValue, obj.Alignment.Left());
            BytesValue = PrintExtensions.AddBytes(BytesValue, CutPage());
            //PrinterUtility.PrintExtensions.Print(BytesValue, EasyPOS.Properties.Settings.Default.printerpath);
            if (File.Exists(".\\tmpPrint.print"))
            {
                File.Delete(".\\tmpPrint.print");
            }
            File.WriteAllBytes(".\\tmpPrint.print", BytesValue);
            RawPrinterHelper.SendFileToPrinter("Generic / Text Only", ".\\tmpPrint.print");
            try
            {
                File.Delete(".\\tmpPrint.print");
            }
            catch
            {
            }
        }
        private void btnPrint_Click(object sender, EventArgs e)
        {
            try
            {
                Anu_Order order = new Anu_Order();
                order.Anu_Order_Id        = lblBillNo.Text;
                order.Anu_Order_OrderDate = Convert.ToDateTime(lblBillDate.Text);

                var  uurn      = "";
                long unique    = 1;
                var  MaxUNIQUE = (from a in _context.Anu_Orders select a).AsEnumerable().Max(p => p.Anu_Order_URNNo);
                if (MaxUNIQUE != 0)
                {
                    unique = Convert.ToInt64(MaxUNIQUE) + 1;
                }
                uurn = unique.ToString("00000");
                order.Anu_Order_URNNo       = Convert.ToInt32(uurn);
                order.Anu_Order_TotalQty    = TotalQty;
                order.Anu_Order_Status      = Status.Paid;
                order.Anu_Order_TotalAmount = Total;
                order.Anu_Order_Mode        = Mode.Cash;
                order.Anu_Order_IsActive    = true;
                order.Anu_Order_Createdby   = SessionMgr.UserId;
                order.Anu_Order_CreatedDate = DateTime.Now;
                _context.Anu_Orders.Add(order);
                _context.SaveChanges();


                var cart = _context.Anu_Carts.ToList();

                foreach (var item in cart)
                {
                    var odid = "";

                    long urn    = 1;
                    var  MaxURN = (from a in _context.Anu_Order_Details select a).AsEnumerable().Max(p => p.Anu_Order_Detail_Id.Split('-')[1]);
                    if (MaxURN != null)
                    {
                        urn = Convert.ToInt64(MaxURN) + 1;
                    }
                    odid = "AGPODD/" + DateTime.Now.Month + "/" + DateTime.Now.Year + "-" + urn.ToString("0000");



                    Anu_Order_Detail orderdetail = new Anu_Order_Detail();
                    orderdetail.Anu_Order_Detail_Id              = odid;
                    orderdetail.Anu_Order_Id                     = order.Anu_Order_Id;
                    orderdetail.Anu_Order_Detail_Discount        = Convert.ToDecimal(lblDiscount.Text);
                    orderdetail.Anu_Order_Detail_Qty             = item.Anu_cart_Qty;
                    orderdetail.Anu_Order_Detail_Rate            = item.Anu_cart_Rate;
                    orderdetail.Anu_Product_Id                   = item.Anu_Product_Id;
                    orderdetail.Anu_Order_Detail_Type            = item.Anu_cart_Type;
                    orderdetail.Anu_Order_Detail_Subtotal        = SubTotal;
                    orderdetail.Anu_Order_Detail_ReceivedAmount  = Convert.ToDecimal(txtReceived.Text.Trim());
                    orderdetail.Anu_Order_Detail_RemainingAmount = Convert.ToDecimal(lblRemain.Text);
                    _context.Anu_Order_Details.Add(orderdetail);
                    _context.SaveChanges();


                    var stock = _context.Anu_Stocks.Include(a => a.stdetail).Where(a => a.Anu_Product_Id.Contains(item.Anu_Product_Id)).SingleOrDefault();
                    stock.Anu_Stock_Qty = stock.Anu_Stock_Qty - Convert.ToDecimal(item.Anu_cart_Qty);
                    _context.SaveChanges();


                    Anu_Cart crt = _context.Anu_Carts.Find(item.Anu_Cart_Id);
                    _context.Anu_Carts.Remove(crt);
                    _context.SaveChanges();
                }

                prdCombo.SelectedIndex  = 0;
                txtCat.Text             = "";
                txtQty.Text             = "";
                txtRate.Text            = "";
                lblStock.Text           = "";
                lblGSt.Text             = "";
                TypeCombo.SelectedIndex = 0;
                ////PrintReceipt(lblBillNo.Text);
                ////printTest();
                //Printdoc();

                var orderdetails = from a in _context.Anu_Order_Details.Include(aaa => aaa.order).Include(ad => ad.product)
                                   where (a.Anu_Order_Id.Contains(lblBillNo.Text))
                                   select a;

                decimal TotalAmt = _context.Anu_Orders.Where(a => a.Anu_Order_Id == lblBillNo.Text).Select(a => a.Anu_Order_TotalAmount).SingleOrDefault();

                PrinterUtility.EscPosEpsonCommands.EscPosEpson obj = new PrinterUtility.EscPosEpsonCommands.EscPosEpson();
                var BytesValue = GetLogo(@"C:\Banner.png");

                BytesValue = PrintExtensions.AddBytes(BytesValue, obj.Separator());
                BytesValue = PrintExtensions.AddBytes(BytesValue, Encoding.ASCII.GetBytes("Cash Bill\n"));
                BytesValue = PrintExtensions.AddBytes(BytesValue, obj.Alignment.Left());
                BytesValue = PrintExtensions.AddBytes(BytesValue, Encoding.ASCII.GetBytes("Invoice no.'" + lblBillNo.Text));
                BytesValue = PrintExtensions.AddBytes(BytesValue, Encoding.ASCII.GetBytes("Date.'" + orderdetails.FirstOrDefault().order.Anu_Order_OrderDate));
                BytesValue = PrintExtensions.AddBytes(BytesValue, Encoding.ASCII.GetBytes("Item             Qty             Amount"));
                BytesValue = PrintExtensions.AddBytes(BytesValue, obj.Separator());
                //BytesValue = PrintExtensions.AddBytes(BytesValue, string.Format("{0,-40},{1,6},{2,9},{3,9:N2}\n", "item 1", 12, 11, 144.00));
                //BytesValue = PrintExtensions.AddBytes(BytesValue, string.Format("{0,-40},{1,6},{2,9},{3,9:N2}\n", "item 1", 12, 11, 144.00));

                foreach (var item in orderdetails)
                {
                    BytesValue = PrintExtensions.AddBytes(BytesValue, string.Format("{0,-40}{1,6}{2,9}{3,9:N2}\n", item.product.Anu_Product_Name, item.Anu_Order_Detail_Qty, item.Anu_Order_Detail_Rate));
                }
                BytesValue = PrintExtensions.AddBytes(BytesValue, obj.Alignment.Right());
                BytesValue = PrintExtensions.AddBytes(BytesValue, Encoding.ASCII.GetBytes("Total"));
                BytesValue = PrintExtensions.AddBytes(BytesValue, Encoding.ASCII.GetBytes(TotalAmt.ToString()));
                BytesValue = PrintExtensions.AddBytes(BytesValue, obj.Separator());
                BytesValue = PrintExtensions.AddBytes(BytesValue, obj.Lf());
                BytesValue = PrintExtensions.AddBytes(BytesValue, obj.Alignment.Left());
                BytesValue = PrintExtensions.AddBytes(BytesValue, obj.Alignment.Center());
                BytesValue = PrintExtensions.AddBytes(BytesValue, obj.BarCode.Code128("12345"));
                BytesValue = PrintExtensions.AddBytes(BytesValue, "-------------------Thanking you------------------\n");
                BytesValue = PrintExtensions.AddBytes(BytesValue, obj.Alignment.Left());
                BytesValue = PrintExtensions.AddBytes(BytesValue, Cutpage());
                BytesValue = PrintExtensions.AddBytes(BytesValue, Anugraha.Properties.Settings.Default.PrinterName);

                Init();

                //printTest();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }