Example #1
0
        private void FormatPage(object sender, PrintPageEventArgs e)
        {
            graphics = e.Graphics;
            Font minifont   = new Font("Arial", 5);
            Font itemfont   = new Font("Arial", 6);
            Font smallfont  = new Font("Arial", 12);
            Font mediumfont = new Font("Arial", 14);
            Font largefont  = new Font("Arial", 16);

            int Offset = 10;
            int smallinc = 10, mediuminc = 12, largeinc = 17;

            //Getting Receipt data
            List <PrintReceiptModel>     printReceiptModel = new List <PrintReceiptModel>();
            List <PrintReceiptItemModel> printReceiptItemModel = new List <PrintReceiptItemModel>();

            //Parameter pass global Customer Order Id
            PrintReceiptViewModel printReceiptViewModel = new PrintReceiptViewModel();

            List <ReportOffsetModel> reportOffsetModels = new List <ReportOffsetModel>();

            printReceiptModel     = printReceiptViewModel.GetPrintReceiptByBillId(billId);
            printReceiptItemModel = printReceiptViewModel.GetPrintReceiptItemByBillId(billId);
            reportOffsetModels    = printReceiptViewModel.GetReportOffsetByReportName("R1");

            int intClientName       = reportOffsetModels.Find(x => x.ReportColumn.Contains("ClientName")).ColumnOffset;
            int intHeader           = reportOffsetModels.Find(x => x.ReportColumn.Contains("Header")).ColumnOffset;
            int intAddress1         = reportOffsetModels.Find(x => x.ReportColumn.Contains("Address1")).ColumnOffset;
            int intAddress2         = reportOffsetModels.Find(x => x.ReportColumn.Contains("Address2")).ColumnOffset;
            int intEmail            = reportOffsetModels.Find(x => x.ReportColumn.Contains("Email")).ColumnOffset;
            int intPhone            = reportOffsetModels.Find(x => x.ReportColumn.Contains("Phone")).ColumnOffset;
            int intDate             = reportOffsetModels.Find(x => x.ReportColumn.Contains("Date")).ColumnOffset;
            int intItemHeader       = reportOffsetModels.Find(x => x.ReportColumn.Contains("Item-header")).ColumnOffset;
            int intItemFoodMenuName = reportOffsetModels.Find(x => x.ReportColumn.Contains("Item-FoodMenuName")).ColumnOffset;
            int intItemFoodMenuRate = reportOffsetModels.Find(x => x.ReportColumn.Contains("Item-FoodMenuRate")).ColumnOffset;
            int intItemFoodMenuQty  = reportOffsetModels.Find(x => x.ReportColumn.Contains("Item-FoodMenuQty")).ColumnOffset;
            int intItemPrice        = reportOffsetModels.Find(x => x.ReportColumn.Contains("Item-Price")).ColumnOffset;
            int intGROSSTotal       = reportOffsetModels.Find(x => x.ReportColumn.Contains("GROSSTotal")).ColumnOffset;
            int intVATABLE          = reportOffsetModels.Find(x => x.ReportColumn.Contains("VATABLE")).ColumnOffset;
            int intDISCOUNT         = reportOffsetModels.Find(x => x.ReportColumn.Contains("DISCOUNT")).ColumnOffset;
            int intDELIVERYCharge   = reportOffsetModels.Find(x => x.ReportColumn.Contains("DELIVERYCharge")).ColumnOffset;
            int intTOTAL            = reportOffsetModels.Find(x => x.ReportColumn.Contains("TOTAL")).ColumnOffset;
            int intPaid             = reportOffsetModels.Find(x => x.ReportColumn.Contains("Paid")).ColumnOffset;
            int intFooter           = reportOffsetModels.Find(x => x.ReportColumn.Contains("Footer")).ColumnOffset;
            int intFooter1          = reportOffsetModels.Find(x => x.ReportColumn.Contains("Footer1")).ColumnOffset;
            int intFooter2          = reportOffsetModels.Find(x => x.ReportColumn.Contains("Footer2")).ColumnOffset;
            int intFooter3          = reportOffsetModels.Find(x => x.ReportColumn.Contains("Footer3")).ColumnOffset;
            int intFooter4          = reportOffsetModels.Find(x => x.ReportColumn.Contains("Footer4")).ColumnOffset;
            int intPowerBy          = reportOffsetModels.Find(x => x.ReportColumn.Contains("PowerBy")).ColumnOffset;



            //Image image = Image.FromFile("d:\\2.jpg");

            //e.Graphics.DrawImage(image, startX + 50, startY + Offset, 100, 30);
            // e.Graphics.DrawImage(image, 50, 10 + Offset, 100, 30);

            Offset = Offset + Offset;

            graphics.DrawString(LoginDetail.ClientName, smallfont, new SolidBrush(Color.Black), intClientName, Offset);//50 + 22
            //graphics.DrawString(LoginDetail.ClientName, smallfont, new SolidBrush(Color.Black), ((LoginDetail.ClientName.Length)*2), Offset);//50 + 22

            Offset = Offset + mediuminc;
            DrawAtStartCenter(LoginDetail.Header, Offset, intHeader);

            Offset = Offset + mediuminc;
            DrawAtStartCenter(LoginDetail.Address1, Offset, intAddress1);

            Offset = Offset + mediuminc;
            DrawAtStartCenter(LoginDetail.Address2, Offset, intAddress2);

            Offset = Offset + mediuminc;
            DrawAtStartCenter("EMAIL: " + LoginDetail.Email, Offset, intEmail);

            Offset = Offset + mediuminc;
            DrawAtStartCenter("PHONE : " + LoginDetail.Phone, Offset, intPhone);

            String underLine = "---------------------------------";

            DrawLine(underLine, largefont, Offset, 0);

            Offset = Offset + mediuminc + 6;
            DrawAtStart("RECEIPT NO: " + printReceiptModel[0].SalesInvoiceNumber.ToString().PadRight((intDate - printReceiptModel[0].SalesInvoiceNumber.ToString().Length) + 8) + "DATE: " + printReceiptModel[0].BillDateTime.ToString("dd/MM/yyyy HH:mm"), Offset);;

            Offset = Offset + mediuminc;
            DrawAtStart("CUSTOMER: " + printReceiptModel[0].CustomerName, Offset);

            underLine = "---------------------------------";
            DrawLine(underLine, largefont, Offset, 0);

            Offset = Offset + largeinc;

            InsertHeaderStyleItem("ITEM".PadRight(intItemHeader) + "RATE          AMOUNT ", "", Offset);

            Offset = Offset + mediuminc;

            foreach (var item in printReceiptItemModel)
            {
                InsertItemList(item.FoodMenuName.ToString(), "", Offset, intItemFoodMenuName);
                Offset = Offset + smallinc;
                InsertItemList(item.FoodMenuQty.ToString("F") + " " + item.Unitname, "", Offset, intItemFoodMenuQty + (50 - (item.FoodMenuQty.ToString().Length * 4)));
                InsertItemList(item.FoodMenuRate.ToString("F"), "", Offset, intItemFoodMenuRate + (50 - (item.FoodMenuRate.ToString().Length * 4)));
                InsertItemList(item.Price.ToString("F") + " " + item.FoodVat.ToString(), "", Offset, intItemPrice + (50 - (item.Price.ToString().Length * 4)));
                Offset = Offset + smallinc;
            }
            Offset = Offset - smallinc;

            underLine = "---------------------------------";
            DrawLine(underLine, largefont, Offset, 0);

            Offset = Offset + largeinc;
            InsertItem("GROSS TOTAL: ", "", Offset);
            InsertItem(printReceiptModel[0].GrossAmount.ToString("F").PadLeft(intGROSSTotal - printReceiptModel[0].GrossAmount.ToString("F").Length), "", Offset);

            Offset = Offset + smallinc;
            InsertItem("VATABLE: ", "", Offset);
            InsertItem(printReceiptModel[0].VatableAmount.ToString("F").PadLeft(intVATABLE - printReceiptModel[0].VatableAmount.ToString("F").Length), "", Offset);

            Offset = Offset + smallinc;
            InsertItem("VAT: ", "", Offset);
            InsertItem(printReceiptModel[0].TaxAmount.ToString("F").PadLeft(intVATABLE - printReceiptModel[0].TaxAmount.ToString("F").Length), "", Offset);

            Offset = Offset + smallinc;
            InsertItem("Non VAT: ", "", Offset);
            InsertItem(printReceiptModel[0].NonVatableAmount.ToString("F").PadLeft(intVATABLE - printReceiptModel[0].NonVatableAmount.ToString("F").Length), "", Offset);

            if (printReceiptModel[0].Discount.ToString("F") != "0.00")
            {
                Offset = Offset + smallinc;
                InsertItem("DISCOUNT/REDEEM: ", "", Offset);
                InsertItem(printReceiptModel[0].Discount.ToString("F").PadLeft(intVATABLE - printReceiptModel[0].Discount.ToString("F").Length), "", Offset);
            }

            if (printReceiptModel[0].ServiceCharge.ToString("F") != "0.00")
            {
                Offset = Offset + smallinc;
                InsertItem("DELIVERY CHARGE: ", printReceiptModel[0].ServiceCharge.ToString("F").PadLeft(intDELIVERYCharge - printReceiptModel[0].ServiceCharge.ToString("F").Length), Offset);
            }

            Offset = Offset + smallinc;
            InsertItem("TOTAL: ", "", Offset);
            InsertItem(printReceiptModel[0].TotalAmount.ToString("F").PadLeft(intTOTAL - printReceiptModel[0].TotalAmount.ToString("F").Length), "", Offset);

            underLine = "---------------------------------";
            DrawLine(underLine, largefont, Offset, 0);


            decimal dcLevy;

            dcLevy = ((Convert.ToDecimal(printReceiptModel[0].VatableAmount) + Convert.ToDecimal(printReceiptModel[0].NonVatableAmount)) * 2) / 100;

            Offset = Offset + largeinc;
            InsertItem("CATERING LEVY: ", "", Offset);
            InsertItem(dcLevy.ToString("F").PadLeft(intTOTAL - dcLevy.ToString("F").Length), "", Offset);

            underLine = "---------------------------------";
            DrawLine(underLine, largefont, Offset, 0);

            Offset = Offset + largeinc;

            InsertItem(LoginDetail.Lastname + " " + LoginDetail.Firstname, "", Offset);
            Offset = Offset + smallinc;

            InsertItem("PAID BY: ", "", Offset);
            Offset = Offset + smallinc;

            foreach (PrintReceiptModel payment in printReceiptModel)
            {
                InsertItem(payment.PaymentMethodName, payment.BillAmount.ToString("F").PadLeft(intPaid - payment.BillAmount.ToString("F").Length), Offset);
                Offset = Offset + smallinc;
            }

            if (printReceiptModel[0].RewardAmount != 0)
            {
                underLine = "---------------------------------";
                DrawLine(underLine, largefont, Offset, 0);

                Offset = Offset + largeinc;

                InsertItem("YOU EARN " + printReceiptModel[0].RewardAmount + " POINTS", "", Offset);
                Offset = Offset + smallinc;
            }

            Offset = Offset + largeinc;
            Offset = Offset + largeinc;

            // graphics.DrawString(LoginDetail.Footer, smallfont, new SolidBrush(Color.Black), intFooter, Offset);//50 + 22
            DrawAtStartCenter(LoginDetail.Footer, Offset, intFooter);

            Offset = Offset + largeinc;

            DrawAtStartCenter(LoginDetail.Footer1, Offset, intFooter1);
            Offset = Offset + mediuminc;

            DrawAtStartCenter(LoginDetail.Footer2, Offset, intFooter2);
            Offset = Offset + mediuminc;

            DrawAtStartCenter(LoginDetail.Footer3, Offset, intFooter3);
            Offset = Offset + mediuminc;

            DrawAtStartCenter(LoginDetail.Footer4, Offset, intFooter4);
            Offset = Offset + mediuminc;
            Offset = Offset + mediuminc;

            if (LoginDetail.Powerby.Length > 0)
            {
                DrawAtStartCenter(LoginDetail.Powerby, Offset, intPowerBy);
            }
        }
