// 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 g_PrintGuestBillButton_Click(object sender, EventArgs e) { try { /*if (m_dtItemList.Rows.Count > 0) { //PrintBill(m_dtItemList); }*/ if (m_dtItemList != null) { if (m_dtSecondList.Rows.Count > 0) { PrintBill(m_dtSecondList); g_PrintBill2ListBox.Items.Clear(); SecondSpiltItems.Clear(); return ; } } ///Update status /// COrderManager tempOrderManager = new COrderManager(); COrderInfo tempOrderInfo = (COrderInfo)tempOrderManager.OrderInfoByOrderID(m_iOrderID).Data; 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); } } 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); } }
/***************************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; } } }
/// <summary> /// Collecting the printed copy of the respective order .added by Baruri at 13.12.2008 /// </summary> private void GetPrintedCopy(Int64 orderID, List<COrderDetails> tempOrderDetailsList) { string Cat1ID = String.Empty; try { CPrintMethods tempPrintMethods = new CPrintMethods(); int categoryID = 0; string serialHeader = "IBACS RMS"; string serialFooter = "Please Come Again"; string serialBody = ""; CSerialPrintContent tempSerialPrintContent = new CSerialPrintContent(); serialBody = " KITCHEN COPY\r\n"; COrderManager tempOrderManager = new COrderManager(); COrderInfo tempOrderInfo = (COrderInfo)tempOrderManager.OrderInfoByOrderID(orderID).Data;//order information for online orders serialBody += "\r\nOrder Date: " + tempOrderInfo.OrderTime.ToString("dd/MM/yy hh:mm tt"); serialBody += "\r\nPrint Date: " + System.DateTime.Now.ToString("dd/MM/yy hh:mm tt"); serialBody += "\r\nType: " + tempOrderInfo.Status; CCustomerManager tempCustomerManager = new CCustomerManager(); CCustomerInfo tempCustomerInfo = (CCustomerInfo)tempCustomerManager.CustomerInfoGetByCustomerID(tempOrderInfo.CustomerID).Data; serialBody += "\r\nCustomer Name: " + tempCustomerInfo.CustomerName; serialBody += "\r\nPhone: " + tempCustomerInfo.CustomerPhone; if (tempOrderInfo.Status.Equals("Delivery")) { serialBody += "\r\nAddress:"; serialBody += "\r\n----------------------------------------"; serialBody += "\r\nFloor or Apartment:" + tempCustomerInfo.FloorAptNumber; serialBody += "\r\nBuilding Name:" + tempCustomerInfo.BuildingName; serialBody += "\r\nHouse Number:" + tempCustomerInfo.HouseNumber; serialBody += "\r\nPhone:" + tempCustomerInfo.CustomerPhone; serialBody += "\r\nPostal Code:" + tempCustomerInfo.CustomerPostalCode; serialBody += "\r\nTown:" + tempCustomerInfo.CustomerTown; serialBody += "\r\nCountry:" + tempCustomerInfo.CustomerCountry; serialBody += "\r\n----------------------------------------"; } serialBody += "\r\nOrder Information"; serialBody += "\r\n----------------------------------------"; serialBody += "\r\nQty Item Price "; serialBody += "\r\n----------------------------------------"; if (tempOrderDetailsList.Count > 0) { for (int counter = 0; counter < tempOrderDetailsList.Count; counter++) { serialBody += "\r\n" + tempOrderDetailsList[counter].OrderQuantity.ToString() + " "; serialBody += CPrintMethods.GetFixedString(tempOrderDetailsList[counter].ItemName.ToString(), 30)+" "; serialBody += CPrintMethods.RightAlign(tempOrderDetailsList[counter].OrderAmount.ToString(), 6); // billTotal += Convert.ToDouble("0" + tempOrderDetailsList[j].OrderAmount); } } serialBody += "\r\n----------------------------------------"; //serialBody += "\r\n Order Total: " + billTotal.ToString("F02"); //serialBody += "\r\n Total Payable: " + billTotal.ToString("F02"); //serialBody += "\r\n----------------------------------------"; //serialBody += "\r\n S/N: " + tempOrderInfo.SerialNo.ToString(); //serialBody += "\r\nDeveloped by:ibacs limited."; serialBody += "\r\nThis is an online order."; serialBody += "\r\n [END] "; CCommonConstants oConstant = ConfigManager.GetConfig<CCommonConstants>(); CPrintingFormat tempPrintingFormat = new CPrintingFormat(); tempPrintingFormat.Header = serialHeader; tempPrintingFormat.Body = serialBody.ToUpper(); tempPrintingFormat.Footer = serialFooter; tempPrintingFormat.OrderID = orderID; tempPrintingFormat.PrintType = (int)PRINTER_TYPES.Serial; CLogin oLogin = new CLogin(); oLogin = (RmsRemote.CLogin)Activator.GetObject(typeof(RmsRemote.CLogin), oConstant.RemoteURL); oLogin.PostPrintingRequest(tempPrintingFormat); ///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); } } catch (Exception exp) { } }