// Change by Mithu private void PrintA5GuestBillReport() { int papersize = 70; StringPrintFormater strPrintFormatter = new StringPrintFormater(70); string Cat1ID = String.Empty; try { CPrintMethodsEXT tempPrintMethods = new CPrintMethodsEXT(); //CPrintMethods tempPrintMethods = new CPrintMethods(); int categoryID = 0; //serial print //string serialHeader = "IBACS RMS"; string serialHeader = ""; //string serialFooter = "Please Come Again"; string serialFooter = ""; List<CSerialPrintContent> serialBody = new List<CSerialPrintContent>(); CSerialPrintContent tempSerialPrintContent = new CSerialPrintContent(); tempSerialPrintContent.StringLine = "\r\n" + strPrintFormatter.CenterTextWithWhiteSpace("GUEST BILL"); tempSerialPrintContent.Bold = true; serialBody.Add(tempSerialPrintContent); COrderManager tempOrderManager = new COrderManager(); COrderInfo tempOrderInfo = (COrderInfo)tempOrderManager.OrderInfoByOrderID(orderID).Data; //string s=tempOrderInfo. if (m_iType == m_cCommonConstants.TableType) { //Order ID line remove from report for requisting user // Sajib Vai gathered user requirement //Date : 13-02-2012 //tempSerialPrintContent = new CSerialPrintContent(); //tempSerialPrintContent.StringLine = "\r\n\nOrder ID:" + orderID.ToString(); //serialBody.Add(tempSerialPrintContent); //tempSerialPrintContent = new CSerialPrintContent(); //tempSerialPrintContent.StringLine = "\r\n\nTable Number:" + tempOrderInfo.TableNumber.ToString(); //serialBody.Add(tempSerialPrintContent); tempSerialPrintContent = new CSerialPrintContent(); tempSerialPrintContent.StringLine = "\r\n" + strPrintFormatter.ItemLabeledText("Table No: " + m_iTableNumber.ToString(), "") + "\r\n"; tempSerialPrintContent.Bold = true; serialBody.Add(tempSerialPrintContent); tempSerialPrintContent = new CSerialPrintContent(); tempSerialPrintContent.StringLine = strPrintFormatter.ItemLabeledText("Guest No: " + tempOrderInfo.GuestCount.ToString(), "") + "\r\n"; tempSerialPrintContent.Bold = true; serialBody.Add(tempSerialPrintContent); tempSerialPrintContent = new CSerialPrintContent(); tempSerialPrintContent.StringLine = "Print Date: " + System.DateTime.Now.ToString("dd/MM/yy hh:mm tt") + "\r\n"; serialBody.Add(tempSerialPrintContent); //tempSerialPrintContent = new CSerialPrintContent(); //tempSerialPrintContent.StringLine = "Covers: " + tempOrderInfo.GuestCount.ToString() + "\r\n"; //tempSerialPrintContent.Bold = true; //serialBody.Add(tempSerialPrintContent); COrderWaiterDao orderWaiterDao = new COrderWaiterDao(); COrderwaiter orderWaiter = orderWaiterDao.GetOrderwaiterByOrderID(orderID); if (orderWaiter != null && orderWaiter.WaiterID > 0) { tempSerialPrintContent = new CSerialPrintContent(); tempSerialPrintContent.StringLine = "Waiter Name: " + orderWaiter.WaiterName + "\r\n"; //tempSerialPrintContent.Bold = true; serialBody.Add(tempSerialPrintContent); } } // Change by Mithu //private void PrintA5GuestBillReport() // Change by Mithu //{ // int papersize = 70; // StringPrintFormater strPrintFormatter = new StringPrintFormater(70); // string Cat1ID = String.Empty; // try // { // CPrintMethodsEXT tempPrintMethods = new CPrintMethodsEXT(); // //CPrintMethods tempPrintMethods = new CPrintMethods(); // int categoryID = 0; // //serial print // //string serialHeader = "IBACS RMS"; // string serialHeader = ""; // //string serialFooter = "Please Come Again"; // string serialFooter = ""; // List<CSerialPrintContent> serialBody = new List<CSerialPrintContent>(); // CSerialPrintContent tempSerialPrintContent = new CSerialPrintContent(); // //tempSerialPrintContent.StringLine = "\r\n" + strPrintFormatter.CenterTextWithWhiteSpace("Guest Bill"); // tempSerialPrintContent.Bold = true; // serialBody.Add(tempSerialPrintContent); // COrderManager tempOrderManager = new COrderManager(); // COrderInfo tempOrderInfo = (COrderInfo)tempOrderManager.OrderInfoByOrderID(orderID).Data; // //string s=tempOrderInfo. // if (m_iType == m_cCommonConstants.TableType) // { // tempSerialPrintContent = new CSerialPrintContent(); // //tempSerialPrintContent.StringLine = "\r\n\nOrder ID:" + orderID.ToString(); // serialBody.Add(tempSerialPrintContent); // //tempSerialPrintContent = new CSerialPrintContent(); // //tempSerialPrintContent.StringLine = "\r\n\nTable Number:" + tempOrderInfo.TableNumber.ToString(); // //serialBody.Add(tempSerialPrintContent); // tempSerialPrintContent = new CSerialPrintContent(); // //tempSerialPrintContent.StringLine = "\r\nPrint Date: " + System.DateTime.Now.ToString("dd/MM/yy hh:mm tt"); // serialBody.Add(tempSerialPrintContent); // tempSerialPrintContent = new CSerialPrintContent(); // //tempSerialPrintContent.StringLine = "\r\n" + strPrintFormatter.ItemLabeledText("Table No: " + m_iTableNumber.ToString(), "Covers: " + tempOrderInfo.GuestCount.ToString()) + "\r\n"; // tempSerialPrintContent.Bold = true; // serialBody.Add(tempSerialPrintContent); // //tempSerialPrintContent = new CSerialPrintContent(); // //tempSerialPrintContent.StringLine = "Covers: " + tempOrderInfo.GuestCount.ToString() + "\r\n"; // //tempSerialPrintContent.Bold = true; // //serialBody.Add(tempSerialPrintContent); // COrderWaiterDao orderWaiterDao = new COrderWaiterDao(); // COrderwaiter orderWaiter = orderWaiterDao.GetOrderwaiterByOrderID(orderID); // if (orderWaiter != null && orderWaiter.WaiterID > 0) // { // tempSerialPrintContent = new CSerialPrintContent(); // tempSerialPrintContent.StringLine = "Waiter Name: " + orderWaiter.WaiterName + "\r\n"; // //tempSerialPrintContent.Bold = true; // serialBody.Add(tempSerialPrintContent); // } // } // Change by Mithu else if (m_iType == m_cCommonConstants.TakeAwayType) { tempSerialPrintContent = new CSerialPrintContent(); tempSerialPrintContent.StringLine = "\r\nOrder Date: " + tempOrderInfo.OrderTime.ToString("dd/MM/yy hh:mm tt"); serialBody.Add(tempSerialPrintContent); tempSerialPrintContent = new CSerialPrintContent(); tempSerialPrintContent.StringLine = "\r\nPrint Date: " + System.DateTime.Now.ToString("dd/MM/yy hh:mm tt"); serialBody.Add(tempSerialPrintContent); tempSerialPrintContent = new CSerialPrintContent(); tempSerialPrintContent.StringLine = "Type: " + tempOrderInfo.Status; serialBody.Add(tempSerialPrintContent); CCustomerManager tempCustomerManager = new CCustomerManager(); CCustomerInfo tempCustomerInfo = (CCustomerInfo)tempCustomerManager.CustomerInfoGetByCustomerID(tempOrderInfo.CustomerID).Data; if (tempCustomerInfo.CustomerName.Length > 0) { tempSerialPrintContent = new CSerialPrintContent(); tempSerialPrintContent.StringLine = "\r\nCustomer Name: " + tempCustomerInfo.CustomerName; serialBody.Add(tempSerialPrintContent); } if (tempCustomerInfo.CustomerPhone.Length > 0) { tempSerialPrintContent = new CSerialPrintContent(); tempSerialPrintContent.StringLine = "\r\nPhone:" + tempCustomerInfo.CustomerPhone; serialBody.Add(tempSerialPrintContent); } if (tempOrderInfo.Status.Equals("Delivery")) { tempSerialPrintContent = new CSerialPrintContent(); tempSerialPrintContent.StringLine = "\r\nAddress:"; serialBody.Add(tempSerialPrintContent); tempSerialPrintContent = new CSerialPrintContent(); tempSerialPrintContent.StringLine = "\r\n" + strPrintFormatter.CreateDashedLine(); serialBody.Add(tempSerialPrintContent); if (tempCustomerInfo.FloorAptNumber.Length > 0) { tempSerialPrintContent = new CSerialPrintContent(); tempSerialPrintContent.StringLine = "Floor or Apartment:" + tempCustomerInfo.FloorAptNumber; serialBody.Add(tempSerialPrintContent); } if (tempCustomerInfo.BuildingName.Length > 0) { tempSerialPrintContent = new CSerialPrintContent(); tempSerialPrintContent.StringLine = "Building Name:" + tempCustomerInfo.BuildingName; serialBody.Add(tempSerialPrintContent); } if (tempCustomerInfo.HouseNumber.Length > 0) { tempSerialPrintContent = new CSerialPrintContent(); tempSerialPrintContent.StringLine = "House Number:" + tempCustomerInfo.HouseNumber; serialBody.Add(tempSerialPrintContent); } string[] street = new string[0]; street = tempCustomerInfo.StreetName.Split('-'); if (street.Length > 1) { if (street[0].ToString().Length > 0) { tempSerialPrintContent = new CSerialPrintContent(); tempSerialPrintContent.StringLine = "Street:" + street[0].ToString(); serialBody.Add(tempSerialPrintContent); } if (street[1].ToString().Length > 0) { tempSerialPrintContent = new CSerialPrintContent(); tempSerialPrintContent.StringLine = street[1].ToString(); serialBody.Add(tempSerialPrintContent); } } else if (street.Length > 0 && street.Length < 2) { if (street[0].ToString().Length > 0) { tempSerialPrintContent = new CSerialPrintContent(); tempSerialPrintContent.StringLine = "Street:" + street[0].ToString(); serialBody.Add(tempSerialPrintContent); } } if (tempCustomerInfo.CustomerPostalCode.Length > 0) { tempSerialPrintContent = new CSerialPrintContent(); tempSerialPrintContent.StringLine = "Postal Code:" + tempCustomerInfo.CustomerPostalCode; serialBody.Add(tempSerialPrintContent); } if (tempCustomerInfo.CustomerTown.Length > 0) { tempSerialPrintContent = new CSerialPrintContent(); tempSerialPrintContent.StringLine = "Town:" + tempCustomerInfo.CustomerTown; serialBody.Add(tempSerialPrintContent); } //tempSerialPrintContent = new CSerialPrintContent(); //tempSerialPrintContent.StringLine = "Country:" + tempCustomerInfo.CustomerCountry; //serialBody.Add(tempSerialPrintContent); tempSerialPrintContent = new CSerialPrintContent(); // tempSerialPrintContent.StringLine = "\r\n" + strPrintFormatter.CreateDashedLine(); serialBody.Add(tempSerialPrintContent); CDelivery objDelivery = new CDelivery(); objDelivery.DeliveryOrderID = orderID; CResult objDeliveryInfo = tempOrderManager.GetDeliveryInfo(objDelivery); objDelivery = (CDelivery)objDeliveryInfo.Data; if (objDelivery != null) { tempSerialPrintContent = new CSerialPrintContent(); tempSerialPrintContent.StringLine = "\r\nDelivery Time:" + objDelivery.DeliveryTime; serialBody.Add(tempSerialPrintContent); } } } tempSerialPrintContent = new CSerialPrintContent(); tempSerialPrintContent.StringLine = "\r\n" + strPrintFormatter.CenterTextWithWhiteSpace("Order Information"); serialBody.Add(tempSerialPrintContent); tempSerialPrintContent = new CSerialPrintContent(); tempSerialPrintContent.StringLine = "\r\n" + strPrintFormatter.CreateDashedLine(); serialBody.Add(tempSerialPrintContent); tempSerialPrintContent = new CSerialPrintContent(); tempSerialPrintContent.StringLine = "\r\n" + strPrintFormatter.ItemLabeledText("Item", "Qnty Unit Price Price(" + Program.currency + ")"); serialBody.Add(tempSerialPrintContent); //Line after above line //tempSerialPrintContent = new CSerialPrintContent(); //tempSerialPrintContent.StringLine = "----------------------------------------"; //serialBody.Add(tempSerialPrintContent); #region Populate List if (m_orderUserName.Replace(" ", "").ToUpper() != "Web User".Replace(" ", "").ToUpper()) { Hashtable htOrderedItems = new Hashtable(); SortedList slorderedItems = null; string categoryOrder = String.Empty; int internalCategoryID = 0; //Modification By Baruri at 04/08/2008 for (int rowIndex = 0; rowIndex < g_FoodDataGridView.Rows.Count; rowIndex++) { internalCategoryID = 0; string cat3ID = String.Empty; string cat2ID = String.Empty; string cat1ID = String.Empty; DataGridViewRow tempRow = g_FoodDataGridView.Rows[rowIndex]; categoryOrder = String.Empty; if (!tempRow.Cells[0].Value.ToString().Equals("")) { #region "Parent Category" if (Convert.ToInt32("0" + tempRow.Cells[4].Value.ToString()) == 3)//Item from Category 3 { internalCategoryID = Convert.ToInt32("0" + tempRow.Cells[3].Value.ToString()); DataRow[] dtRow = dsCategory3.Tables[0].Select("cat3_id = " + internalCategoryID); if (dtRow.Length > 0) { cat2ID = dtRow[0]["cat2_id"].ToString(); DataRow[] dtRowCat2 = dsCategory2.Tables[0].Select("cat2_id = " + cat2ID);//new cat1ID = dtRowCat2[0]["cat1_id"].ToString(); } } else if (Convert.ToInt32("0" + tempRow.Cells[4].Value.ToString()) == 0) { cat1ID = "0"; cat2ID = "0"; } else { internalCategoryID = Convert.ToInt32("0" + tempRow.Cells[3].Value.ToString()); DataRow[] dtRow = dsCategory4.Tables[0].Select("cat4_id = " + internalCategoryID); if (dtRow.Length > 0) { cat3ID = dtRow[0]["cat3_id"].ToString(); if (cat3ID != "" || cat3ID != null) { dtRow = dsCategory3.Tables[0].Select("cat3_id = " + cat3ID); } else { dtRow = null; } } if (dtRow.Length > 0) { cat2ID = dtRow[0]["cat2_id"].ToString(); DataRow[] dtRowCat2 = dsCategory2.Tables[0].Select("cat2_id = " + cat2ID);//new cat1ID = dtRowCat2[0]["cat1_id"].ToString(); } } #endregion clsOrderReport objOrderedItems = new clsOrderReport(); objOrderedItems.Quantity = Convert.ToInt32("0" + tempRow.Cells[1].Value.ToString()); objOrderedItems.ItemName = tempRow.Cells[0].Value.ToString(); objOrderedItems.Price = Convert.ToDouble("0" + tempRow.Cells[2].Value.ToString()); objOrderedItems.ItemUnitPrice = Convert.ToDouble("0" + tempRow.Cells[8].Value.ToString()); //htOrderedItems.Add(cat2ID + "-" + objOrderedItems.ItemName, objOrderedItems);//Showing the products according to categpry 2 Int64 rankNumber = Int64.Parse(tempRow.Cells[5].Value.ToString()); Int32 category1OrderNumber = this.GetCategory1OrderNumber(Convert.ToInt32(cat1ID)); htOrderedItems.Add(category1OrderNumber + "-" + rankNumber + "-" + objOrderedItems.ItemName, objOrderedItems);//Category 1 wise separator } } #endregion NumericComparer nc = new NumericComparer(); slorderedItems = new SortedList(htOrderedItems, nc); int keyIndex = 0; string[] valueSplitter = new string[0]; SortedList slMiscellaneousItems = new SortedList(); //Only for miscellenious category PrintUtility printUtility = new PrintUtility(); foreach (clsOrderReport objReport in slorderedItems.Values) { string keyValue = slorderedItems.GetKey(keyIndex).ToString(); valueSplitter = keyValue.Split('-'); string priceString = printUtility.PupulateRightString(objReport.Quantity, objReport.ItemUnitPrice, objReport.Price);//objReport.Quantity.ToString() + " " + objReport.ItemUnitPrice.ToString("f2") + " " + objReport.Price.ToString("F02"); if ((categoryID != Convert.ToInt32("0" + valueSplitter[0].ToString())) && Convert.ToInt32("0" + valueSplitter[0].ToString()) != 0)//Insert separator { categoryID = Convert.ToInt32("0" + valueSplitter[0].ToString()); tempSerialPrintContent = new CSerialPrintContent(); tempSerialPrintContent.StringLine = "\r\n" + strPrintFormatter.CreateDashedLine() + "\r\n"; serialBody.Add(tempSerialPrintContent); tempSerialPrintContent = new CSerialPrintContent(); //tempSerialPrintContent.StringLine += // strPrintFormatter.ItemLabeledText(objReport.Quantity.ToString() + " " + // printUtility.MultipleLine(objReport.ItemName.ToString(), papersize - 10, objReport.Price.ToString("F02"), papersize - 5), ""); tempSerialPrintContent.StringLine += strPrintFormatter.ItemLabeledText( printUtility.MultipleLine(objReport.ItemName.ToString(), papersize - 32, priceString, papersize ), ""); serialBody.Add(tempSerialPrintContent); } else if (valueSplitter[0].ToString() == "0") //Used for miscellenious items. i.e these items have no parent category. { tempSerialPrintContent = new CSerialPrintContent(); //tempSerialPrintContent.StringLine += // strPrintFormatter.ItemLabeledText(objReport.Quantity.ToString() + " " + // printUtility.MultipleLine(objReport.ItemName.ToString(), papersize - 10, objReport.Price.ToString("F02"), papersize - 5), ""); tempSerialPrintContent.StringLine += strPrintFormatter.ItemLabeledText( printUtility.MultipleLine(objReport.ItemName.ToString(), papersize - 32, priceString, papersize ), ""); slMiscellaneousItems.Add(slMiscellaneousItems.Count, tempSerialPrintContent); } else { tempSerialPrintContent = new CSerialPrintContent(); //tempSerialPrintContent.StringLine += // strPrintFormatter.ItemLabeledText(objReport.Quantity.ToString() + " " + // printUtility.MultipleLine(objReport.ItemName.ToString(), papersize - 10, objReport.Price.ToString("F02"), papersize - 5), ""); tempSerialPrintContent.StringLine += strPrintFormatter.ItemLabeledText( printUtility.MultipleLine(objReport.ItemName.ToString(), papersize - 32, priceString, papersize), ""); serialBody.Add(tempSerialPrintContent); } keyIndex++; } //Add the miscellaneous items with the separator if (slMiscellaneousItems.Count > 0) { tempSerialPrintContent = new CSerialPrintContent(); tempSerialPrintContent.StringLine = "\r\n" + strPrintFormatter.CenterTextWithDashed("Miscellaneous") + "\r\n"; serialBody.Add(tempSerialPrintContent); foreach (CSerialPrintContent tempSerialContent in slMiscellaneousItems.Values) { serialBody.Add(tempSerialContent); } } for (int rowIndex = 0; rowIndex < g_BeverageDataGridView.Rows.Count; rowIndex++) { DataGridViewRow tempRow = g_BeverageDataGridView.Rows[rowIndex]; if (rowIndex == 0 && (!tempRow.Cells[0].Value.ToString().Equals(""))) { tempSerialPrintContent = new CSerialPrintContent(); tempSerialPrintContent.StringLine = "\r\n" + strPrintFormatter.CenterTextWithDashed("Drinks") + "\r\n"; serialBody.Add(tempSerialPrintContent); } if (!tempRow.Cells[0].Value.ToString().Equals("")) { tempSerialPrintContent = new CSerialPrintContent(); // string priceString1 = tempRow.Cells[1].Value.ToString() + " " + tempRow.Cells[8].Value.ToString() + " " + tempRow.Cells[2].Value.ToString(); string priceString = printUtility.PupulateRightString(Convert.ToInt32("0" + tempRow.Cells[1].Value.ToString()), Convert.ToDouble("0"+tempRow.Cells[8].Value.ToString()), Convert.ToDouble("0"+tempRow.Cells[2].Value.ToString()));//objReport.Quantity.ToString() + " " + objReport.ItemUnitPrice.ToString("f2") + " " + objReport.Price.ToString("F02"); // string priceString = tempRow.Cells[1].Value.ToString() + " " + tempRow.Cells[8].Value.ToString() + " " + tempRow.Cells[2].Value.ToString(); //tempSerialPrintContent.StringLine += // strPrintFormatter.ItemLabeledText(tempRow.Cells[1].Value.ToString() + " " + // printUtility.MultipleLine(tempRow.Cells[0].Value.ToString(), papersize - 10, tempRow.Cells[2].Value.ToString(), papersize - 5), ""); tempSerialPrintContent.StringLine += strPrintFormatter.ItemLabeledText( printUtility.MultipleLine(tempRow.Cells[0].Value.ToString(), papersize - 32, priceString, papersize ), ""); serialBody.Add(tempSerialPrintContent); } } } else { //For online orders tempSerialPrintContent = new CSerialPrintContent(); tempSerialPrintContent.StringLine = "\r\n" + strPrintFormatter.CreateDashedLine(); serialBody.Add(tempSerialPrintContent); for (int rowIndex = 0; rowIndex < g_FoodDataGridView.RowCount; rowIndex++) { if (Convert.ToInt32("0" + g_FoodDataGridView.Rows[rowIndex].Cells[1].Value) > 0) { tempSerialPrintContent = new CSerialPrintContent(); tempSerialPrintContent.StringLine += "\r\n" + strPrintFormatter.ItemLabeledText(g_FoodDataGridView.Rows[rowIndex].Cells[1].Value.ToString() + " " + (g_FoodDataGridView.Rows[rowIndex].Cells[0].Value.ToString()), (Convert.ToDouble("0" + g_FoodDataGridView.Rows[rowIndex].Cells[2].Value).ToString("F02"))); serialBody.Add(tempSerialPrintContent); } } for (int rowIndex = 0; rowIndex < g_BeverageDataGridView.RowCount; rowIndex++) { if (Convert.ToInt32("0" + g_BeverageDataGridView.Rows[rowIndex].Cells[1].Value) > 0) { tempSerialPrintContent = new CSerialPrintContent(); tempSerialPrintContent.StringLine += strPrintFormatter.ItemLabeledText(g_BeverageDataGridView.Rows[rowIndex].Cells[1].Value.ToString() + " " + (g_BeverageDataGridView.Rows[rowIndex].Cells[0].Value.ToString()), (Convert.ToDouble("0" + g_BeverageDataGridView.Rows[rowIndex].Cells[2].Value).ToString("F02"))); serialBody.Add(tempSerialPrintContent); } } } tempSerialPrintContent = new CSerialPrintContent(); tempSerialPrintContent.StringLine = "\r\n" + strPrintFormatter.CreateDashedLine(); serialBody.Add(tempSerialPrintContent); decimal discountAmount = decimal.Parse(g_DiscountLabel.Text); Decimal totalAmount = Decimal.Parse(g_AmountLabel.Text); Decimal billTotal = discountAmount + totalAmount; //New at 02.03.2009 tempSerialPrintContent = new CSerialPrintContent(); tempSerialPrintContent.StringLine = "\r\n" + strPrintFormatter.SumupLabeledText("Order Total: ", GetOrderTotal().ToString("F02")); serialBody.Add(tempSerialPrintContent); if (discountAmount > 0) { decimal itemCost = this.GetOrderTotal(); tempSerialPrintContent = new CSerialPrintContent(); decimal discountPercent = 100 * discountAmount / (itemCost); //Discount is based on the total item cost tempSerialPrintContent.StringLine = "\r\n" + strPrintFormatter.SumupLabeledText("Discount:(" + discountPercent.ToString("F02") + "%) ", Convert.ToDecimal(g_DiscountLabel.Text).ToString("F02")); serialBody.Add(tempSerialPrintContent); } if (Convert.ToDouble("0" + g_serviceCharge.Text) > 0) //If service charge is assigned { CResult cResult = tempOrderManager.OrderServiceChargeGetByOrderID(orderID); ServiceCharge serviceCharge = cResult.Data as ServiceCharge; tempSerialPrintContent = new CSerialPrintContent(); //tempSerialPrintContent.StringLine = " Service Charge: " + Convert.ToDecimal("0" + g_serviceCharge.Text).ToString("F02"); tempSerialPrintContent.StringLine = "\r\n" + strPrintFormatter.SumupLabeledText("Service Charge(" + serviceCharge.ServicechargeRate.ToString() + "%): ", Convert.ToDecimal("0" + g_serviceCharge.Text).ToString("F02")); serialBody.Add(tempSerialPrintContent); } if (isVatEnabled) //If vat is assigned { tempSerialPrintContent = new CSerialPrintContent(); //tempSerialPrintContent.StringLine = " Vat("+vat.ToString()+"%): " + Convert.ToDecimal("0" + lblVat.Text).ToString("F02"); tempSerialPrintContent.StringLine = "\r\n" + strPrintFormatter.SumupLabeledText("Vat(" + vat.ToString() + "%): ", Convert.ToDecimal("0" + lblVat.Text).ToString("F02")); serialBody.Add(tempSerialPrintContent); } tempSerialPrintContent = new CSerialPrintContent(); // tempSerialPrintContent.StringLine = "----------------------------------------"; tempSerialPrintContent.StringLine += "\r\n" + strPrintFormatter.CreateDashedLine(); serialBody.Add(tempSerialPrintContent); tempSerialPrintContent = new CSerialPrintContent(); decimal payableAmount = Convert.ToDecimal(Convert.ToDecimal("0" + g_serviceCharge.Text).ToString("F02")) + Convert.ToDecimal(this.GetOrderTotal()) - Convert.ToDecimal(Convert.ToDecimal("0" + g_DiscountLabel.Text).ToString("F02")); payableAmount = Convert.ToDecimal(Convert.ToDouble(payableAmount) * (1 + vat / 100)); tempSerialPrintContent.StringLine = "\r\n" + strPrintFormatter.SumupLabeledText("Total Payable: ", Convert.ToDecimal("0" + g_AmountLabel.Text).ToString("F02")); serialBody.Add(tempSerialPrintContent); tempSerialPrintContent = new CSerialPrintContent(); // tempSerialPrintContent.StringLine = "----------------------------------------"; tempSerialPrintContent.StringLine += "\r\n" + strPrintFormatter.CreateDashedLine(); serialBody.Add(tempSerialPrintContent); //New at 22.08.2008 tempSerialPrintContent = new CSerialPrintContent(); //tempSerialPrintContent.StringLine = "You've Served by :" + m_OperatorName; tempSerialPrintContent.StringLine = "\r\nYou've Served by:" + m_OperatorName; serialBody.Add(tempSerialPrintContent); //Terminal Name and Serial No line remove from report for requisting user // Sajib Vai gathered user requirement //Date : 13-02-2012 //tempSerialPrintContent = new CSerialPrintContent(); //tempSerialPrintContent.StringLine = "\r\n" + m_TerminalName.Trim(); //serialBody.Add(tempSerialPrintContent); ////------------------------ //tempSerialPrintContent = new CSerialPrintContent(); //tempSerialPrintContent.StringLine = "\r\nS/N: " + tempOrderInfo.SerialNo.ToString() + "\n"; //serialBody.Add(tempSerialPrintContent); tempSerialPrintContent = new CSerialPrintContent(); //tempSerialPrintContent.StringLine = "----------------------------------------"; tempSerialPrintContent.StringLine = "\r\n" + strPrintFormatter.CreateDashedLine(); serialBody.Add(tempSerialPrintContent); //tempSerialPrintContent = new CSerialPrintContent(); //tempSerialPrintContent.StringLine = "\r\nDeveloped By: www.ibacs.co.uk"; //serialBody.Add(tempSerialPrintContent); #region "Testing printing area" string printingObject = ""; for (int arrayIndex = 0; arrayIndex < serialBody.Count; arrayIndex++) { printingObject += serialBody[arrayIndex].StringLine.ToString(); } this.WriteString(printingObject);///Write to a file when print command is executed #endregion // tempPrintMethods.SerialPrint(PRINTER_TYPES.NORMAL_PRINTER, serialHeader, serialBody, serialFooter, tempOrderInfo.SerialNo.ToString()); tempPrintMethods.USBPrintA5Report(printingObject, PrintDestiNation.CLIENT, true, papersize); ///Update status /// if (tempOrderInfo.OrderType.Equals("Table")) { tempOrderInfo.Status = "Billed"; tempOrderInfo.OrderTime = System.DateTime.Now; tempOrderManager.UpdateOrderInfo(tempOrderInfo); CPaymentManager tempPaymentManager = new CPaymentManager(); CPayment tempPayment = new CPayment(); tempPayment.OrderID = tempOrderInfo.OrderID; tempPayment.BillPrintTime = DateTime.Now; tempPaymentManager.InsertBillPrintTime(tempPayment); } this.ChangeGuestBillPrintStatus(); } catch (Exception exp) { MessageBox.Show(exp.Message, RMSGlobal.MessageBoxTitle, MessageBoxButtons.OK, MessageBoxIcon.Error); } }
private void PrintBill(DataTable inDataTable) { double totalorderamount = (from item in SecondSpiltItems select item.Price).Sum(); copymember++; int papersize = 30; PrintUtility printUtility=new PrintUtility(); StringPrintFormater strPrintFormatter = new StringPrintFormater(papersize); try { //CPrintMethods tempPrintMethods = new CPrintMethods(); CPrintMethodsEXT tempPrintMethods = new CPrintMethodsEXT(); string serialHeader = "IBACS RMS_print bill after split"; string serialFooter = "Please Come Again"; string serialBody = ""; //serialBody += "\n Guest Bill"; serialBody += "\r\n" + strPrintFormatter.CenterTextWithWhiteSpace("Spilt Bill(1/"+copymember+")"); COrderManager tempOrderManager = new COrderManager(); COrderInfo tempOrderInfo = (COrderInfo)tempOrderManager.OrderInfoByOrderID(m_iOrderID).Data; if (m_sTableType.Equals("Table")) { serialBody += "\n\nTable Number:" + tempOrderInfo.TableNumber.ToString() + " Date: " + System.DateTime.Now.ToShortDateString(); } else if (m_sTableType.Equals("TakeAway")) { serialBody += "\n\nTake Away" + " Date: " + System.DateTime.Now.ToShortDateString(); CCustomerManager tempCustomerManager = new CCustomerManager(); CCustomerInfo tempCustomerInfo = (CCustomerInfo)tempCustomerManager.CustomerInfoGetByCustomerID(tempOrderInfo.CustomerID).Data; serialBody += "\nCustomer Name: " + tempCustomerInfo.CustomerName; serialBody += "\nType: " + tempOrderInfo.Status; if (tempOrderInfo.Status.Equals("Delivery")) { serialBody += "\nAddress: " + tempCustomerInfo.CustomerAddress + "\n" + tempCustomerInfo.CustomerTown + "," + tempCustomerInfo.CustomerPostalCode + "\n" + tempCustomerInfo.CustomerPhone; } } else if (m_sTableType.Equals("Tabs")) { serialBody += "\n\nBar Service" + " Date: " + System.DateTime.Now.ToShortDateString(); if (tempOrderInfo.TableNumber != 0) { serialBody += "\nTab Number: " + tempOrderInfo.TableNumber.ToString(); } } //serialBody += "\n Order Information"; serialBody += "\n" + strPrintFormatter.CenterTextWithDashed("Order Information"); //serialBody += "\n----------------------------------------"; serialBody += "\r\n" + strPrintFormatter.CreateDashedLine(); //serialBody += "\nQty Item Price "; serialBody += "\r\n" + strPrintFormatter.ItemLabeledText("Qty Item", "Price(" + Program.currency + ")"); //serialBody += "\n----------------------------------------"; serialBody += "\r\n" + strPrintFormatter.CreateDashedLine(); //for (int counter = 0; counter < inDataTable.Rows.Count; counter++) //{ // DataRow tempRow = inDataTable.Rows[counter]; // /* serialBody += "\n" + tempRow["Qty"].ToString() + " "; // serialBody += CPrintMethods.GetFixedString(tempRow["Item"].ToString(), 30); // serialBody += CPrintMethods.RightAlign(tempRow["Price"].ToString(), 6);*/ // serialBody += "\n" + strPrintFormatter.ItemLabeledText(tempRow["Qty"].ToString() + " " + tempRow["Item"].ToString(), tempRow["Price"].ToString()); //} foreach (SpiltItem item in SecondSpiltItems) { // serialBody += "\n" + strPrintFormatter.ItemLabeledText(item.Qty.ToString() + " " + item.ItemName, item.Price.ToString("F02")); serialBody += "\n" + strPrintFormatter.ItemLabeledText(item.Qty.ToString() + " " + printUtility.MultipleLine(item.ItemName, papersize - 10, item.Price.ToString("F02"), papersize - 3), ""); } //serialBody += "\n----------------------------------------"; serialBody += "\r\n" + strPrintFormatter.CreateDashedLine(); Double discountAmount = m_dDiscount; // Double svat = Program.vat; Double billTotal = (discountAmount + m_dTotalAmount); //serialBody += "\nOrder Total: " + CPrintMethods.RightAlign(billTotal.ToString("F02"), 6); serialBody += "\r\n" + strPrintFormatter.SumupLabeledText("Order Total: ", totalorderamount.ToString("F02")); if (discountAmount > 0) { Double totalAmount = ordertotal; Double discountPercent = totalorderamount * discountAmount / (totalAmount); //serialBody += "\n Discount:(" + discountPercent.ToString("F02") + "%) " + CPrintMethods.RightAlign(m_dDiscount.ToString("F02"), 6); serialBody += "\r\n" + strPrintFormatter.SumupLabeledText("Discount:", discountPercent.ToString("F02")); } if (m_dservicecharge > 0) { Double totalAmount = ordertotal; Double discountPercent = totalorderamount * m_dservicecharge / (totalAmount); //serialBody += "\n Discount:(" + discountPercent.ToString("F02") + "%) " + CPrintMethods.RightAlign(m_dDiscount.ToString("F02"), 6); serialBody += "\r\n" + strPrintFormatter.SumupLabeledText("Service Charge:", discountPercent.ToString("F02")); } if (m_dvat> 0) { Double totalAmount = ordertotal; Double discountPercent = (m_dvat * totalorderamount) / (totalAmount); //serialBody += "\n Discount:(" + discountPercent.ToString("F02") + "%) " + CPrintMethods.RightAlign(m_dDiscount.ToString("F02"), 6); serialBody += "\r\n" + strPrintFormatter.SumupLabeledText("Vat:", discountPercent.ToString("F02")); } serialBody += "\r\n" + strPrintFormatter.CreateDashedLine(); //serialBody += "\n Total Payable: " + CPrintMethods.RightAlign(m_dTotalAmount.ToString("F02"), 6); double totalpayable = totalorderamount + (totalorderamount * m_dservicecharge / (ordertotal)) + (totalorderamount * m_dvat / (ordertotal)) - +(totalorderamount * m_dDiscount / (ordertotal)); serialBody += "\r\n" + strPrintFormatter.SumupLabeledText("Total Payable: ", totalpayable.ToString("F02")); //serialBody += "\n----------------------------------------"; serialBody += "\r\n" + strPrintFormatter.CreateDashedLine(); //serialBody+= "\r\n\r\n Cash Pay: "+g_CashLabel.Text; //serialBody+= "\r\n EFT Pay: "+g_EFTLabel.Text; //serialBody+= "\r\n Cheque Pay: "+g_ChequeLabel.Text; //serialBody+= "\r\n Voucher Pay: "+g_VoucherLabel.Text; //serialBody+= "\r\n "+g_BalaceLabel.Text; serialBody += "\n\nS/N: " + tempOrderInfo.SerialNo.ToString()+"\n"; //tempPrintMethods.SerialPrint(PRINTER_TYPES.NORMAL_PRINTER, serialHeader, serialBody, serialFooter, tempOrderInfo.SerialNo.ToString()); tempPrintMethods.USBPrint(serialBody, PrintDestiNation.CLIENT, true); } catch (Exception exp) { throw exp; } }
private void PrintPaymentBill(int paymentMethodIndex) { bool isPrintA5GuestBill = false; if (isPrintA5GuestBill) { PrintA5GuestBillReport(2); } else { int paperSize = 37; StringPrintFormater strPrintFormatter = new StringPrintFormater(37); COrderWaiterDao orderWaiterDao = new COrderWaiterDao(); // Change by Mithu COrderwaiter orderWaiter = orderWaiterDao.GetOrderwaiterByOrderID(m_iOrderID); // Change by Mithu m_itemCost = 0.0; CPrintMethodsEXT tempPrintMethods = new CPrintMethodsEXT(); Hashtable htOrderedItems = new Hashtable(); SortedList slOrderedItems = new SortedList(); //string serialHeader = "IBACS RMS"; string serialHeader = ""; //string serialFooter = "Please Come Again"; string serialFooter = ""; string serialBody = ""; serialBody += "\r\n" + strPrintFormatter.CenterTextWithWhiteSpace("Bill Payment"); // Change by Mithu COrderManager tempOrderManager = new COrderManager(); COrderInfo tempOrderInfo = (COrderInfo)tempOrderManager.OrderInfoByOrderID(m_iOrderID).Data; serialBody += "\r\n\r\n Vat Reg. No: " + Program.vatRegDes; // Change by Mithu serialBody = "\r\nWaiter Name: " + orderWaiter.WaiterName + "\r\n"; serialBody += "\r\n\nOrder ID:" + m_iOrderID.ToString(); //serialBody += "\r\n" + strPrintFormatter.CreateDashedLine(); // Change by Mithu if (m_sTableType.Equals("Table")) { serialBody += "\r\n\nTable #" + tempOrderInfo.TableNumber.ToString(); // Change by Mithu serialBody += "\r\n Served by:" + m_OperatorName; // Change by Mithu serialBody += "\r\n\n Cust #" + tempOrderInfo.GuestCount.ToString(); // Change by Mithu //serialBody += "\r\nDate: " + System.DateTime.Now.ToString("dd/MM/yy hh:mm tt"); // Change by Mithu serialBody += "\r\n" + System.DateTime.Now.ToString("\r\ndd/MM/yy hh:mm tt"); // Change by Mithu } else if (m_sTableType.Equals("TakeAway")) { serialBody += "\r\n\nTake Away" + "Date: " + System.DateTime.Now.ToString("dd/MM/yy hh:mm tt"); CCustomerManager tempCustomerManager = new CCustomerManager(); CCustomerInfo tempCustomerInfo = (CCustomerInfo)tempCustomerManager.CustomerInfoGetByCustomerID(tempOrderInfo.CustomerID).Data; if (tempCustomerInfo.CustomerName.Length > 0) { serialBody += "\r\nCustomer Name: " + tempCustomerInfo.CustomerName; } if (tempCustomerInfo.CustomerPhone.Length > 0) { serialBody += "\r\nPhone:" + tempCustomerInfo.CustomerPhone; } serialBody += "\r\nType: " + tempOrderInfo.Status; if (tempOrderInfo.Status.Equals("Delivery")) { serialBody += "\r\nAddress:"; serialBody += "\r\n" + strPrintFormatter.CreateDashedLine(); if (tempCustomerInfo.FloorAptNumber.Length > 0) { serialBody += "\r\nFloor or Apartment:" + tempCustomerInfo.FloorAptNumber; } if (tempCustomerInfo.BuildingName.Length > 0) { serialBody += "\r\nBuilding Name:" + tempCustomerInfo.BuildingName; } if (tempCustomerInfo.HouseNumber.Length > 0) { serialBody += "\r\nHouse Number:" + tempCustomerInfo.HouseNumber; } string[] street = new string[0]; street = tempCustomerInfo.StreetName.Split('-'); if (street.Length > 1) { if (street[0].ToString().Length > 0) { serialBody += "\r\nStreet:" + street[0].ToString(); } if (street[1].ToString().Length > 0) { serialBody += "\r\n" + street[1].ToString(); } } else if (street.Length > 0 && street.Length < 2) { if (street[0].ToString().Length > 0) { serialBody += "\r\nStreet:" + street[0].ToString(); } } if (tempCustomerInfo.CustomerPostalCode.Length > 0) { serialBody += "\r\nPostal Code:" + tempCustomerInfo.CustomerPostalCode; } if (tempCustomerInfo.CustomerTown.Length > 0) { serialBody += "\r\nTown:" + tempCustomerInfo.CustomerTown; } serialBody += "\r\n" + strPrintFormatter.CreateDashedLine(); CDelivery objDelivery = new CDelivery(); objDelivery.DeliveryOrderID = m_iOrderID; CResult objDeliveryInfo = tempOrderManager.GetDeliveryInfo(objDelivery); objDelivery = (CDelivery)objDeliveryInfo.Data; serialBody += "\r\nDelivery Time:" + objDelivery.DeliveryTime; } } else if (m_sTableType.Equals("Tabs")) { serialBody += "\r\n\nBar Service" + " Date: " + System.DateTime.Now.ToString("dd/MM/yy hh:mm tt"); if (tempOrderInfo.TableNumber != 0) serialBody += "\r\nTab Number: " + tempOrderInfo.TableNumber.ToString(); } serialBody += "\r\n\nOrder Information"; serialBody += "\r\n" + strPrintFormatter.CreateDashedLine(); serialBody += "\r\n" + strPrintFormatter.CreateDashedLine(); serialBody += "\r\n" + strPrintFormatter.ItemLabeledText("Qty Item", "Price(" + Program.currency + ")"); serialBody += "\r\n" + strPrintFormatter.CreateDashedLine(); //serialBody += "\n----------------------------------------"; #region "Local Orders" if (m_orderUserName.Replace(" ", "").ToUpper() != "Web User".Replace(" ", "").ToUpper()) { #region "For Bar service" if (m_dtItemList.Columns.Count == 3) //For bar service { //serialBody += "\r\n----------------------------------------"; serialBody += "\r\n" + strPrintFormatter.CreateDashedLine(); for (int rowIndex = 0; rowIndex < m_dtItemList.Rows.Count; rowIndex++) { if (rowIndex == m_iDrinksIndex) // serialBody += "\r\n----------------------------------------"; serialBody += "\r\n" + strPrintFormatter.CreateDashedLine(); DataRow tempRow = m_dtItemList.Rows[rowIndex]; serialBody += "\r\n" + strPrintFormatter.ItemLabeledText(tempRow["Qty"].ToString() + " " + tempRow["Item"].ToString(), tempRow["Price"].ToString()); m_itemCost += Convert.ToDouble("0" + tempRow["Price"].ToString()); //New for item cost of the bar service } serialBody += "\r\n" + strPrintFormatter.CreateDashedLine();//Separator after the bar items. } #endregion #region "For foods separator is used " else { string cat2ID = ""; string cat3ID = ""; string cat1ID = ""; Int32 internalCategoryID = 0; Int32 categoryID = 0; string categoryOrder = String.Empty; for (int rowIndex = 0; rowIndex < m_dtItemList.Rows.Count; rowIndex++) { #region "Parent Category" DataRow tempRow = m_dtItemList.Rows[rowIndex]; categoryOrder = String.Empty; if (Convert.ToInt32("0" + tempRow["Catlevel"].ToString()) == 3)//Item from Category 3 { internalCategoryID = Convert.ToInt32("0" + tempRow["Catid"].ToString()); DataRow[] dtRow = dsCategory3.Tables[0].Select("cat3_id = " + internalCategoryID); if (dtRow.Length > 0) { cat2ID = dtRow[0]["cat2_id"].ToString(); DataRow[] dtRowCat2 = dsCategory2.Tables[0].Select("cat2_id = " + cat2ID);//new cat1ID = dtRowCat2[0]["cat1_id"].ToString(); } } else if (Convert.ToInt32("0" + tempRow["Catlevel"].ToString()) == 0)//Item from Category 3 { cat1ID = "0"; cat2ID = "0"; } else { internalCategoryID = Convert.ToInt32("0" + tempRow["Catid"].ToString()); DataRow[] dtRow = dsCategory4.Tables[0].Select("cat4_id = " + internalCategoryID); if (dtRow.Length > 0) { cat3ID = dtRow[0]["cat3_id"].ToString(); } dtRow = dsCategory3.Tables[0].Select("cat3_id = " + cat3ID); if (dtRow.Length > 0) { cat2ID = dtRow[0]["cat2_id"].ToString(); DataRow[] dtRowCat2 = dsCategory2.Tables[0].Select("cat2_id = " + cat2ID);//new cat1ID = dtRowCat2[0]["cat1_id"].ToString(); } } #endregion clsOrderReport objOrderedReport = new clsOrderReport(); objOrderedReport.Quantity = Convert.ToInt32("0" + tempRow["Qty"].ToString()); objOrderedReport.ItemName = tempRow["Item"].ToString(); objOrderedReport.Price = Convert.ToDouble("0" + tempRow["Price"].ToString()); int drinkValue = Convert.ToInt32("0" + tempRow["isdrink"].ToString()); if (drinkValue > 0) { objOrderedReport.DrinkStatus = true; } else { objOrderedReport.DrinkStatus = false; } Int64 rankNumber = Int64.Parse(tempRow["rank"].ToString()); Int32 category1OrderNumber = this.GetCategory1OrderNumber(Convert.ToInt32(cat1ID)); htOrderedItems.Add(category1OrderNumber + "-" + rankNumber + "-" + objOrderedReport.ItemName, objOrderedReport); m_itemCost += Convert.ToDouble("0" + tempRow["Price"].ToString()); } NumericComparer nc = new NumericComparer(); slOrderedItems = new SortedList(htOrderedItems, nc); int keyIndex = 0; string[] valueSplitter = new string[0]; SortedList slDrinkItems = new SortedList(); SortedList slMiscellaneousItems = new SortedList(); PrintUtility printUtility = new PrintUtility(); foreach (clsOrderReport objOrderedItems in slOrderedItems.Values) { objOrderedItems.ItemName = objOrderedItems.ItemName.Replace("''", "'"); objOrderedItems.ItemName = objOrderedItems.ItemName.Replace("'", "''"); string keyValue = slOrderedItems.GetKey(keyIndex).ToString(); valueSplitter = keyValue.Split('-'); if (objOrderedItems.DrinkStatus == true) //To make all drink items consecutively { slDrinkItems.Add(slDrinkItems.Count, objOrderedItems); } else if ((categoryID != Convert.ToInt32("0" + valueSplitter[0].ToString())) && (Convert.ToInt32("0" + valueSplitter[0].ToString()) != 0)) //All the items except drinks. { categoryID = Convert.ToInt32("0" + valueSplitter[0].ToString()); serialBody += "\r\n" + strPrintFormatter.CreateDashedLine() + "\r\n"; //Add the separator. /*serialBody += "\r\n" + objOrderedItems.Quantity.ToString() + " "; serialBody += CPrintMethods.GetFixedString(objOrderedItems.ItemName.ToString(), 29); serialBody += CPrintMethods.RightAlign(objOrderedItems.Price.ToString("F02"), 6);*/ //Blocked by Salim //serialBody += "\r\n" + strPrintFormatter.ItemLabeledText(objOrderedItems.Quantity.ToString() + " " + //objOrderedItems.ItemName.ToString(), objOrderedItems.Price.ToString("F02")); //if (qty_length_with_twospace + objOrderedItems.ItemName.Length + objOrderedItems.Price.ToString().Length <= printlinelength) //{ // serialBody += "\r\n" // + strPrintFormatter.ItemLabeledText(objOrderedItems.Quantity.ToString() + " " + objOrderedItems.ItemName.ToString(), // " " + objOrderedItems.Price.ToString("F02")); //} //else //{ // // line 1 // int itemname_firstline_length = printlinelength - 4 - 1 - objOrderedItems.Price.ToString().Length; // string itemname_first_part = objOrderedItems.ItemName.Substring(0, itemname_firstline_length); // string itemname_second_part = objOrderedItems.ItemName.Substring(itemname_firstline_length); // serialBody += "\r\n" // + strPrintFormatter.ItemLabeledText(objOrderedItems.Quantity.ToString() + " " + itemname_first_part, // " " + objOrderedItems.Price.ToString("F02")); // // line 2 // serialBody += "\r\n " // + strPrintFormatter.ItemLabeledText(itemname_second_part, // " "); //} serialBody += strPrintFormatter.ItemLabeledText(objOrderedItems.Quantity.ToString() + " " + printUtility.MultipleLine(objOrderedItems.ItemName.ToString(), paperSize - 10, objOrderedItems.Price.ToString("F02"), paperSize - 5), ""); } else if (valueSplitter[0].ToString() == "0") { slMiscellaneousItems.Add(slMiscellaneousItems.Count, objOrderedItems); } else { /* serialBody += "\r\n" + objOrderedItems.Quantity.ToString() + " "; serialBody += CPrintMethods.GetFixedString(objOrderedItems.ItemName.ToString(), 29); serialBody += CPrintMethods.RightAlign(objOrderedItems.Price.ToString("F02"), 6);*/ //Blocked by Salim //serialBody += "\r\n" + strPrintFormatter.ItemLabeledText(objOrderedItems.Quantity.ToString() + " " + //objOrderedItems.ItemName.ToString(), objOrderedItems.Price.ToString("F02")); //if (qty_length_with_twospace + objOrderedItems.ItemName.Length + objOrderedItems.Price.ToString().Length <= printlinelength) //{ // serialBody += "\r\n" // + strPrintFormatter.ItemLabeledText(objOrderedItems.Quantity.ToString() + " " + objOrderedItems.ItemName.ToString(), // " " + objOrderedItems.Price.ToString("F02")); //} //else //{ // // line 1 // int itemname_firstline_length = printlinelength - 4 - 1 - objOrderedItems.Price.ToString().Length; // string itemname_first_part = objOrderedItems.ItemName.Substring(0, itemname_firstline_length); // string itemname_second_part = objOrderedItems.ItemName.Substring(itemname_firstline_length); // serialBody += "\r\n" // + strPrintFormatter.ItemLabeledText(objOrderedItems.Quantity.ToString() + " " + itemname_first_part, // " " + objOrderedItems.Price.ToString("F02")); // // line 2 // serialBody += "\r\n " // + strPrintFormatter.ItemLabeledText(itemname_second_part, // " "); //} serialBody += strPrintFormatter.ItemLabeledText(objOrderedItems.Quantity.ToString() + " " + printUtility.MultipleLine(objOrderedItems.ItemName.ToString(), paperSize - 10, objOrderedItems.Price.ToString("F02"), paperSize - 5), ""); } keyIndex++; } //Add drinks only if (slMiscellaneousItems.Count > 0) { serialBody += "\r\n" + strPrintFormatter.CenterTextWithDashed("Miscellaneous") + "\r\n"; foreach (clsOrderReport objOrderedItems in slMiscellaneousItems.Values) { objOrderedItems.ItemName = objOrderedItems.ItemName.Replace("''", "'"); objOrderedItems.ItemName = objOrderedItems.ItemName.Replace("'", "''"); /* serialBody += "\r\n" + objOrderedItems.Quantity.ToString() + " "; serialBody += CPrintMethods.GetFixedString(objOrderedItems.ItemName.ToString(), 29); serialBody += CPrintMethods.RightAlign(objOrderedItems.Price.ToString("F02"), 6);*/ //serialBody += "\r\n" + strPrintFormatter.ItemLabeledText(objOrderedItems.Quantity.ToString() + " " + //objOrderedItems.ItemName.ToString(), objOrderedItems.Price.ToString("F02")); //if (qty_length_with_twospace + objOrderedItems.ItemName.Length + objOrderedItems.Price.ToString().Length <= printlinelength) //{ // serialBody += "\r\n" // + strPrintFormatter.ItemLabeledText(objOrderedItems.Quantity.ToString() + " " + objOrderedItems.ItemName.ToString(), // " " + objOrderedItems.Price.ToString("F02")); //} //else //{ // // line 1 // int itemname_firstline_length = printlinelength - 4 - 1 - objOrderedItems.Price.ToString().Length; // string itemname_first_part = objOrderedItems.ItemName.Substring(0, itemname_firstline_length); // string itemname_second_part = objOrderedItems.ItemName.Substring(itemname_firstline_length); // serialBody += "\r\n" // + strPrintFormatter.ItemLabeledText(objOrderedItems.Quantity.ToString() + " " + itemname_first_part, // " " + objOrderedItems.Price.ToString("F02")); // // line 2 // serialBody += "\r\n " // + strPrintFormatter.ItemLabeledText(itemname_second_part, // " "); //} serialBody += strPrintFormatter.ItemLabeledText(objOrderedItems.Quantity.ToString() + " " + printUtility.MultipleLine(objOrderedItems.ItemName.ToString(), paperSize - 10, objOrderedItems.Price.ToString("F02"), paperSize - 5), ""); } } //Add drinks only if (slDrinkItems.Count > 0) { serialBody += "\r\n" + strPrintFormatter.CenterTextWithDashed("Drinks") + "\r\n"; //Add the separator. foreach (clsOrderReport objOrderedItems in slDrinkItems.Values) { objOrderedItems.ItemName = objOrderedItems.ItemName.Replace("''", "'"); objOrderedItems.ItemName = objOrderedItems.ItemName.Replace("'", "''"); //serialBody += "\r\n" + strPrintFormatter.ItemLabeledText(objOrderedItems.Quantity.ToString() + " "+ //objOrderedItems.ItemName.ToString(),objOrderedItems.Price.ToString("F02")); //if (qty_length_with_twospace + objOrderedItems.ItemName.Length + objOrderedItems.Price.ToString().Length <= printlinelength) //{ // serialBody += "\r\n" // + strPrintFormatter.ItemLabeledText(objOrderedItems.Quantity.ToString() + " " + objOrderedItems.ItemName.ToString(), // " " + objOrderedItems.Price.ToString("F02")); //} //else //{ // // line 1 // int itemname_firstline_length = printlinelength - 4 - 1 - objOrderedItems.Price.ToString().Length; // string itemname_first_part = objOrderedItems.ItemName.Substring(0, itemname_firstline_length); // string itemname_second_part = objOrderedItems.ItemName.Substring(itemname_firstline_length); // serialBody += "\r\n" // + strPrintFormatter.ItemLabeledText(objOrderedItems.Quantity.ToString() + " " + itemname_first_part, // " " + objOrderedItems.Price.ToString("F02")); // // line 2 // serialBody += "\r\n " // + strPrintFormatter.ItemLabeledText(itemname_second_part, // " "); //} serialBody += strPrintFormatter.ItemLabeledText(objOrderedItems.Quantity.ToString() + " " + printUtility.MultipleLine(objOrderedItems.ItemName.ToString(), paperSize - 10, objOrderedItems.Price.ToString("F02"), paperSize - 5), ""); } } serialBody += "\r\n" + strPrintFormatter.CreateDashedLine(); #endregion } } #endregion #region "Online orders" else { m_itemCost = 0.0; serialBody += "\r\n-----------------------------"; for (int rowIndex = 0; rowIndex < m_dtItemList.Rows.Count; rowIndex++) { DataRow tempRow = m_dtItemList.Rows[rowIndex]; serialBody += "\r\n" + strPrintFormatter.ItemLabeledText(Convert.ToInt32("0" + tempRow["Qty"]).ToString() + " " + tempRow["Item"].ToString(), Convert.ToDouble("0" + tempRow["Price"]).ToString("F02")); m_itemCost += Convert.ToDouble("0" + tempRow["Price"].ToString()); //New for item cost of the bar service } serialBody += "\r\n" + strPrintFormatter.CreateDashedLine(); } #endregion Double discountAmount = Double.Parse(g_DiscountLabel.Text.Substring(Program.currency.Length)); Double searviceChargeAmount = Double.Parse(g_ServiceChargeLabel.Text.Substring(Program.currency.Length)); Double billTotal = ((searviceChargeAmount) + m_dTotalAmount); //serialBody += "\r\n Order Total: " + CPrintMethods.RightAlign(billTotal.ToString("F02"), 6); serialBody += "\r\n" + strPrintFormatter.CreateDashedLine(); serialBody += "\r\n" + strPrintFormatter.SumupLabeledText("Order Amount: ", m_itemCost.ToString("F02")); //New at 03.03.2009 serialBody += "\r\n" + strPrintFormatter.CreateDashedLine(); if (discountAmount > 0) { Double totalAmount = m_dTotalAmount; Double discountPercent = 100 * discountAmount / (m_itemCost); serialBody += "\r\n" + strPrintFormatter.SumupLabeledText("Discount(" + discountPercent.ToString("F02") + "%): ", Convert.ToDouble(g_DiscountLabel.Text.Substring(Program.currency.Length)).ToString("F02")); } double itemiscount = 0; COrderManager temmpOrderManager = new COrderManager(); COrderDiscount tempOrderDiscount = new COrderDiscount(); CResult oResult = temmpOrderManager.OrderDiscountGetByOrderID(m_iOrderID); if (oResult.IsSuccess && oResult.Data != null) { tempOrderDiscount = (COrderDiscount) oResult.Data; itemiscount = tempOrderDiscount.TotalItemDiscount; } if (itemiscount > 0) { //Discount is based on the total item cost //tempSerialPrintContent.StringLine = " Discount:(" + discountPercent.ToString("F02") + "%) " +Convert.ToDecimal(g_DiscountLabel.Text).ToString("F02"); serialBody += "\r\n" + strPrintFormatter.SumupLabeledText(" Item Discount: ", itemiscount.ToString("F02")); } serialBody += "\r\n" + strPrintFormatter.SumupLabeledText("Membership Discount: ", membershipdiscount.ToString("F02")); #region "Voucher" if (!g_VoucherLabel.Text.Substring(Program.currency.Length).Equals("0.00")) { serialBody += "\r\n" + strPrintFormatter.SumupLabeledText("Voucher Discount:", g_VoucherLabel.Text.Substring(Program.currency.Length)); } #endregion if ((m_serviceCharge_accounts + m_serviceCharge_cash + m_serviceCharge_cheque + m_serviceCharge_eft + m_serviceCharge_voucher) > 0) //If service charge is assigned { CResult cResult = tempOrderManager.OrderServiceChargeGetByOrderID(m_iOrderID); ServiceCharge serviceCharge = cResult.Data as ServiceCharge; double subtotalserviceCharg = m_serviceCharge_accounts + m_serviceCharge_cash + m_serviceCharge_cheque + m_serviceCharge_eft + m_serviceCharge_voucher-tipsamount; serialBody += "\r\n" + strPrintFormatter.SumupLabeledText("Service Charge(" + serviceCharge.ServicechargeRate.ToString("F02") + "%): ", (subtotalserviceCharg).ToString("F02"));// + CPrintMethods.RightAlign(Convert.ToDouble("0" + g_ServiceChargeLabel.Text.Substring(Program.currency.Length)).ToString("F02"), 6); // Change by Mithu } serialBody += "\r\n" + strPrintFormatter.SumupLabeledText("Tips Amount: ", tipsamount.ToString("F02")); double pvat = (billTotal * (vat / 100)) / (1 + (vat / 100)); if (isVatEnabled) //If service charge is assigned { // serialBody += "\r\n" + strPrintFormatter.SumupLabeledText("Vat(" + vat + "%): ", pvat.ToString("F02")); serialBody += "\r\n" + strPrintFormatter.SumupLabeledText("Vat Total(15%): ", Convert.ToDouble("0" + lblVat.Text.Substring(Program.currency.Length)).ToString("F02")); // Change by Mithu } serialBody += "\r\n" + strPrintFormatter.CreateDashedLine(); double totalAmountForAddvance = 0; if ((m_serviceCharge_accounts + m_serviceCharge_cash + m_serviceCharge_cheque + m_serviceCharge_eft + m_serviceCharge_voucher) > 0) { totalAmountForAddvance = (m_dTotalAmount + (m_serviceCharge_accounts + m_serviceCharge_cash + m_serviceCharge_cheque + m_serviceCharge_eft + m_serviceCharge_voucher)); serialBody += "\r\n" + strPrintFormatter.SumupLabeledText("Total: ", (m_dTotalAmount + (m_serviceCharge_accounts + m_serviceCharge_cash + m_serviceCharge_cheque + m_serviceCharge_eft + m_serviceCharge_voucher)).ToString("F02")); } else { totalAmountForAddvance = m_dTotalAmount; serialBody += "\r\n" + strPrintFormatter.SumupLabeledText("Total:", m_dTotalAmount.ToString("F02")); } serialBody += "\r\n" + strPrintFormatter.CreateDashedLine(); serialBody += "\r\nPayment:"; if (!g_InputTextBox.Text.Substring(Program.currency.Length).Equals("0.00")) { if (complementorylabel.Text.Substring(Program.currency.Length).Equals("0.00")) { serialBody += "\r\nReceived :" + "0.00"; } else serialBody += "\r\nReceived :" + g_InputTextBox.Text.Substring(Program.currency.Length); } if (!g_CashLabel.Text.Substring(Program.currency.Length).Equals("0.00")) { serialBody += "\r\nCash:" + g_CashLabel.Text.Substring(Program.currency.Length); } if (!g_EFTLabel.Text.Substring(Program.currency.Length).Equals("0.00")) { serialBody += "\r\nCard - " + EFTOptionForm.seletedEFTCard.CardName + " :" + g_EFTLabel.Text.Substring(Program.currency.Length); } if (!g_ChequeLabel.Text.Substring(Program.currency.Length).Equals("0.00")) { serialBody += "\r\nDue:" + g_ChequeLabel.Text.Substring(Program.currency.Length); } if (!g_VoucherLabel.Text.Substring(Program.currency.Length).Equals("0.00")) { serialBody += "\r\nVoucher:" + g_VoucherLabel.Text.Substring(Program.currency.Length); } if (!g_AccountLabel.Text.Substring(Program.currency.Length).Equals("0.00")) { serialBody += "\r\nAccounts:" + g_AccountLabel.Text.Substring(Program.currency.Length); } if (!complementorylabel.Text.Substring(Program.currency.Length).Equals("0.00")) { serialBody += "\r\nComplementory:" + complementorylabel.Text.Substring(Program.currency.Length); } if (m_isAddServiceCharge == false) { if (Convert.ToDouble("0" + g_BalaceLabel.Text.Substring(9 + Program.currency.Length)) > 0) { serialBody += "\r\nPay Back: " + g_BalaceLabel.Text.Substring(9 + Program.currency.Length) + "\n"; } } if(addvancecAmountCheckBox.Checked) { serialBody += "\r\n" + strPrintFormatter.CenterTextWithDashed("Addvance Payment Information"); serialBody += "\r\nAddvance Amount:" +(Convert.ToDouble("0"+advanceAmountTextBox.Text.Trim())); serialBody += "\r\nPaid Amount:" + (totalAmountForAddvance-(Convert.ToDouble("0" + advanceAmountTextBox.Text.Trim()))); } serialBody += "\r\n" + strPrintFormatter.CreateDashedLine(); // serialBody += "\r\nS/N: " + tempOrderInfo.SerialNo.ToString(); if (Program.vatRegDes != "") { serialBody += "\r\nVat Reg. No: " + Program.vatRegDes; // Change by Mithu } // serialBody += "\r\n\r\nDeveloped By: www.ibacs.co.uk"; serialBody += "\r\n" + strPrintFormatter.CreateDashedLine(); if(complementoryMessage!=null && complementoryMessage.Length!=0) { serialBody += "\r\n" + strPrintFormatter.CenterTextWithDashed("Complementory Message"); serialBody += "\r\n" + GetMessageFitOnPaper(complementoryMessage); serialBody += "\r\n" + strPrintFormatter.CreateDashedLine(); } if (dueMessage!=null && dueMessage.Length != 0) { serialBody += "\r\n" + strPrintFormatter.CenterTextWithDashed("Due Message"); serialBody += "\r\n" + GetMessageFitOnPaper(dueMessage); serialBody += "\r\n" + strPrintFormatter.CreateDashedLine(); } this.WriteString(serialBody); gusetBillStr = serialBody; //tempPrintMethods.SerialPrint(PRINTER_TYPES.NORMAL_PRINTER, serialHeader, serialBody, serialFooter, tempOrderInfo.SerialNo.ToString()); tempPrintMethods.USBPrint(serialBody, PrintDestiNation.CLIENT, true); } }
/***************************Print Guest Bill*********************/ private void g_PrintGuestBillButton_Click(object sender, EventArgs e) { bool isPrintA5GuestBill = false; if (isPrintA5GuestBill) { PrintA5GuestBillReport(1); } else { StringPrintFormater strPrintFormatter = new StringPrintFormater(37); int printsize = 37; Hashtable htOrderedItems = new Hashtable(); SortedList slOrderedItems = null; string cat1ID = String.Empty; try { CPrintMethodsEXT tempPrintMethods = new CPrintMethodsEXT(); //string serialHeader = "IBACS RMS"; string serialHeader = ""; //string serialFooter = "Please Come Again"; string serialFooter = ""; string serialBody = ""; //serialBody += "\r\n Guest Bill"; serialBody += strPrintFormatter.CenterTextWithWhiteSpace("Bill Payment"); COrderManager tempOrderManager = new COrderManager(); COrderInfo tempOrderInfo = (COrderInfo)tempOrderManager.OrderInfoByOrderID(m_iOrderID).Data; if (m_sTableType.Equals("Table")) { serialBody += "\r\n\nTable Number:" + tempOrderInfo.TableNumber.ToString(); serialBody += "\r\n\nCovers:" + tempOrderInfo.GuestCount.ToString(); serialBody += "\r\nDate: " + System.DateTime.Now.ToString("dd/MM/yy hh:mm tt"); COrderWaiterDao orderWaiterDao = new COrderWaiterDao(); COrderwaiter orderWaiter = orderWaiterDao.GetOrderwaiterByOrderID(m_iOrderID); if (orderWaiter != null && orderWaiter.WaiterID > 0) { serialBody += "\r\nWaiter Name: " + orderWaiter.WaiterName + "\r\n"; } } else if (m_sTableType.Equals("TakeAway")) { serialBody += "\r\n\nTake Away" + " Date: " + System.DateTime.Now.ToString("dd/MM/yy"); CCustomerManager tempCustomerManager = new CCustomerManager(); CCustomerInfo tempCustomerInfo = (CCustomerInfo)tempCustomerManager.CustomerInfoGetByCustomerID(tempOrderInfo.CustomerID).Data; COrderWaiterDao orderWaiterDao = new COrderWaiterDao(); COrderwaiter orderWaiter = orderWaiterDao.GetOrderwaiterByOrderID(m_iOrderID); if (orderWaiter != null && orderWaiter.WaiterID > 0) { serialBody += "\r\nWaiter Name: " + orderWaiter.WaiterName + "\r\n"; } if (tempCustomerInfo.CustomerName.Length > 0) { serialBody += "\r\nCustomer Name: " + tempCustomerInfo.CustomerName; } if (tempCustomerInfo.CustomerPhone.Length > 0) { serialBody += "\r\nPhone:" + tempCustomerInfo.CustomerPhone; } serialBody += "\r\nType: " + tempOrderInfo.Status; if (tempOrderInfo.Status.Equals("Delivery")) { serialBody += "\r\nAddress:"; //serialBody += "\r\n----------------------------------------"; serialBody += "\r\n" + strPrintFormatter.CreateDashedLine(); if (tempCustomerInfo.FloorAptNumber.Length > 0) { serialBody += "\r\nFloor or Apartment:" + tempCustomerInfo.FloorAptNumber; } if (tempCustomerInfo.BuildingName.Length > 0) { serialBody += "\r\nBuilding Name:" + tempCustomerInfo.BuildingName; } if (tempCustomerInfo.HouseNumber.Length > 0) { serialBody += "\r\nHouse Number:" + tempCustomerInfo.HouseNumber; } string[] street = new string[0]; street = tempCustomerInfo.StreetName.Split('-'); if (street.Length > 1) { if (street[0].ToString().Length > 0) { serialBody += "\r\nStreet:" + street[0].ToString(); } if (street[1].ToString().Length > 0) { serialBody += "\r\n" + street[1].ToString(); } } else if (street.Length > 0 && street.Length < 2) { if (street[0].ToString().Length > 0) { serialBody += "\r\nStreet:" + street[0].ToString(); } } if (tempCustomerInfo.CustomerPostalCode.Length > 0) { serialBody += "\r\nPostal Code:" + tempCustomerInfo.CustomerPostalCode; } if (tempCustomerInfo.CustomerTown.Length > 0) { serialBody += "\r\nTown:" + tempCustomerInfo.CustomerTown; } //serialBody += "\r\n----------------------------------------"; serialBody += "\r\n" + strPrintFormatter.CreateDashedLine(); CDelivery objDelivery = new CDelivery(); objDelivery.DeliveryOrderID = m_iOrderID; CResult objDeliveryInfo = tempOrderManager.GetDeliveryInfo(objDelivery); objDelivery = (CDelivery)objDeliveryInfo.Data; serialBody += "\r\nDelivery Time:" + objDelivery.DeliveryTime; } } else if (m_sTableType.Equals("Tabs")) { serialBody += "\r\n\nBar Service" + " Date: " + System.DateTime.Now.ToString("dd/MM/yy"); if (tempOrderInfo.TableNumber != 0) { serialBody += "\r\nTab Number: " + tempOrderInfo.TableNumber.ToString(); serialBody += "\r\nGuest Number: " + tempOrderInfo.GuestCount.ToString(); } } serialBody += "\r\n\nOrder Information"; serialBody += "\r\n" + strPrintFormatter.CreateDashedLine(); serialBody += "\r\n" + strPrintFormatter.ItemLabeledText("Qty Item", "Price(" + Program.currency + ")"); #region "Local Orders" if (m_orderUserName.Replace(" ", "").ToUpper() != "Web User".Replace(" ", "").ToUpper()) { string cat2ID = ""; string cat3ID = ""; Int32 internalCategoryID = 0; Int32 categoryID = 0; m_itemCost = 0.0; string categoryOrder = String.Empty; for (int rowIndex = 0; rowIndex < m_dtItemList.Rows.Count; rowIndex++) { #region "Parent Category" DataRow tempRow = m_dtItemList.Rows[rowIndex]; categoryOrder = String.Empty; if (Convert.ToInt32("0" + tempRow["Catlevel"].ToString()) == 3)//Item from Category 3 { internalCategoryID = Convert.ToInt32("0" + tempRow["Catid"].ToString()); DataRow[] dtRow = dsCategory3.Tables[0].Select("cat3_id = " + internalCategoryID); if (dtRow.Length > 0) { cat2ID = dtRow[0]["cat2_id"].ToString(); DataRow[] dtRowCat2 = dsCategory2.Tables[0].Select("cat2_id = " + cat2ID);//new cat1ID = dtRowCat2[0]["cat1_id"].ToString(); } } else if (Convert.ToInt32("0" + tempRow["Catlevel"].ToString()) == 0) //If miscellenious items are added { cat1ID = "0"; cat2ID = "0"; } else { internalCategoryID = Convert.ToInt32("0" + tempRow["Catid"].ToString()); DataRow[] dtRow = dsCategory4.Tables[0].Select("cat4_id = " + internalCategoryID); if (dtRow.Length > 0) { cat3ID = dtRow[0]["cat3_id"].ToString(); if (cat3ID != "" || cat3ID != null) { dtRow = dsCategory3.Tables[0].Select("cat3_id = " + cat3ID); } else { dtRow = null; } } if (dtRow.Length > 0) { cat2ID = dtRow[0]["cat2_id"].ToString(); DataRow[] dtRowCat2 = dsCategory2.Tables[0].Select("cat2_id = " + cat2ID);//new cat1ID = dtRowCat2[0]["cat1_id"].ToString(); } } #endregion clsOrderReport objOrderedReport = new clsOrderReport(); objOrderedReport.Quantity = Convert.ToInt32("0" + tempRow["Qty"].ToString()); objOrderedReport.ItemName = tempRow["Item"].ToString(); objOrderedReport.Price = Convert.ToDouble("0" + tempRow["Price"].ToString()); int drinkValue = Convert.ToInt32("0" + tempRow["isdrink"].ToString()); if (drinkValue > 0) { objOrderedReport.DrinkStatus = true; } else { objOrderedReport.DrinkStatus = false; } Int64 rankNumber = Int64.Parse(tempRow["rank"].ToString()); Int32 category1OrderNumber = this.GetCategory1OrderNumber(Convert.ToInt32(cat1ID)); htOrderedItems.Add(category1OrderNumber + "-" + rankNumber + "-" + objOrderedReport.ItemName, objOrderedReport); m_itemCost += Convert.ToDouble("0" + tempRow["Price"].ToString()); } NumericComparer nc = new NumericComparer(); slOrderedItems = new SortedList(htOrderedItems, nc); int keyIndex = 0; string[] valueSplitter = new string[0]; SortedList slDrinkItems = new SortedList(); SortedList slMiscellaneousItems = new SortedList(); PrintUtility printUtility = new PrintUtility(); foreach (clsOrderReport objOrderedItems in slOrderedItems.Values) { string keyValue = slOrderedItems.GetKey(keyIndex).ToString(); valueSplitter = keyValue.Split('-'); if (objOrderedItems.DrinkStatus == true) //To make all drink items consecutively { slDrinkItems.Add(slDrinkItems.Count, objOrderedItems); } else if ((categoryID != Convert.ToInt32("0" + valueSplitter[0].ToString())) && (Convert.ToInt32("0" + valueSplitter[0].ToString()) != 0)) //All the items except drinks. { categoryID = Convert.ToInt32("0" + valueSplitter[0].ToString()); serialBody += "\r\n" + strPrintFormatter.CreateDashedLine() + "\r\n"; //Add the separator. serialBody += strPrintFormatter.ItemLabeledText(objOrderedItems.Quantity.ToString() + " " + printUtility.MultipleLine(objOrderedItems.ItemName.ToString(), printsize - 7, objOrderedItems.Price.ToString("F02"), printsize - 3), ""); } else if (valueSplitter[0].ToString() == "0") { slMiscellaneousItems.Add(slMiscellaneousItems.Count, objOrderedItems);//add miscellaneous items in the collection } else { serialBody += strPrintFormatter.ItemLabeledText(objOrderedItems.Quantity.ToString() + " " + printUtility.MultipleLine(objOrderedItems.ItemName.ToString(), printsize - 10, objOrderedItems.Price.ToString("F02"), printsize - 5), ""); } keyIndex++; } //Add miscellaneous items only if (slMiscellaneousItems.Count > 0) { //serialBody += "\r\n--------------Miscellaneous-------------"; //Add the separator. serialBody += "\r\n" + strPrintFormatter.CenterTextWithDashed("Miscellaneous"); serialBody += "\r\n" + strPrintFormatter.CreateDashedLine() + "\r\n"; foreach (clsOrderReport objOrderedItems in slMiscellaneousItems.Values) { /* serialBody += "\r\n" + objOrderedItems.Quantity.ToString() + " "; serialBody += CPrintMethods.GetFixedString(objOrderedItems.ItemName.ToString(), 23); serialBody += CPrintMethods.RightAlign(objOrderedItems.Price.ToString("F02"), 6);*/ serialBody += strPrintFormatter.ItemLabeledText(objOrderedItems.Quantity.ToString() + " " + printUtility.MultipleLine(objOrderedItems.ItemName.ToString(), printsize - 10, objOrderedItems.Price.ToString("F02"), printsize - 5), ""); } } //Add drinks only if (slDrinkItems.Count > 0) { // serialBody += "\r\n-----------------Drinks-----------------"; //Add the separator. serialBody += "\r\n" + strPrintFormatter.CenterTextWithDashed("Drinks") + "\r\n"; foreach (clsOrderReport objOrderedItems in slDrinkItems.Values) { /*serialBody += "\r\n" + objOrderedItems.Quantity.ToString() + " "; serialBody += CPrintMethods.GetFixedString(objOrderedItems.ItemName.ToString(), 23); serialBody += CPrintMethods.RightAlign(objOrderedItems.Price.ToString("F02"), 6);*/ serialBody += strPrintFormatter.ItemLabeledText(objOrderedItems.Quantity.ToString() + " " + printUtility.MultipleLine(objOrderedItems.ItemName.ToString(), printsize - 10, objOrderedItems.Price.ToString("F02"), printsize - 5), ""); } } //serialBody += "\r\n----------------------------------------"; serialBody += "\r\n" + strPrintFormatter.CreateDashedLine(); Double discountAmount = Convert.ToDouble(Double.Parse(g_DiscountLabel.Text.Substring(Program.currency.Length)).ToString("F02")); //Double billTotal = (discountAmount + m_dTotalAmount); //serialBody += "\r\n Order Total: " + CPrintMethods.RightAlign(billTotal.ToString("F02"), 6); //serialBody += "\r\n Order Total: " + CPrintMethods.RightAlign(m_itemCost.ToString("F02"), 6);//Item cost of the ordered products serialBody += "\r\n" + strPrintFormatter.SumupLabeledText("Order Total: ", m_itemCost.ToString("F02")); //if (discountAmount > 0) //{ // Double totalAmount = m_dTotalAmount; // Double discountPercent = 100 * discountAmount / (discountAmount + totalAmount); // serialBody += "\r\n Discount:(" + discountPercent.ToString("F02") + "%) " + CPrintMethods.RightAlign(g_DiscountLabel.Text.Substring(Program.currency.Length), 6); //} if (discountAmount > 0) { Double totalAmount = m_dTotalAmount; Double discountPercent = 100 * discountAmount / (m_itemCost); //Discount percentage of the selected products // serialBody += "\r\n Discount:(" + discountPercent.ToString("F02") + "%) " + CPrintMethods.RightAlign(Convert.ToDouble(g_DiscountLabel.Text.Substring(Program.currency.Length)).ToString("F02"), 6); serialBody += "\r\n" + strPrintFormatter.SumupLabeledText("Discount:(" + discountPercent.ToString("F02") + "%) ", Convert.ToDouble(g_DiscountLabel.Text.Substring(Program.currency.Length)).ToString("F02")); } if (Convert.ToDouble("0" + g_ServiceChargeLabel.Text.Substring(Program.currency.Length)) > 0) //If service charge is assigned { string tempstring = Convert.ToDouble("0" + g_ServiceChargeLabel.Text.Substring(Program.currency.Length)).ToString("F02"); serialBody += "\r\n" + strPrintFormatter.SumupLabeledText("Service Charge: ", tempstring); } //double payableAmount = Convert.ToDouble(Convert.ToDouble("0" + g_ServiceChargeLabel.Text.Substring(Program.currency.Length)).ToString("F02")) + m_dTotalAmount; double payableAmount = Convert.ToDouble(Convert.ToDouble("0" + g_ServiceChargeLabel.Text.Substring(Program.currency.Length)).ToString("F02")) + (m_itemCost - discountAmount); //double pvat = (payableAmount * (vat / 100)); payableAmount = payableAmount + Convert.ToDouble("0" + lblVat.Text.Substring(Program.currency.Length)); if (isVatEnabled) //If service charge is assigned { //serialBody += "\r\n Vat("+vat.ToString()+"%): " + CPrintMethods.RightAlign(pvat.ToString("F02"), 6); // serialBody += "\r\n" + strPrintFormatter.SumupLabeledText("Vat(" + vat + "%): ", pvat.ToString("F02")); serialBody += "\r\n" + strPrintFormatter.SumupLabeledText("Vat(" + vat + "%): ", Convert.ToDouble("0" + lblVat.Text.Substring(Program.currency.Length)).ToString("F02")); } serialBody += "\r\n" + strPrintFormatter.CreateDashedLine(); //serialBody += "\r\n Total Payable: " + CPrintMethods.RightAlign(payableAmount.ToString("F02"), 6); serialBody += "\r\n" + strPrintFormatter.SumupLabeledText("Total Payable: ", payableAmount.ToString("F02")); //if (Convert.ToDouble("0" + g_ServiceChargeLabel.Text.Substring(Program.currency.Length)) == 0) //If service charge is not assigned //{ // //serialBody += "\r\n Tips/Service Charge: ______"; // serialBody += "\r\n" + strPrintFormatter.SumupLabeledText("Service Charge:", " ______"); //} //serialBody += "\r\n----------------------------------------"; serialBody += "\r\n" + strPrintFormatter.CreateDashedLine(); if (m_bEqualSplit) { serialBody += "\r\n" + g_SplitAmountLabel.Text; } serialBody += "\r\nYou've Served by:" + m_OperatorName; serialBody += "\r\n" + m_TerminalName.Trim(); serialBody += "\r\nS/N: " + tempOrderInfo.SerialNo.ToString() + "\n"; serialBody += strPrintFormatter.CreateDashedLine(); // serialBody += "\r\nDeveloped By: www.ibacs.co.uk"; this.WriteString(serialBody); //tempPrintMethods.SerialPrint(PRINTER_TYPES.NORMAL_PRINTER, serialHeader, serialBody, serialFooter, tempOrderInfo.SerialNo.ToString()); tempPrintMethods.USBPrint(serialBody, PrintDestiNation.CLIENT, true); ///Update status /// if (tempOrderInfo.OrderType.Equals("Table")) { tempOrderInfo.Status = "Billed"; tempOrderInfo.OrderTime = System.DateTime.Now; tempOrderManager.UpdateOrderInfo(tempOrderInfo); CPaymentManager tempPaymentManager = new CPaymentManager(); CPayment tempPayment = new CPayment(); tempPayment.OrderID = tempOrderInfo.OrderID; tempPayment.BillPrintTime = DateTime.Now; tempPaymentManager.InsertBillPrintTime(tempPayment); } // tempPrintMethods.SerialPrint(PRINTER_TYPES.NORMAL_PRINTER, serialHeader, serialBody, serialFooter, tempOrderInfo.SerialNo.ToString()); if (m_bEqualSplit) { tempPrintMethods.SerialPrint(PRINTER_TYPES.NORMAL_PRINTER, serialHeader, serialBody, serialFooter, tempOrderInfo.SerialNo.ToString()); } } #endregion #region "Online orders" else //For online order information .Added by Baruri { serialBody += "\r\n----------------------------------------"; for (int rowIndex = 0; rowIndex < m_dtItemList.Rows.Count; rowIndex++) { DataRow tempRow = m_dtItemList.Rows[rowIndex]; serialBody += "\r\n" + Convert.ToInt32("0" + tempRow["Qty"]).ToString() + " "; serialBody += CPrintMethods.GetFixedString(tempRow["Item"].ToString(), 23); serialBody += CPrintMethods.RightAlign(Convert.ToDouble("0" + tempRow["Price"]).ToString("F02"), 6); } serialBody += "\r\n----------------------------------------"; Double discountAmount = Convert.ToDouble(Double.Parse(g_DiscountLabel.Text.Substring(Program.currency.Length)).ToString("F02")); Double billTotal = (discountAmount + m_dTotalAmount); serialBody += "\r\n Order Total: " + CPrintMethods.RightAlign(billTotal.ToString("F02"), 6); if (discountAmount > 0) { Double totalAmount = m_dTotalAmount; Double discountPercent = 100 * discountAmount / (discountAmount + totalAmount); serialBody += "\r\n Discount:(" + discountPercent.ToString("F02") + "%) " + CPrintMethods.RightAlign(discountAmount.ToString(), 6); } if (Convert.ToDouble("0" + g_ServiceChargeLabel.Text.Substring(Program.currency.Length)) > 0) //If service charge is assigned { serialBody += "\r\n Service Charge: " + CPrintMethods.RightAlign(Convert.ToDouble("0" + g_ServiceChargeLabel.Text.Substring(Program.currency.Length)).ToString("F02"), 6); } double payableAmount = Convert.ToDouble(Convert.ToDouble("0" + g_ServiceChargeLabel.Text.Substring(Program.currency.Length)).ToString("F02")) + (m_itemCost - discountAmount); double pvat = (payableAmount * (vat / 100)) / (1 + (vat / 100)); if (isVatEnabled) //If service charge is assigned { serialBody += "\r\n Vat: " + CPrintMethods.RightAlign(pvat.ToString("F02"), 6); } serialBody += "\r\n Total Payable: " + CPrintMethods.RightAlign(payableAmount.ToString("F02"), 6); if (Convert.ToDouble("0" + g_ServiceChargeLabel.Text.Substring(Program.currency.Length)) == 0) //If service charge is assigned { serialBody += "\r\n Service Charge: ______"; } serialBody += "\r\n----------------------------------------"; if (m_bEqualSplit) { serialBody += "\r\n" + g_SplitAmountLabel.Text; } serialBody += "\r\nYou've Served by:" + m_OperatorName; serialBody += "\r\n" + m_TerminalName.Trim(); serialBody += "\r\n S/N: " + tempOrderInfo.SerialNo.ToString(); serialBody += "\r\nDeveloped By: www.ibacs.co.uk"; this.WriteString(serialBody); tempPrintMethods.SerialPrint(PRINTER_TYPES.NORMAL_PRINTER, serialHeader, serialBody, serialFooter, tempOrderInfo.SerialNo.ToString()); } #endregion } catch (Exception exp) { throw exp; } } }
private void PrintA5GuestBillReport(int printType) { int papersize = 70; StringPrintFormater strPrintFormatter = new StringPrintFormater(70); Hashtable htOrderedItems = new Hashtable(); SortedList slOrderedItems = null; string cat1ID = String.Empty; try { CPrintMethodsEXT tempPrintMethods = new CPrintMethodsEXT(); //CPrintMethods tempPrintMethods = new CPrintMethods(); int categoryID = 0; //serial print //string serialHeader = "IBACS RMS"; string serialHeader = ""; //string serialFooter = "Please Come Again"; string serialFooter = ""; List<CSerialPrintContent> serialBody = new List<CSerialPrintContent>(); CSerialPrintContent tempSerialPrintContent; if (printType == 2) { tempSerialPrintContent = new CSerialPrintContent(); tempSerialPrintContent.StringLine = "\r\n" + strPrintFormatter.CenterTextWithWhiteSpace("BILL PAYMENT") + "\r\n"; tempSerialPrintContent.Bold = true; serialBody.Add(tempSerialPrintContent); } else { tempSerialPrintContent = new CSerialPrintContent(); tempSerialPrintContent.StringLine = "\r\n" + strPrintFormatter.CenterTextWithWhiteSpace("GUEST BILL") + "\r\n" ; tempSerialPrintContent.Bold = true; serialBody.Add(tempSerialPrintContent); } COrderManager tempOrderManager = new COrderManager(); COrderInfo tempOrderInfo = (COrderInfo)tempOrderManager.OrderInfoByOrderID(m_iOrderID).Data; //string s=tempOrderInfo. if (m_sTableType.Equals("Table")) { if (printType == 1) { //Order ID line remove from report for requisting user // Sajib Vai gathered user requirement //Date : 13-02-2012 //tempSerialPrintContent = new CSerialPrintContent(); //tempSerialPrintContent.StringLine = "\r\n\nOrder ID:" + m_iOrderID.ToString(); //serialBody.Add(tempSerialPrintContent); } //tempSerialPrintContent = new CSerialPrintContent(); //tempSerialPrintContent.StringLine = "\r\n\nTable Number:" + tempOrderInfo.TableNumber.ToString(); //serialBody.Add(tempSerialPrintContent); tempSerialPrintContent = new CSerialPrintContent(); tempSerialPrintContent.StringLine = "\r\nPrint Date: " + System.DateTime.Now.ToString("dd/MM/yy hh:mm tt"); serialBody.Add(tempSerialPrintContent); tempSerialPrintContent = new CSerialPrintContent(); tempSerialPrintContent.StringLine = "\r\n" + strPrintFormatter.ItemLabeledText("Table No: " + tempOrderInfo.TableNumber.ToString(), "") ; tempSerialPrintContent.Bold = true; serialBody.Add(tempSerialPrintContent); tempSerialPrintContent = new CSerialPrintContent(); tempSerialPrintContent.StringLine = "\r\n" + strPrintFormatter.ItemLabeledText("Guest No: " + tempOrderInfo.GuestCount.ToString(),"") + "\r\n"; tempSerialPrintContent.Bold = true; serialBody.Add(tempSerialPrintContent); //tempSerialPrintContent = new CSerialPrintContent(); //tempSerialPrintContent.StringLine = "Covers: " + tempOrderInfo.GuestCount.ToString() + "\r\n"; //tempSerialPrintContent.Bold = true; //serialBody.Add(tempSerialPrintContent); COrderWaiterDao orderWaiterDao = new COrderWaiterDao(); COrderwaiter orderWaiter = orderWaiterDao.GetOrderwaiterByOrderID(m_iOrderID); if (orderWaiter != null && orderWaiter.WaiterID > 0) { tempSerialPrintContent = new CSerialPrintContent(); tempSerialPrintContent.StringLine = "Waiter Name: " + orderWaiter.WaiterName + "\r\n"; //tempSerialPrintContent.Bold = true; serialBody.Add(tempSerialPrintContent); } } else if (m_sTableType.Equals("TakeAway")) { tempSerialPrintContent = new CSerialPrintContent(); tempSerialPrintContent.StringLine = "\r\nOrder Date: " + tempOrderInfo.OrderTime.ToString("dd/MM/yy hh:mm tt"); serialBody.Add(tempSerialPrintContent); tempSerialPrintContent = new CSerialPrintContent(); tempSerialPrintContent.StringLine = "\r\nPrint Date: " + System.DateTime.Now.ToString("dd/MM/yy hh:mm tt"); serialBody.Add(tempSerialPrintContent); tempSerialPrintContent = new CSerialPrintContent(); tempSerialPrintContent.StringLine = "Type: " + tempOrderInfo.Status; serialBody.Add(tempSerialPrintContent); CCustomerManager tempCustomerManager = new CCustomerManager(); CCustomerInfo tempCustomerInfo = (CCustomerInfo)tempCustomerManager.CustomerInfoGetByCustomerID(tempOrderInfo.CustomerID).Data; if (tempCustomerInfo.CustomerName.Length > 0) { tempSerialPrintContent = new CSerialPrintContent(); tempSerialPrintContent.StringLine = "\r\nCustomer Name: " + tempCustomerInfo.CustomerName; serialBody.Add(tempSerialPrintContent); } if (tempCustomerInfo.CustomerPhone.Length > 0) { tempSerialPrintContent = new CSerialPrintContent(); tempSerialPrintContent.StringLine = "\r\nPhone:" + tempCustomerInfo.CustomerPhone; serialBody.Add(tempSerialPrintContent); } if (tempOrderInfo.Status.Equals("Delivery")) { tempSerialPrintContent = new CSerialPrintContent(); tempSerialPrintContent.StringLine = "\r\nAddress:"; serialBody.Add(tempSerialPrintContent); tempSerialPrintContent = new CSerialPrintContent(); tempSerialPrintContent.StringLine = "\r\n" + strPrintFormatter.CreateDashedLine(); serialBody.Add(tempSerialPrintContent); if (tempCustomerInfo.FloorAptNumber.Length > 0) { tempSerialPrintContent = new CSerialPrintContent(); tempSerialPrintContent.StringLine = "Floor or Apartment:" + tempCustomerInfo.FloorAptNumber; serialBody.Add(tempSerialPrintContent); } if (tempCustomerInfo.BuildingName.Length > 0) { tempSerialPrintContent = new CSerialPrintContent(); tempSerialPrintContent.StringLine = "Building Name:" + tempCustomerInfo.BuildingName; serialBody.Add(tempSerialPrintContent); } if (tempCustomerInfo.HouseNumber.Length > 0) { tempSerialPrintContent = new CSerialPrintContent(); tempSerialPrintContent.StringLine = "House Number:" + tempCustomerInfo.HouseNumber; serialBody.Add(tempSerialPrintContent); } string[] street = new string[0]; street = tempCustomerInfo.StreetName.Split('-'); if (street.Length > 1) { if (street[0].ToString().Length > 0) { tempSerialPrintContent = new CSerialPrintContent(); tempSerialPrintContent.StringLine = "Street:" + street[0].ToString(); serialBody.Add(tempSerialPrintContent); } if (street[1].ToString().Length > 0) { tempSerialPrintContent = new CSerialPrintContent(); tempSerialPrintContent.StringLine = street[1].ToString(); serialBody.Add(tempSerialPrintContent); } } else if (street.Length > 0 && street.Length < 2) { if (street[0].ToString().Length > 0) { tempSerialPrintContent = new CSerialPrintContent(); tempSerialPrintContent.StringLine = "Street:" + street[0].ToString(); serialBody.Add(tempSerialPrintContent); } } if (tempCustomerInfo.CustomerPostalCode.Length > 0) { tempSerialPrintContent = new CSerialPrintContent(); tempSerialPrintContent.StringLine = "Postal Code:" + tempCustomerInfo.CustomerPostalCode; serialBody.Add(tempSerialPrintContent); } if (tempCustomerInfo.CustomerTown.Length > 0) { tempSerialPrintContent = new CSerialPrintContent(); tempSerialPrintContent.StringLine = "Town:" + tempCustomerInfo.CustomerTown; serialBody.Add(tempSerialPrintContent); } //tempSerialPrintContent = new CSerialPrintContent(); //tempSerialPrintContent.StringLine = "Country:" + tempCustomerInfo.CustomerCountry; //serialBody.Add(tempSerialPrintContent); tempSerialPrintContent = new CSerialPrintContent(); // tempSerialPrintContent.StringLine = "\r\n" + strPrintFormatter.CreateDashedLine(); serialBody.Add(tempSerialPrintContent); CDelivery objDelivery = new CDelivery(); objDelivery.DeliveryOrderID = m_iOrderID; CResult objDeliveryInfo = tempOrderManager.GetDeliveryInfo(objDelivery); objDelivery = (CDelivery)objDeliveryInfo.Data; if (objDelivery != null) { tempSerialPrintContent = new CSerialPrintContent(); tempSerialPrintContent.StringLine = "\r\nDelivery Time:" + objDelivery.DeliveryTime; serialBody.Add(tempSerialPrintContent); } } } tempSerialPrintContent = new CSerialPrintContent(); tempSerialPrintContent.StringLine = "\r\n" + strPrintFormatter.CenterTextWithDashed("Order Information"); serialBody.Add(tempSerialPrintContent); tempSerialPrintContent = new CSerialPrintContent(); tempSerialPrintContent.StringLine = "\r\n" + strPrintFormatter.CreateDashedLine(); serialBody.Add(tempSerialPrintContent); tempSerialPrintContent = new CSerialPrintContent(); tempSerialPrintContent.StringLine = "\r\n" + strPrintFormatter.ItemLabeledText("Item", "Qnty Unit Price Price(" + Program.currency + ")"); serialBody.Add(tempSerialPrintContent); tempSerialPrintContent = new CSerialPrintContent(); // tempSerialPrintContent.StringLine = "\r\n" + strPrintFormatter.CreateDashedLine() + "\r\n"; serialBody.Add(tempSerialPrintContent); //Line after above line //tempSerialPrintContent = new CSerialPrintContent(); //tempSerialPrintContent.StringLine = "----------------------------------------"; //serialBody.Add(tempSerialPrintContent); if (m_orderUserName.Replace(" ", "").ToUpper() != "Web User".Replace(" ", "").ToUpper()) { string cat2ID = ""; string cat3ID = ""; Int32 internalCategoryID = 0; // Int32 categoryID = 0; m_itemCost = 0.0; string categoryOrder = String.Empty; for (int rowIndex = 0; rowIndex < m_dtItemList.Rows.Count; rowIndex++) { #region "Parent Category" DataRow tempRow = m_dtItemList.Rows[rowIndex]; categoryOrder = String.Empty; if (Convert.ToInt32("0" + tempRow["Catlevel"].ToString()) == 3)//Item from Category 3 { internalCategoryID = Convert.ToInt32("0" + tempRow["Catid"].ToString()); DataRow[] dtRow = dsCategory3.Tables[0].Select("cat3_id = " + internalCategoryID); if (dtRow.Length > 0) { cat2ID = dtRow[0]["cat2_id"].ToString(); DataRow[] dtRowCat2 = dsCategory2.Tables[0].Select("cat2_id = " + cat2ID);//new cat1ID = dtRowCat2[0]["cat1_id"].ToString(); } } else if (Convert.ToInt32("0" + tempRow["Catlevel"].ToString()) == 0) //If miscellenious items are added { cat1ID = "0"; cat2ID = "0"; } else { internalCategoryID = Convert.ToInt32("0" + tempRow["Catid"].ToString()); DataRow[] dtRow = dsCategory4.Tables[0].Select("cat4_id = " + internalCategoryID); if (dtRow.Length > 0) { cat3ID = dtRow[0]["cat3_id"].ToString(); if (cat3ID != "" || cat3ID != null) { dtRow = dsCategory3.Tables[0].Select("cat3_id = " + cat3ID); } else { dtRow = null; } } if (dtRow.Length > 0) { cat2ID = dtRow[0]["cat2_id"].ToString(); DataRow[] dtRowCat2 = dsCategory2.Tables[0].Select("cat2_id = " + cat2ID);//new cat1ID = dtRowCat2[0]["cat1_id"].ToString(); } } #endregion clsOrderReport objOrderedReport = new clsOrderReport(); objOrderedReport.Quantity = Convert.ToInt32("0" + tempRow["Qty"].ToString()); objOrderedReport.ItemName = tempRow["Item"].ToString(); objOrderedReport.Price = Convert.ToDouble("0" + tempRow["Price"].ToString()); int drinkValue = Convert.ToInt32("0" + tempRow["isdrink"].ToString()); if (drinkValue > 0) { objOrderedReport.DrinkStatus = true; } else { objOrderedReport.DrinkStatus = false; } Int64 rankNumber = Int64.Parse(tempRow["rank"].ToString()); objOrderedReport.ItemUnitPrice = Convert.ToDouble(tempRow["unitPrice"].ToString()); Int32 category1OrderNumber = this.GetCategory1OrderNumber(Convert.ToInt32(cat1ID)); htOrderedItems.Add(category1OrderNumber + "-" + rankNumber + "-" + objOrderedReport.ItemName, objOrderedReport); m_itemCost += Convert.ToDouble("0" + tempRow["Price"].ToString()); } NumericComparer nc = new NumericComparer(); slOrderedItems = new SortedList(htOrderedItems, nc); int keyIndex = 0; string[] valueSplitter = new string[0]; SortedList slDrinkItems = new SortedList(); SortedList slMiscellaneousItems = new SortedList(); PrintUtility printUtility = new PrintUtility(); foreach (clsOrderReport objOrderedItems in slOrderedItems.Values) { string priceString = printUtility.PupulateRightString(objOrderedItems.Quantity, objOrderedItems.ItemUnitPrice, objOrderedItems.Price); string keyValue = slOrderedItems.GetKey(keyIndex).ToString(); valueSplitter = keyValue.Split('-'); if (objOrderedItems.DrinkStatus == true) //To make all drink items consecutively { slDrinkItems.Add(slDrinkItems.Count, objOrderedItems); } else if ((categoryID != Convert.ToInt32("0" + valueSplitter[0].ToString())) && (Convert.ToInt32("0" + valueSplitter[0].ToString()) != 0)) //All the items except drinks. { categoryID = Convert.ToInt32("0" + valueSplitter[0].ToString()); tempSerialPrintContent = new CSerialPrintContent(); tempSerialPrintContent.StringLine += strPrintFormatter.ItemLabeledText( printUtility.MultipleLine(objOrderedItems.ItemName.ToString(), papersize - 32, priceString, papersize), ""); serialBody.Add(tempSerialPrintContent); } else if (valueSplitter[0].ToString() == "0") { slMiscellaneousItems.Add(slMiscellaneousItems.Count, objOrderedItems);//add miscellaneous items in the collection } else { tempSerialPrintContent = new CSerialPrintContent(); tempSerialPrintContent.StringLine += strPrintFormatter.ItemLabeledText( printUtility.MultipleLine(objOrderedItems.ItemName.ToString(), papersize - 32, priceString, papersize), ""); serialBody.Add(tempSerialPrintContent); } keyIndex++; } //Add miscellaneous items only if (slMiscellaneousItems.Count > 0) { tempSerialPrintContent = new CSerialPrintContent(); tempSerialPrintContent.StringLine = "\r\n" + strPrintFormatter.CenterTextWithDashed("Miscellaneous") + "\r\n"; serialBody.Add(tempSerialPrintContent); foreach (clsOrderReport objOrderedItems in slMiscellaneousItems.Values) { string priceString = printUtility.PupulateRightString(objOrderedItems.Quantity, objOrderedItems.ItemUnitPrice, objOrderedItems.Price); tempSerialPrintContent = new CSerialPrintContent(); tempSerialPrintContent.StringLine += strPrintFormatter.ItemLabeledText( printUtility.MultipleLine(objOrderedItems.ItemName.ToString(), papersize - 32, priceString, papersize), ""); serialBody.Add(tempSerialPrintContent); } } //Add drinks only if (slDrinkItems.Count > 0) { tempSerialPrintContent = new CSerialPrintContent(); tempSerialPrintContent.StringLine = "\r\n" + strPrintFormatter.CenterTextWithDashed("Drinks") + "\r\n"; serialBody.Add(tempSerialPrintContent); foreach (clsOrderReport objOrderedItems in slDrinkItems.Values) { string priceString = printUtility.PupulateRightString(objOrderedItems.Quantity, objOrderedItems.ItemUnitPrice, objOrderedItems.Price); tempSerialPrintContent = new CSerialPrintContent(); tempSerialPrintContent.StringLine += strPrintFormatter.ItemLabeledText( printUtility.MultipleLine(objOrderedItems.ItemName.ToString(), papersize - 32, priceString, papersize), ""); serialBody.Add(tempSerialPrintContent); } } } tempSerialPrintContent = new CSerialPrintContent(); tempSerialPrintContent.StringLine = strPrintFormatter.CreateDashedLine(); serialBody.Add(tempSerialPrintContent); // strPrintFormatter.SumupLabeledText tempSerialPrintContent = new CSerialPrintContent(); tempSerialPrintContent.StringLine = "\r\n" + strPrintFormatter.SumupLabeledText("Order Total: ", m_itemCost.ToString("F02")); serialBody.Add(tempSerialPrintContent); Double discountAmount = Convert.ToDouble(Double.Parse(g_DiscountLabel.Text.Substring(Program.currency.Length)).ToString("F02")); if (discountAmount > 0) { Double totalAmount = m_dTotalAmount; Double discountPercent = 100 * discountAmount / (m_itemCost); //Discount percentage of the selected products tempSerialPrintContent = new CSerialPrintContent(); tempSerialPrintContent.StringLine = "\r\n" + strPrintFormatter.SumupLabeledText("Discount:(" + discountPercent.ToString("F02") + "%) ", Convert.ToDouble(g_DiscountLabel.Text.Substring(Program.currency.Length)).ToString("F02")); serialBody.Add(tempSerialPrintContent); } if (Convert.ToDouble("0" + g_ServiceChargeLabel.Text.Substring(Program.currency.Length)) > 0) //If service charge is assigned { CResult cResult = tempOrderManager.OrderServiceChargeGetByOrderID(m_iOrderID); ServiceCharge serviceCharge = cResult.Data as ServiceCharge; string tempstring = Convert.ToDouble("0" + g_ServiceChargeLabel.Text.Substring(Program.currency.Length)).ToString("F02"); tempSerialPrintContent = new CSerialPrintContent(); tempSerialPrintContent.StringLine = "\r\n" + strPrintFormatter.SumupLabeledText("Service Charge(" + serviceCharge .ServicechargeRate.ToString()+ "%): ", tempstring); serialBody.Add(tempSerialPrintContent); } double payableAmount = Convert.ToDouble(Convert.ToDouble("0" + g_ServiceChargeLabel.Text.Substring(Program.currency.Length)).ToString("F02")) + (m_itemCost - discountAmount); payableAmount = payableAmount + Convert.ToDouble("0" + lblVat.Text.Substring(Program.currency.Length)); if (isVatEnabled) //If service charge is assigned { tempSerialPrintContent = new CSerialPrintContent(); tempSerialPrintContent.StringLine = "\r\n" + strPrintFormatter.SumupLabeledText("Vat(" + vat + "%): ", Convert.ToDouble("0" + lblVat.Text.Substring(Program.currency.Length)).ToString("F02")); serialBody.Add(tempSerialPrintContent); } tempSerialPrintContent = new CSerialPrintContent(); tempSerialPrintContent.StringLine = "\r\n" + strPrintFormatter.CreateDashedLine(); serialBody.Add(tempSerialPrintContent); if (printType == 2) { if ((m_serviceCharge_accounts + m_serviceCharge_cash + m_serviceCharge_cheque + m_serviceCharge_eft + m_serviceCharge_voucher) > 0) { tempSerialPrintContent = new CSerialPrintContent(); tempSerialPrintContent.StringLine = "\r\n" + strPrintFormatter.SumupLabeledText("Total Payable: ", (m_dTotalAmount + (m_serviceCharge_accounts + m_serviceCharge_cash + m_serviceCharge_cheque + m_serviceCharge_eft + m_serviceCharge_voucher)).ToString("F02")); serialBody.Add(tempSerialPrintContent); } else { tempSerialPrintContent = new CSerialPrintContent(); tempSerialPrintContent.StringLine = "\r\n" + strPrintFormatter.SumupLabeledText("Total Payable: ", m_dTotalAmount.ToString("F02")); serialBody.Add(tempSerialPrintContent); } tempSerialPrintContent = new CSerialPrintContent(); tempSerialPrintContent.StringLine = "\r\n" + strPrintFormatter.CreateDashedLine(); serialBody.Add(tempSerialPrintContent); tempSerialPrintContent = new CSerialPrintContent(); tempSerialPrintContent.StringLine = "\r\nPayment:"; serialBody.Add(tempSerialPrintContent); if (!g_InputTextBox.Text.Substring(Program.currency.Length).Equals("0.00")) { tempSerialPrintContent = new CSerialPrintContent(); tempSerialPrintContent.StringLine = "\r\nReceived :" + g_InputTextBox.Text.Substring(Program.currency.Length); serialBody.Add(tempSerialPrintContent); } if (!g_CashLabel.Text.Substring(Program.currency.Length).Equals("0.00")) { tempSerialPrintContent = new CSerialPrintContent(); tempSerialPrintContent.StringLine = "\r\nCash:" + g_CashLabel.Text.Substring(Program.currency.Length); serialBody.Add(tempSerialPrintContent); } if (!g_EFTLabel.Text.Substring(Program.currency.Length).Equals("0.00")) { tempSerialPrintContent = new CSerialPrintContent(); tempSerialPrintContent.StringLine = "\r\nCard - " + EFTOptionForm.seletedEFTCard.CardName + " :" + g_EFTLabel.Text.Substring(Program.currency.Length); serialBody.Add(tempSerialPrintContent); } if (!g_ChequeLabel.Text.Substring(Program.currency.Length).Equals("0.00")) { tempSerialPrintContent = new CSerialPrintContent(); tempSerialPrintContent.StringLine = "\r\nDue:" + g_ChequeLabel.Text.Substring(Program.currency.Length); serialBody.Add(tempSerialPrintContent); } if (!g_VoucherLabel.Text.Substring(Program.currency.Length).Equals("0.00")) { tempSerialPrintContent = new CSerialPrintContent(); tempSerialPrintContent.StringLine = "\r\nVoucher:" + g_VoucherLabel.Text.Substring(Program.currency.Length); serialBody.Add(tempSerialPrintContent); } if (!g_AccountLabel.Text.Substring(Program.currency.Length).Equals("0.00")) { tempSerialPrintContent = new CSerialPrintContent(); tempSerialPrintContent.StringLine = "\r\nAccounts:" + g_AccountLabel.Text.Substring(Program.currency.Length); serialBody.Add(tempSerialPrintContent); } if (m_isAddServiceCharge == false) { if (Convert.ToDouble("0" + g_BalaceLabel.Text.Substring(9 + Program.currency.Length)) > 0) { tempSerialPrintContent = new CSerialPrintContent(); tempSerialPrintContent.StringLine = "\r\nPay Back: " + g_BalaceLabel.Text.Substring(9 + Program.currency.Length) + "\n"; serialBody.Add(tempSerialPrintContent); } } tempSerialPrintContent = new CSerialPrintContent(); tempSerialPrintContent.StringLine = "\r\n" + strPrintFormatter.CreateDashedLine(); serialBody.Add(tempSerialPrintContent); // Serial No line remove from report for requisting user // Sajib Vai gathered user requirement //Date : 13-02-2012 //tempSerialPrintContent = new CSerialPrintContent(); //tempSerialPrintContent.StringLine = "\r\nS/N: " + tempOrderInfo.SerialNo.ToString(); //serialBody.Add(tempSerialPrintContent); if (Program.vatRegDes != "") { tempSerialPrintContent = new CSerialPrintContent(); tempSerialPrintContent.StringLine = "\r\nVat Reg. No: " + Program.vatRegDes; serialBody.Add(tempSerialPrintContent); } tempSerialPrintContent = new CSerialPrintContent(); tempSerialPrintContent.StringLine = "\r\n" + strPrintFormatter.CreateDashedLine(); serialBody.Add(tempSerialPrintContent); } else if(printType ==1) { tempSerialPrintContent = new CSerialPrintContent(); tempSerialPrintContent.StringLine = "\r\n" + strPrintFormatter.SumupLabeledText("Total Payable: ", payableAmount.ToString("F02")); serialBody.Add(tempSerialPrintContent); tempSerialPrintContent = new CSerialPrintContent(); tempSerialPrintContent.StringLine = "\r\n" + strPrintFormatter.CreateDashedLine(); serialBody.Add(tempSerialPrintContent); tempSerialPrintContent = new CSerialPrintContent(); tempSerialPrintContent.StringLine = "\r\n" + "You've Served by:" + m_OperatorName; serialBody.Add(tempSerialPrintContent); //Terminal Name and Serial No line remove from report for requisting user // Sajib Vai gathered user requirement //Date : 13-02-2012 //if (m_TerminalName.Length > 0) //{ // tempSerialPrintContent = new CSerialPrintContent(); // tempSerialPrintContent.StringLine = "\r\n" + m_TerminalName; // serialBody.Add(tempSerialPrintContent); //} //if (tempOrderInfo.SerialNo.ToString().Length > 0) //{ // tempSerialPrintContent = new CSerialPrintContent(); // tempSerialPrintContent.StringLine = "\r\n" + "S/N: " + tempOrderInfo.SerialNo.ToString(); // serialBody.Add(tempSerialPrintContent); //} tempSerialPrintContent = new CSerialPrintContent(); tempSerialPrintContent.StringLine = "\r\n" + strPrintFormatter.CreateDashedLine(); serialBody.Add(tempSerialPrintContent); if (tempOrderInfo.OrderType.Equals("Table")) { tempOrderInfo.Status = "Billed"; tempOrderInfo.OrderTime = System.DateTime.Now; tempOrderManager.UpdateOrderInfo(tempOrderInfo); CPaymentManager tempPaymentManager = new CPaymentManager(); CPayment tempPayment = new CPayment(); tempPayment.OrderID = tempOrderInfo.OrderID; tempPayment.BillPrintTime = DateTime.Now; tempPaymentManager.InsertBillPrintTime(tempPayment); } // tempPrintMethods.SerialPrint(PRINTER_TYPES.NORMAL_PRINTER, serialHeader, serialBody, serialFooter, tempOrderInfo.SerialNo.ToString()); //if (m_bEqualSplit) //{ // tempPrintMethods.SerialPrint(PRINTER_TYPES.NORMAL_PRINTER, serialHeader, serialBody, serialFooter, tempOrderInfo.SerialNo.ToString()); //} } #region "Testing printing area" string printingObject = ""; for (int arrayIndex = 0; arrayIndex < serialBody.Count; arrayIndex++) { printingObject += serialBody[arrayIndex].StringLine.ToString(); } this.WriteString(printingObject);///Write to a file when print command is executed gusetBillStr = printingObject; #endregion tempPrintMethods.USBPrintA5Report(printingObject, PrintDestiNation.CLIENT, true, papersize); } catch (Exception exp) { MessageBox.Show(exp.Message, RMSGlobal.MessageBoxTitle, MessageBoxButtons.OK, MessageBoxIcon.Error); } }