Example #2
0
        private void FormatPage(object sender, PrintPageEventArgs e)
        {
            graphics = e.Graphics;
            Font minifont   = new Font("Arial", 5);
            Font itemfont   = new Font("Arial", 6);
            Font smallfont  = new Font("Arial", 12);
            Font mediumfont = new Font("Arial", 14);
            Font largefont  = new Font("Arial", 16);

            int Offset = 10;
            int smallinc = 10, mediuminc = 12, largeinc = 17;

            //Getting Receipt data
            List <PrintKOTItemModel> printKOTItemModels = new List <PrintKOTItemModel>();

            //Parameter pass global Customer Order Id
            PrintReceiptViewModel printReceiptViewModel = new PrintReceiptViewModel();

            List <ReportOffsetModel> reportOffsetModels = new List <ReportOffsetModel>();

            printKOTItemModels = printReceiptViewModel.GetPrintKOTItemByBillId(billId);
            reportOffsetModels = printReceiptViewModel.GetReportOffsetByReportName("R1");

            int intClientName       = reportOffsetModels.Find(x => x.ReportColumn.Contains("ClientName")).ColumnOffset;
            int intHeader           = reportOffsetModels.Find(x => x.ReportColumn.Contains("Header")).ColumnOffset;
            int intAddress1         = reportOffsetModels.Find(x => x.ReportColumn.Contains("Address1")).ColumnOffset;
            int intAddress2         = reportOffsetModels.Find(x => x.ReportColumn.Contains("Address2")).ColumnOffset;
            int intEmail            = reportOffsetModels.Find(x => x.ReportColumn.Contains("Email")).ColumnOffset;
            int intPhone            = reportOffsetModels.Find(x => x.ReportColumn.Contains("Phone")).ColumnOffset;
            int intDate             = reportOffsetModels.Find(x => x.ReportColumn.Contains("Date")).ColumnOffset;
            int intItemHeader       = reportOffsetModels.Find(x => x.ReportColumn.Contains("Item-header")).ColumnOffset;
            int intItemFoodMenuName = reportOffsetModels.Find(x => x.ReportColumn.Contains("Item-FoodMenuName")).ColumnOffset;
            int intItemFoodMenuRate = reportOffsetModels.Find(x => x.ReportColumn.Contains("Item-FoodMenuRate")).ColumnOffset;
            int intItemFoodMenuQty  = reportOffsetModels.Find(x => x.ReportColumn.Contains("Item-FoodMenuQty")).ColumnOffset;
            int intItemPrice        = reportOffsetModels.Find(x => x.ReportColumn.Contains("Item-Price")).ColumnOffset;
            int intGROSSTotal       = reportOffsetModels.Find(x => x.ReportColumn.Contains("GROSSTotal")).ColumnOffset;
            int intVATABLE          = reportOffsetModels.Find(x => x.ReportColumn.Contains("VATABLE")).ColumnOffset;
            int intDISCOUNT         = reportOffsetModels.Find(x => x.ReportColumn.Contains("DISCOUNT")).ColumnOffset;
            int intDELIVERYCharge   = reportOffsetModels.Find(x => x.ReportColumn.Contains("DELIVERYCharge")).ColumnOffset;
            int intTOTAL            = reportOffsetModels.Find(x => x.ReportColumn.Contains("TOTAL")).ColumnOffset;
            int intPaid             = reportOffsetModels.Find(x => x.ReportColumn.Contains("Paid")).ColumnOffset;
            int intFooter           = reportOffsetModels.Find(x => x.ReportColumn.Contains("Footer")).ColumnOffset;
            int intFooter1          = reportOffsetModels.Find(x => x.ReportColumn.Contains("Footer1")).ColumnOffset;
            int intFooter2          = reportOffsetModels.Find(x => x.ReportColumn.Contains("Footer2")).ColumnOffset;
            int intFooter3          = reportOffsetModels.Find(x => x.ReportColumn.Contains("Footer3")).ColumnOffset;
            int intFooter4          = reportOffsetModels.Find(x => x.ReportColumn.Contains("Footer4")).ColumnOffset;
            int intPowerBy          = reportOffsetModels.Find(x => x.ReportColumn.Contains("PowerBy")).ColumnOffset;



            //Image image = Image.FromFile("d:\\2.jpg");

            //e.Graphics.DrawImage(image, startX + 50, startY + Offset, 100, 30);
            // e.Graphics.DrawImage(image, 50, 10 + Offset, 100, 30);

            Offset = Offset + Offset;

            graphics.DrawString(LoginDetail.ClientName, smallfont, new SolidBrush(Color.Black), intClientName, Offset);//50 + 22
            //graphics.DrawString(LoginDetail.ClientName, smallfont, new SolidBrush(Color.Black), ((LoginDetail.ClientName.Length)*2), Offset);//50 + 22
            Offset = Offset + mediuminc;
            DrawAtStartCenter("KOT", Offset, intHeader);

            Offset = Offset + mediuminc;

            //Offset = Offset + mediuminc;
            //DrawAtStartCenter(LoginDetail.Header, Offset, intHeader);

            //Offset = Offset + mediuminc;
            //DrawAtStartCenter(LoginDetail.Address1, Offset, intAddress1);

            //Offset = Offset + mediuminc;
            //DrawAtStartCenter(LoginDetail.Address2, Offset, intAddress2);

            //Offset = Offset + mediuminc;
            //DrawAtStartCenter("EMAIL: " + LoginDetail.Email, Offset, intEmail);

            //Offset = Offset + mediuminc;
            //DrawAtStartCenter("PHONE : " + LoginDetail.Phone, Offset, intPhone);

            String underLine = "---------------------------------";

            DrawLine(underLine, largefont, Offset, 0);

            Offset = Offset + mediuminc + 6;
            DrawAtStart("KOT NO: " + printKOTItemModels[0].KOTNumber.ToString().PadRight((intDate - printKOTItemModels[0].KOTNumber.ToString().Length) + 23) + "DATE: " + printKOTItemModels[0].KOTDateTime.ToString("dd/MM/yyyy HH:mm"), Offset);;

            //Offset = Offset + mediuminc;
            //DrawAtStart("CUSTOMER: " + printReceiptModel[0].CustomerName, Offset);

            Offset = Offset + mediuminc;
            DrawAtStart("TYPE#: " + printKOTItemModels[0].OrderType, Offset);

            if (printKOTItemModels[0].TableName != "")
            {
                DrawAtStart("".ToString().PadRight(43) + "TABLE#: " + printKOTItemModels[0].TableName, Offset);
            }

            underLine = "---------------------------------";
            DrawLine(underLine, largefont, Offset, 0);

            Offset = Offset + largeinc;

//            InsertHeaderStyleItem("ITEM".PadRight(intItemHeader) + "              QTY", "", Offset);
            InsertHeaderStyleItem("QTY" + "           ITEM", "", Offset);

            Offset = Offset + mediuminc;

            foreach (var item in printKOTItemModels)
            {
                InsertItemList(item.FoodMenuQty.ToString("F").PadRight(15) + item.FoodMenuName.ToString(), "", Offset, intItemFoodMenuName);
                Offset = Offset + smallinc;
            }
            Offset = Offset - smallinc;

            underLine = "---------------------------------";
            DrawLine(underLine, largefont, Offset, 0);
            Offset = Offset + largeinc;

            InsertItem(LoginDetail.Lastname + " " + LoginDetail.Firstname, "", Offset);
            Offset = Offset + smallinc;

            if (LoginDetail.Powerby.Length > 0)
            {
                DrawAtStartCenter(LoginDetail.Powerby, Offset, intPowerBy);
            }
        }
 public PReceiptOffset()
 {
     InitializeComponent();
     reportOffsetModels         = printReceiptViewModel.GetReportOffsetByReportName("R1");
     dgReportOffset.ItemsSource = reportOffsetModels;
 }