private void FinishButton_Click(object sender, EventArgs e) { CResult objResultant = new CResult(); try { if (!CheckEmpty() && m_orderIndex == 1) { CMessageBox tempMessageBox = new CMessageBox("Error", "Please enter all the mandatory values."); tempMessageBox.ShowDialog(); return; } CCustomerManager tempCustomerManager = new CCustomerManager(); CCustomerInfo tempCustomerInfo = new CCustomerInfo(); if (txtPhoneNumber.Text.Trim().Equals(String.Empty)) { CResult oResult5 = tempCustomerManager.CustomerInfoGetByName(txtCustomerName.Text.Trim()); if (oResult5.IsSuccess && oResult5.Data != null) { tempCustomerInfo = (CCustomerInfo)oResult5.Data; } } else { CResult oResult = tempCustomerManager.CustomerInfoGetByPhone(txtPhoneNumber.Text.Trim()); if (oResult.IsSuccess && oResult.Data != null) { tempCustomerInfo = (CCustomerInfo)oResult.Data; } } if (txtCustomerName.Text.Length == 0 && (m_orderIndex == 2 || m_orderIndex == 3)) { txtCustomerName.Text = m_order_name; } tempCustomerInfo.CustomerName = txtCustomerName.Text.Trim(); tempCustomerInfo.CustomerPhone = txtPhoneNumber.Text.Trim(); if (m_orderIndex == 1) //If only delivery type order is considered { tempCustomerInfo.CustomerPostalCode = txtPostalCode.Text.Trim(); tempCustomerInfo.FloorAptNumber = txtFloorAptNumber.Text.Trim(); tempCustomerInfo.HouseNumber = txtHouseNumber.Text.Trim(); tempCustomerInfo.StreetName = txtStreetName.Text.Trim() + "-" + txtStreet2.Text.Trim(); tempCustomerInfo.BuildingName = txtBuildingName.Text.Trim(); tempCustomerInfo.CustomerTown = txtTown.Text.Trim(); tempCustomerInfo.CustomerCountry = cmbCountry.Text; tempCustomerInfo.UserName = RMSGlobal.LoginUserName; tempCustomerInfo.TerminalId = RMSGlobal.Terminal_Id; Int64 currentdateTime = DateTime.Now.Ticks; tempCustomerInfo.InsertDate = currentdateTime; } if (tempCustomerInfo.CustomerID == 0) { CResult oResult6 = tempCustomerManager.InsertCustomerInfo(tempCustomerInfo); if (oResult6.IsSuccess && oResult6.Data != null) tempCustomerInfo = (CCustomerInfo)oResult6.Data; } else { tempCustomerManager.UpdateCustomerInfo(tempCustomerInfo); } #region "Older" if (m_customerEditStatus == false) { if (m_iOrderID == 0) { COrderManager tempOrderManager = new COrderManager(); COrderInfo tempOrderInfo = new COrderInfo(); tempOrderInfo.CustomerID = tempCustomerInfo.CustomerID; tempOrderInfo.OrderType = "TakeAway"; tempOrderInfo.OrderTime = System.DateTime.Now; tempOrderInfo.TableNumber = GetValidTableNumber("TakeAway"); CTableInfo tempTableInfo = new CTableInfo(); tempTableInfo.TableNumber = tempOrderInfo.TableNumber; tempTableInfo.TableType = "TakeAway"; tempOrderManager.InsertTableInfo(tempTableInfo); if (m_orderIndex==1) { tempOrderInfo.Status = "Delivery"; } else if (m_orderIndex ==2 ) { tempOrderInfo.Status = "Collection"; } else if (m_orderIndex == 3) { tempOrderInfo.Status = "Waiting"; } m_oCommonConstants = ConfigManager.GetConfig<CCommonConstants>(); tempOrderInfo.UserID = m_oCommonConstants.UserInfo.UserID; objResultant = tempOrderManager.InsertOrderInfo(tempOrderInfo); //New Order COrderInfo tempOrderInfoNew = (COrderInfo)objResultant.Data;//Taking the order ID m_iOrderID = tempOrderInfoNew.OrderID; #region " Inserting Order details info if items are selected from the previous orders" //Developed by baruri List<COrderDetails> tempOrderDetailsList = new List<COrderDetails>(); if (m_htOrderInfo.Count > 0) //If item is selected from the previous order { tempOrderDetailsList = (List<COrderDetails>)m_htOrderInfo["orderdetail"]; } if (tempOrderDetailsList.Count > 0) //Insert details for the new order { for (int itemDetailIndex = 0; itemDetailIndex < tempOrderDetailsList.Count; itemDetailIndex++) { COrderDetails objOrderDetails = (COrderDetails)tempOrderDetailsList[itemDetailIndex]; objOrderDetails.OrderID = tempOrderInfo.OrderID; tempOrderManager.InsertOrderDetails(objOrderDetails); } m_htOrderInfo = new Hashtable();//Clearing the previous items from the order if there is any. } #endregion //insert delivery time if (tempOrderInfo.Status.Equals("Delivery")) { CDelivery tempDelivery = new CDelivery(); tempDelivery.DeliveryOrderID = tempOrderInfo.OrderID; string deliveryTime = Convert.ToInt32("0" + cmbHour.Text).ToString("00") + ":" + Convert.ToInt32("0" + cmbMinute.Text).ToString("00") + " " + cmbMeridiem.Text; tempDelivery.DeliveryTime = deliveryTime;// DeliveryTimeTextBox.Text.Trim(); tempOrderManager.InsertDeliveryInfo(tempDelivery); } //OLD Code //Form tempForm = CFormManager.Forms.Pop(); //tempForm.Show(); try { WaiterForm waiterForm = new WaiterForm(); waiterForm.UserList = userList; waiterForm.ShowDialog(); if (waiterForm.DialogResult == DialogResult.OK) { COrderWaiterDao orderwaiterDao = new COrderWaiterDao(); COrderwaiter orderwaiter = new COrderwaiter(); orderwaiter = orderwaiterDao.GetOrderwaiterByOrderID(tempOrderInfo.OrderID); if (orderwaiter != null && orderwaiter.ID > 0 && orderwaiter.WaiterID != waiterForm.UserInfoData.UserID) { orderwaiter.OrderID = tempOrderInfo.OrderID; orderwaiter.WaiterID = waiterForm.UserInfoData.UserID; orderwaiter.WaiterName = waiterForm.UserInfoData.UserName; orderwaiterDao.UpdateOrderwaiter(orderwaiter); } else if (orderwaiter.ID == 0) { orderwaiter.OrderID = tempOrderInfo.OrderID; orderwaiter.WaiterID = waiterForm.UserInfoData.UserID; orderwaiter.WaiterName = waiterForm.UserInfoData.UserName; orderwaiterDao.InsertOrderwaiter(orderwaiter); } } } catch (Exception ex) { } m_oCommonConstants = ConfigManager.GetConfig<CCommonConstants>(); CTableOrderForm tempForm = new CTableOrderForm(m_iOrderID, m_oCommonConstants.TakeAwayType, tempOrderInfo.TableNumber); tempForm.m_orderUserName = RMSGlobal.LoginUserName; tempForm.Show(); this.Close(); } else { COrderManager tempOrderManager = new COrderManager(); CResult oResult7 = tempOrderManager.OrderInfoByOrderID(m_iOrderID); COrderInfo tempOrderInfo = new COrderInfo(); if (oResult7.IsSuccess && oResult7.Data != null) { tempOrderInfo = (COrderInfo)oResult7.Data; } tempOrderInfo.OrderType = "TakeAway"; tempOrderInfo.Status = "TakeAway"; tempOrderInfo.GuestCount = 0; tempOrderInfo.TableName = ""; tempOrderInfo.CustomerID = tempCustomerInfo.CustomerID; tempOrderInfo.TableNumber = GetValidTableNumber("TakeAway"); CTableInfo tempTableInfo = new CTableInfo(); tempTableInfo.TableNumber = tempOrderInfo.TableNumber; tempTableInfo.TableType = "TakeAway"; tempOrderManager.InsertTableInfo(tempTableInfo); if (m_orderIndex == 1) { tempOrderInfo.Status = "Delivery"; } else if (m_orderIndex == 3) { tempOrderInfo.Status = "Waiting"; } else if (m_orderIndex == 2) { tempOrderInfo.Status = "Collection"; } tempOrderManager.UpdateOrderInfo(tempOrderInfo); //insert delivery time if (tempOrderInfo.Status.Equals("Delivery")) { CDelivery tempDelivery = new CDelivery(); tempDelivery.DeliveryOrderID = tempOrderInfo.OrderID; string deliveryTime = Convert.ToInt32("0" + cmbHour.Text).ToString("00") + ":" + Convert.ToInt32("0" + cmbMinute.Text).ToString("00") + " " + cmbMeridiem.Text; tempDelivery.DeliveryTime = deliveryTime;// DeliveryTimeTextBox.Text.Trim(); tempOrderManager.InsertDeliveryInfo(tempDelivery); } try { WaiterForm waiterForm = new WaiterForm(); waiterForm.UserList = userList; waiterForm.ShowDialog(); if (waiterForm.DialogResult == DialogResult.OK) { COrderWaiterDao orderwaiterDao = new COrderWaiterDao(); COrderwaiter orderwaiter = new COrderwaiter(); orderwaiter = orderwaiterDao.GetOrderwaiterByOrderID(tempOrderInfo.OrderID); if (orderwaiter != null && orderwaiter.ID > 0 && orderwaiter.WaiterID != waiterForm.UserInfoData.UserID) { orderwaiter.OrderID = tempOrderInfo.OrderID; orderwaiter.WaiterID = waiterForm.UserInfoData.UserID; orderwaiter.WaiterName = waiterForm.UserInfoData.UserName; orderwaiterDao.UpdateOrderwaiter(orderwaiter); } else if (orderwaiter.ID == 0) { orderwaiter.OrderID = tempOrderInfo.OrderID; orderwaiter.WaiterID = waiterForm.UserInfoData.UserID; orderwaiter.WaiterName = waiterForm.UserInfoData.UserName; orderwaiterDao.InsertOrderwaiter(orderwaiter); } } } catch (Exception ex) { } m_oCommonConstants = ConfigManager.GetConfig<CCommonConstants>(); CTableOrderForm tempForm = (CTableOrderForm)CFormManager.Forms.Pop(); tempForm.m_iType = m_oCommonConstants.TakeAwayType; tempForm.Show(); this.Close(); } } #endregion else //Edit order information.As here is reached from order details screen. { COrderInfo tempOrderInfo = new COrderInfo(); COrderManager tempOrderManager = new COrderManager(); CDelivery tempDelivery = null; tempOrderInfo.OrderID = m_iOrderID; tempOrderManager.DeleteDeliveryInfo(m_iOrderID);//Delete previous record from delivery information table if (m_orderIndex==2) { tempOrderInfo.Status = "Collection"; } else if (m_orderIndex==3) { tempOrderInfo.Status = "Waiting"; } else { tempOrderInfo.Status = "Delivery"; tempDelivery = new CDelivery(); tempDelivery.DeliveryOrderID = tempOrderInfo.OrderID; string deliveryTime = Convert.ToInt32("0" + cmbHour.Text).ToString("00") + ":" + Convert.ToInt32("0" + cmbMinute.Text).ToString("00") + " " + cmbMeridiem.Text; tempDelivery.DeliveryTime = deliveryTime;// tempOrderManager.InsertDeliveryInfo(tempDelivery);//Update delivery information } tempOrderManager.UpdateTakeawayOrderInfo(tempOrderInfo);//Update order information try { WaiterForm waiterForm = new WaiterForm(); waiterForm.UserList = userList; waiterForm.ShowDialog(); if (waiterForm.DialogResult == DialogResult.OK) { COrderWaiterDao orderwaiterDao = new COrderWaiterDao(); COrderwaiter orderwaiter = new COrderwaiter(); orderwaiter = orderwaiterDao.GetOrderwaiterByOrderID(tempOrderInfo.OrderID); if (orderwaiter != null && orderwaiter.ID > 0 && orderwaiter.WaiterID != waiterForm.UserInfoData.UserID) { orderwaiter.OrderID = tempOrderInfo.OrderID; orderwaiter.WaiterID = waiterForm.UserInfoData.UserID; orderwaiter.WaiterName = waiterForm.UserInfoData.UserName; orderwaiterDao.UpdateOrderwaiter(orderwaiter); } else if (orderwaiter.ID == 0) { orderwaiter.OrderID = tempOrderInfo.OrderID; orderwaiter.WaiterID = waiterForm.UserInfoData.UserID; orderwaiter.WaiterName = waiterForm.UserInfoData.UserName; orderwaiterDao.InsertOrderwaiter(orderwaiter); } } } catch (Exception ex) { } m_oCommonConstants = ConfigManager.GetConfig<CCommonConstants>(); CTableOrderForm tempForm = (CTableOrderForm)CFormManager.Forms.Pop(); tempForm.m_iType = m_oCommonConstants.TakeAwayType; tempForm.Show(); this.Close(); } m_phoneNumber = String.Empty; } catch (Exception exp) { Console.Write(exp.Message); } }
private void PrintNewBeverage() { int papersize = 29; StringPrintFormater strPrintFormatter = new StringPrintFormater(29); string Cat1ID = String.Empty; bool blnToBePrinted = false; try { CPrintMethodsEXT tempPrintMethods = new CPrintMethodsEXT(); //string serialHeader = "IBACS RMS"; string serialHeader = ""; string serialFooter = ""; List<CSerialPrintContent> serialBody = new List<CSerialPrintContent>(); List<CSerialPrintContent> serialBody2 = new List<CSerialPrintContent>(); CSerialPrintContent tempSerialPrintContent = new CSerialPrintContent(); COrderManager tempOrderManager = new COrderManager(); COrderInfo tempOrderInfo = (COrderInfo)tempOrderManager.OrderInfoByOrderID(orderID).Data; //tempSerialPrintContent.StringLine = " Beverages/Non-Food\n"; if (m_iType == m_cCommonConstants.TableType) { tempSerialPrintContent = new CSerialPrintContent(); //tempSerialPrintContent.StringLine = " Table No:" + m_iTableNumber.ToString(); tempSerialPrintContent.StringLine = "Table No:\r\n" + m_iTableNumber.ToString(); tempSerialPrintContent.Bold = true; serialBody.Add(tempSerialPrintContent); serialBody2.Add(tempSerialPrintContent); tempSerialPrintContent = new CSerialPrintContent(); //tempSerialPrintContent.StringLine = " Guest No:" +tempOrderInfo.GuestCount.ToString() + "\r\n"; tempSerialPrintContent.StringLine = "Covers:" + tempOrderInfo.GuestCount.ToString(); tempSerialPrintContent.Bold = true; serialBody.Add(tempSerialPrintContent); serialBody2.Add(tempSerialPrintContent); } tempSerialPrintContent = new CSerialPrintContent(); tempSerialPrintContent.StringLine = "\r\n" + strPrintFormatter.CenterTextWithWhiteSpace("Beverages/Non-Food"); serialBody.Add(tempSerialPrintContent); serialBody2.Add(tempSerialPrintContent); //string s=tempOrderInfo. if (m_iType == m_cCommonConstants.TableType) { tempSerialPrintContent = new CSerialPrintContent(); tempSerialPrintContent.StringLine = "Order ID:" + orderID.ToString(); serialBody.Add(tempSerialPrintContent); serialBody2.Add(tempSerialPrintContent); tempSerialPrintContent = new CSerialPrintContent(); tempSerialPrintContent.StringLine = "Order Date:" + tempOrderInfo.OrderTime.ToString("dd/MM/yy hh:mm tt"); serialBody.Add(tempSerialPrintContent); serialBody2.Add(tempSerialPrintContent); tempSerialPrintContent = new CSerialPrintContent(); tempSerialPrintContent.StringLine = "Print Date:" + System.DateTime.Now.ToString("dd/MM/yy hh:mm tt"); serialBody.Add(tempSerialPrintContent); serialBody2.Add(tempSerialPrintContent); //tempSerialPrintContent = new CSerialPrintContent(); ////tempSerialPrintContent.StringLine = " Table No:" + m_iTableNumber.ToString(); //tempSerialPrintContent.StringLine = "\r\n\nTable No:" + m_iTableNumber.ToString(); //tempSerialPrintContent.Bold = true; //serialBody.Add(tempSerialPrintContent); //serialBody2.Add(tempSerialPrintContent); //tempSerialPrintContent = new CSerialPrintContent(); ////tempSerialPrintContent.StringLine = " Guest No:" +tempOrderInfo.GuestCount.ToString() + "\r\n"; //tempSerialPrintContent.StringLine = "Covers:" + tempOrderInfo.GuestCount.ToString(); //tempSerialPrintContent.Bold = true; //serialBody.Add(tempSerialPrintContent); //serialBody2.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); serialBody2.Add(tempSerialPrintContent); } } else if (m_iType == m_cCommonConstants.TakeAwayType) { tempSerialPrintContent = new CSerialPrintContent(); tempSerialPrintContent.StringLine = "Order Date:" + tempOrderInfo.OrderTime.ToString("dd/MM/yy hh:mm tt"); serialBody.Add(tempSerialPrintContent); serialBody2.Add(tempSerialPrintContent); tempSerialPrintContent = new CSerialPrintContent(); tempSerialPrintContent.StringLine = "Print Date:" + System.DateTime.Now.ToString("dd/MM/yy hh:mm tt"); serialBody.Add(tempSerialPrintContent); serialBody2.Add(tempSerialPrintContent); tempSerialPrintContent = new CSerialPrintContent(); tempSerialPrintContent.StringLine = "Type:" + tempOrderInfo.Status; serialBody.Add(tempSerialPrintContent); serialBody2.Add(tempSerialPrintContent); CCustomerManager tempCustomerManager = new CCustomerManager(); CCustomerInfo tempCustomerInfo = (CCustomerInfo)tempCustomerManager.CustomerInfoGetByCustomerID(tempOrderInfo.CustomerID).Data; tempSerialPrintContent = new CSerialPrintContent(); tempSerialPrintContent.StringLine = "Customer Name:" + tempCustomerInfo.CustomerName; serialBody.Add(tempSerialPrintContent); serialBody2.Add(tempSerialPrintContent); tempSerialPrintContent = new CSerialPrintContent(); tempSerialPrintContent.StringLine = "Phone:" + tempCustomerInfo.CustomerPhone; serialBody.Add(tempSerialPrintContent); serialBody2.Add(tempSerialPrintContent); if (tempOrderInfo.Status.Equals("Delivery")) { tempSerialPrintContent = new CSerialPrintContent(); tempSerialPrintContent.StringLine = "Address:"; serialBody.Add(tempSerialPrintContent); serialBody2.Add(tempSerialPrintContent); tempSerialPrintContent = new CSerialPrintContent(); //tempSerialPrintContent.StringLine = "----------------------------------------"; tempSerialPrintContent.StringLine = "\r\n" + strPrintFormatter.CreateDashedLine(); serialBody.Add(tempSerialPrintContent); serialBody2.Add(tempSerialPrintContent); if (tempCustomerInfo.FloorAptNumber.Length > 0) { tempSerialPrintContent = new CSerialPrintContent(); tempSerialPrintContent.StringLine = "Floor or Apartment:" + tempCustomerInfo.FloorAptNumber; serialBody.Add(tempSerialPrintContent); serialBody2.Add(tempSerialPrintContent); } if (tempCustomerInfo.BuildingName.Length > 0) { tempSerialPrintContent = new CSerialPrintContent(); tempSerialPrintContent.StringLine = "Building Name:" + tempCustomerInfo.BuildingName; serialBody.Add(tempSerialPrintContent); serialBody2.Add(tempSerialPrintContent); } if (tempCustomerInfo.HouseNumber.Length > 0) { tempSerialPrintContent = new CSerialPrintContent(); tempSerialPrintContent.StringLine = "House Number:" + tempCustomerInfo.HouseNumber; serialBody.Add(tempSerialPrintContent); serialBody2.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); serialBody2.Add(tempSerialPrintContent); } if (street[1].ToString().Length > 0) { tempSerialPrintContent = new CSerialPrintContent(); tempSerialPrintContent.StringLine = street[1].ToString(); serialBody.Add(tempSerialPrintContent); serialBody2.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); serialBody2.Add(tempSerialPrintContent); } } if (tempCustomerInfo.CustomerPostalCode.Length > 0) { tempSerialPrintContent = new CSerialPrintContent(); tempSerialPrintContent.StringLine = "Postal Code:" + tempCustomerInfo.CustomerPostalCode; serialBody.Add(tempSerialPrintContent); serialBody2.Add(tempSerialPrintContent); } if (tempCustomerInfo.CustomerTown.Length > 0) { tempSerialPrintContent = new CSerialPrintContent(); tempSerialPrintContent.StringLine = "Town:" + tempCustomerInfo.CustomerTown; serialBody.Add(tempSerialPrintContent); serialBody2.Add(tempSerialPrintContent); } tempSerialPrintContent = new CSerialPrintContent(); //tempSerialPrintContent.StringLine = "----------------------------------------"; tempSerialPrintContent.StringLine = "\r\n" + strPrintFormatter.CreateDashedLine(); serialBody.Add(tempSerialPrintContent); serialBody2.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); serialBody2.Add(tempSerialPrintContent); } } } tempSerialPrintContent = new CSerialPrintContent(); tempSerialPrintContent.StringLine = "Order Information"; serialBody.Add(tempSerialPrintContent); serialBody2.Add(tempSerialPrintContent); tempSerialPrintContent = new CSerialPrintContent(); //tempSerialPrintContent.StringLine = "----------------------------------------"; tempSerialPrintContent.StringLine = "\r\n" + strPrintFormatter.CreateDashedLine(); serialBody.Add(tempSerialPrintContent); serialBody2.Add(tempSerialPrintContent); tempSerialPrintContent = new CSerialPrintContent(); if (m_isBarPriceAvailable == true) { //tempSerialPrintContent.StringLine = "Qty Item Price(" + Program.currency.ToString() + ")"; tempSerialPrintContent.StringLine = "\r\n" + strPrintFormatter.ItemLabeledText("Qty Item", "Price(" + Program.currency + ")"); } else { tempSerialPrintContent.StringLine = "\r\n" + strPrintFormatter.ItemLabeledText("Qty Item", ""); } serialBody.Add(tempSerialPrintContent); serialBody2.Add(tempSerialPrintContent); tempSerialPrintContent = new CSerialPrintContent(); //tempSerialPrintContent.StringLine = "----------------------------------------"; tempSerialPrintContent.StringLine = "\r\n" + strPrintFormatter.CreateDashedLine(); serialBody.Add(tempSerialPrintContent); serialBody.Add(tempSerialPrintContent); // serialBody2 = serialBody; bool nonfood = false; bool othernoonfood = false; PrintUtility printUtility = new PrintUtility(); if (m_orderUserName.Replace(" ", "").ToUpper() != "Web User".Replace(" ", "").ToUpper()) { Hashtable htOrderedItems = new Hashtable(); string categoryOrder = String.Empty; for (int rowIndex = 0; rowIndex < g_BeverageDataGridView.Rows.Count; rowIndex++) { DataGridViewRow tempRow = g_BeverageDataGridView.Rows[rowIndex]; int totalItem = Convert.ToInt32("0" + tempRow.Cells[1].Value); int printItem = Convert.ToInt32("0" + tempRow.Cells[8].Value); // Here index number was 7 and now change index number is 8 by mithu if ((!tempRow.Cells[0].Value.ToString().Equals("")) && (totalItem > printItem)) { blnToBePrinted = true; tempSerialPrintContent = new CSerialPrintContent(); int productId = Convert.ToInt32(tempRow.Cells[4].Value.ToString()); CCategory3DAO aDao = new CCategory3DAO(); string printstatus = aDao.GetAllCategory3printareaByCategory3ID(productId); double price = (Convert.ToDouble("0" + tempRow.Cells[3].Value.ToString()) / Convert.ToInt32("0" + tempRow.Cells[1].Value.ToString())) * (totalItem - printItem);//change for kitchen //tempSerialPrintContent.StringLine += CPrintMethods.GetFixedString(tempRow.Cells[0].Value.ToString(), 30); if (printstatus == "OtherNonfood") { othernoonfood = true; tempSerialPrintContent = new CSerialPrintContent(); if (m_isBarPriceAvailable == true) //Is bar price available or not for online order { // tempSerialPrintContent.StringLine += strPrintFormatter.ItemLabeledText(Convert.ToString(g_BeverageDataGridView.Rows[rowIndex].Cells[1].Value) + " " + Convert.ToString(g_BeverageDataGridView.Rows[rowIndex].Cells[0].Value), Convert.ToDouble("0" + g_BeverageDataGridView.Rows[rowIndex].Cells[2].Value).ToString("F02")); // tempSerialPrintContent.StringLine += strPrintFormatter.ItemLabeledText(Convert.ToString(g_BeverageDataGridView.Rows[rowIndex].Cells[1].Value) + " " + // printUtility.MultipleLine(Convert.ToString(g_BeverageDataGridView.Rows[rowIndex].Cells[0].Value), papersize - 10, Convert.ToDouble("0" + g_BeverageDataGridView.Rows[rowIndex].Cells[2].Value).ToString("F02"), papersize-3), ""); tempSerialPrintContent.StringLine += strPrintFormatter.ItemLabeledText(Convert.ToString(totalItem-printItem) + " " + printUtility.MultipleLine(Convert.ToString(g_BeverageDataGridView.Rows[rowIndex].Cells[0].Value), papersize - 10, price.ToString("F02"), papersize - 3), ""); //change for kitchen } else { //tempSerialPrintContent.StringLine += strPrintFormatter.ItemLabeledText(Convert.ToString(g_BeverageDataGridView.Rows[rowIndex].Cells[1].Value) + " " + Convert.ToString(g_BeverageDataGridView.Rows[rowIndex].Cells[0].Value), ""); tempSerialPrintContent.StringLine += strPrintFormatter.ItemLabeledText(Convert.ToString(totalItem - printItem) + " " + printUtility.MultipleLine(Convert.ToString(g_BeverageDataGridView.Rows[rowIndex].Cells[0].Value), papersize - 5, "", papersize), ""); } serialBody2.Add(tempSerialPrintContent); } else { tempSerialPrintContent = new CSerialPrintContent(); nonfood = true; if (m_isBarPriceAvailable == true) //Is bar price available or not for online order { // tempSerialPrintContent.StringLine += strPrintFormatter.ItemLabeledText(Convert.ToString(g_BeverageDataGridView.Rows[rowIndex].Cells[1].Value) + " " + Convert.ToString(g_BeverageDataGridView.Rows[rowIndex].Cells[0].Value), Convert.ToDouble("0" + g_BeverageDataGridView.Rows[rowIndex].Cells[2].Value).ToString("F02")); // tempSerialPrintContent.StringLine += strPrintFormatter.ItemLabeledText(Convert.ToString(g_BeverageDataGridView.Rows[rowIndex].Cells[1].Value) + " " + // printUtility.MultipleLine(Convert.ToString(g_BeverageDataGridView.Rows[rowIndex].Cells[0].Value), papersize - 10, Convert.ToDouble("0" + g_BeverageDataGridView.Rows[rowIndex].Cells[2].Value).ToString("F02"), papersize-3), ""); tempSerialPrintContent.StringLine += strPrintFormatter.ItemLabeledText( Convert.ToString(totalItem - printItem) + " " + printUtility.MultipleLine( Convert.ToString(g_BeverageDataGridView.Rows[rowIndex].Cells[0].Value), papersize - 10, price.ToString("F02"), papersize - 3), ""); //change for kitchen } else { //tempSerialPrintContent.StringLine += strPrintFormatter.ItemLabeledText(Convert.ToString(g_BeverageDataGridView.Rows[rowIndex].Cells[1].Value) + " " + Convert.ToString(g_BeverageDataGridView.Rows[rowIndex].Cells[0].Value), ""); tempSerialPrintContent.StringLine += strPrintFormatter.ItemLabeledText( Convert.ToString(totalItem - printItem) + " " + printUtility.MultipleLine( Convert.ToString(g_BeverageDataGridView.Rows[rowIndex].Cells[0].Value), papersize - 5, "", papersize), ""); } serialBody.Add(tempSerialPrintContent); // itemAvailable = true; } } } } else { //For online orders //tempSerialPrintContent = new CSerialPrintContent(); //tempSerialPrintContent.StringLine = "----------------------------------------\r\n"; //serialBody.Add(tempSerialPrintContent); for (int rowIndex = 0; rowIndex < g_BeverageDataGridView.RowCount; rowIndex++) { DataGridViewRow tempRow = g_BeverageDataGridView.Rows[rowIndex]; int totalItem = Convert.ToInt32("0" + tempRow.Cells[1].Value); int printItem = Convert.ToInt32("0" + tempRow.Cells[7].Value); if ((!tempRow.Cells[0].Value.ToString().Equals("")) && (totalItem > printItem)) { tempSerialPrintContent = new CSerialPrintContent(); int productId = Convert.ToInt32(tempRow.Cells[4].Value.ToString()); CCategory3DAO aDao = new CCategory3DAO(); string printstatus = aDao.GetAllCategory3printareaByCategory3ID(productId); double price = (Convert.ToDouble("0" + tempRow.Cells[3].Value.ToString()) / Convert.ToInt32("0" + tempRow.Cells[1].Value.ToString())) * (totalItem - printItem); //change for kitchen //tempSerialPrintContent.StringLine += CPrintMethods.GetFixedString(tempRow.Cells[0].Value.ToString(), 30); if (printstatus == "OtherNonfood") { othernoonfood = true; tempSerialPrintContent = new CSerialPrintContent(); if (m_isBarPriceAvailable == true) //Is bar price available or not for online order { // tempSerialPrintContent.StringLine += strPrintFormatter.ItemLabeledText(Convert.ToString(g_BeverageDataGridView.Rows[rowIndex].Cells[1].Value) + " " + Convert.ToString(g_BeverageDataGridView.Rows[rowIndex].Cells[0].Value), Convert.ToDouble("0" + g_BeverageDataGridView.Rows[rowIndex].Cells[2].Value).ToString("F02")); // tempSerialPrintContent.StringLine += strPrintFormatter.ItemLabeledText(Convert.ToString(g_BeverageDataGridView.Rows[rowIndex].Cells[1].Value) + " " + // printUtility.MultipleLine(Convert.ToString(g_BeverageDataGridView.Rows[rowIndex].Cells[0].Value), papersize - 10, Convert.ToDouble("0" + g_BeverageDataGridView.Rows[rowIndex].Cells[2].Value).ToString("F02"), papersize-3), ""); tempSerialPrintContent.StringLine += strPrintFormatter.ItemLabeledText(Convert.ToString(totalItem - printItem) + " " + printUtility.MultipleLine(Convert.ToString(g_BeverageDataGridView.Rows[rowIndex].Cells[0].Value), papersize - 10, price.ToString("F02"), papersize - 3), "");//change for kitchen } else { //tempSerialPrintContent.StringLine += strPrintFormatter.ItemLabeledText(Convert.ToString(g_BeverageDataGridView.Rows[rowIndex].Cells[1].Value) + " " + Convert.ToString(g_BeverageDataGridView.Rows[rowIndex].Cells[0].Value), ""); tempSerialPrintContent.StringLine += strPrintFormatter.ItemLabeledText(Convert.ToString(totalItem - printItem) + " " + printUtility.MultipleLine(Convert.ToString(g_BeverageDataGridView.Rows[rowIndex].Cells[0].Value), papersize - 5, "", papersize), ""); } serialBody2.Add(tempSerialPrintContent); } else { tempSerialPrintContent = new CSerialPrintContent(); nonfood = true; if (m_isBarPriceAvailable == true) //Is bar price available or not for online order { // tempSerialPrintContent.StringLine += strPrintFormatter.ItemLabeledText(Convert.ToString(g_BeverageDataGridView.Rows[rowIndex].Cells[1].Value) + " " + Convert.ToString(g_BeverageDataGridView.Rows[rowIndex].Cells[0].Value), Convert.ToDouble("0" + g_BeverageDataGridView.Rows[rowIndex].Cells[2].Value).ToString("F02")); // tempSerialPrintContent.StringLine += strPrintFormatter.ItemLabeledText(Convert.ToString(g_BeverageDataGridView.Rows[rowIndex].Cells[1].Value) + " " + // printUtility.MultipleLine(Convert.ToString(g_BeverageDataGridView.Rows[rowIndex].Cells[0].Value), papersize - 10, Convert.ToDouble("0" + g_BeverageDataGridView.Rows[rowIndex].Cells[2].Value).ToString("F02"), papersize-3), ""); tempSerialPrintContent.StringLine += strPrintFormatter.ItemLabeledText( Convert.ToString(totalItem - printItem) + " " + printUtility.MultipleLine( Convert.ToString(g_BeverageDataGridView.Rows[rowIndex].Cells[0].Value), papersize - 10, price.ToString("F02"), papersize - 3), ""); ////change for kitchen } else { //tempSerialPrintContent.StringLine += strPrintFormatter.ItemLabeledText(Convert.ToString(g_BeverageDataGridView.Rows[rowIndex].Cells[1].Value) + " " + Convert.ToString(g_BeverageDataGridView.Rows[rowIndex].Cells[0].Value), ""); tempSerialPrintContent.StringLine += strPrintFormatter.ItemLabeledText( Convert.ToString(totalItem - printItem) + " " + printUtility.MultipleLine( Convert.ToString(g_BeverageDataGridView.Rows[rowIndex].Cells[0].Value), papersize - 5, "", papersize), ""); } serialBody.Add(tempSerialPrintContent); //itemAvailable = true; } blnToBePrinted = true; } } } tempSerialPrintContent = new CSerialPrintContent(); //tempSerialPrintContent.StringLine = "----------------------------------------"; tempSerialPrintContent.StringLine = "\r\n" + strPrintFormatter.CreateDashedLine(); serialBody.Add(tempSerialPrintContent); serialBody2.Add(tempSerialPrintContent); //New at 22.08.2008 tempSerialPrintContent = new CSerialPrintContent(); tempSerialPrintContent.StringLine = "Order Prepared By:" + m_OperatorName; serialBody.Add(tempSerialPrintContent); serialBody2.Add(tempSerialPrintContent); tempSerialPrintContent = new CSerialPrintContent(); tempSerialPrintContent.StringLine = m_TerminalName.Trim(); serialBody.Add(tempSerialPrintContent); serialBody2.Add(tempSerialPrintContent); #region "Testing printing area" string printingObject = ""; string printingObject2 = ""; for (int arrayIndex = 0; arrayIndex < serialBody.Count; arrayIndex++) { printingObject += serialBody[arrayIndex].StringLine.ToString() + "\r\n"; } for (int arrayIndex = 0; arrayIndex < serialBody2.Count; arrayIndex++) { printingObject2 += serialBody2[arrayIndex].StringLine.ToString() + "\r\n"; } if (blnToBePrinted == true) //If there is new items { if (nonfood) { for (int printCopy = 0; printCopy < m_barCopyNumber; printCopy++) { //tempPrintMethods.SerialPrint(PRINTER_TYPES.NORMAL_PRINTER, serialHeader, serialBody, serialFooter, tempOrderInfo.SerialNo.ToString()); // tempPrintMethods.SerialPrint(PRINTER_TYPES.NORMAL_PRINTER, serialHeader, serialBody, serialFooter, tempOrderInfo.SerialNo.ToString(),true); string fullPrintingText = serialHeader + "\r\n" + printingObject + "\r\n" + serialFooter; tempPrintMethods.USBPrint(fullPrintingText, PrintDestiNation.BEVARAGE, false); } this.WriteString(printingObject); ///Write to a file when print command is executed } if (othernoonfood) { for (int printCopy = 0; printCopy < m_barCopyNumber; printCopy++) { //tempPrintMethods.SerialPrint(PRINTER_TYPES.NORMAL_PRINTER, serialHeader, serialBody, serialFooter, tempOrderInfo.SerialNo.ToString()); // tempPrintMethods.SerialPrint(PRINTER_TYPES.NORMAL_PRINTER, serialHeader, serialBody, serialFooter, tempOrderInfo.SerialNo.ToString(),true); string fullPrintingText = serialHeader + "\r\n" + printingObject2 + "\r\n" + serialFooter; tempPrintMethods.USBPrint(fullPrintingText, PrintDestiNation.OtherNonFood, false); } this.WriteString(printingObject); ///Write to a file when print command is executed } blnToBePrinted = false; } #endregion } catch (Exception exp) { MessageBox.Show(exp.Message, RMSGlobal.MessageBoxTitle, MessageBoxButtons.OK, MessageBoxIcon.Error); } }
private void btnSetOrderWaiter_Click(object sender, EventArgs e) { try { WaiterForm waiterForm = new WaiterForm(); waiterForm.UserList = userList; waiterForm.ShowDialog(); if (waiterForm.DialogResult == DialogResult.OK) { COrderWaiterDao orderwaiterDao = new COrderWaiterDao(); COrderwaiter orderwaiter = new COrderwaiter(); orderwaiter = orderwaiterDao.GetOrderwaiterByOrderID(orderID); if (orderwaiter != null && orderwaiter.ID > 0 && orderwaiter.WaiterID != waiterForm.UserInfoData.UserID) { orderwaiter.OrderID = orderID; orderwaiter.WaiterID = waiterForm.UserInfoData.UserID; orderwaiter.WaiterName = waiterForm.UserInfoData.UserName; orderwaiterDao.UpdateOrderwaiter(orderwaiter); } else if (orderwaiter.ID==0) { orderwaiter.OrderID = orderID; orderwaiter.WaiterID = waiterForm.UserInfoData.UserID; orderwaiter.WaiterName = waiterForm.UserInfoData.UserName; orderwaiterDao.InsertOrderwaiter(orderwaiter); } } } catch(Exception ex) { } }
/// <summary> /// Printing at the kitchen /// </summary> private void KitchenPrint() { int papersize = 29; StringPrintFormater strPrintFormatter = new StringPrintFormater(29); Hashtable htOrderedItems = new Hashtable(); SortedList slOrderedItems = null; try { bool itemAvailable = false; CPrintMethodsEXT tempPrintMethods = new CPrintMethodsEXT(); CCommonConstants oConstant = ConfigManager.GetConfig<CCommonConstants>(); COrderManager tempOrderManager = new COrderManager(); CResult oResult = tempOrderManager.OrderInfoByOrderID(orderID); COrderInfo tempOrderInfo = new COrderInfo(); if (oResult.IsSuccess && oResult.Data != null) { tempOrderInfo = (COrderInfo)oResult.Data; } if (oConstant.KitchenPrintFlag == 1) { bool otherfoodprint = false; bool foodprint = false; string serialHeader = ""; string serialFooter = ""; string serialBody = ""; string serialBody2 = ""; if (m_iType == m_cCommonConstants.TableType) { //serialBody += "\r\n\r\n Table Number:" + m_iTableNumber.ToString(); serialBody += "Table Number:\r\n" + m_iTableNumber.ToString(); serialBody += "\r\nCovers:" + tempOrderInfo.GuestCount.ToString(); } serialBody += "\n\r\n"; serialBody += strPrintFormatter.CenterTextWithWhiteSpace("Kitchen Copy"); if (!tempOrderInfo.Status.Equals("Seated") && m_iType == m_cCommonConstants.TableType) { //serialBody += "\r\nReprint"; serialBody += "\r\n" + strPrintFormatter.CenterTextWithWhiteSpace("Reprint"); } serialBody += "\r\n\r\nOrder ID:" + orderID.ToString(); serialBody += "\r\n\r\nOrder Date:" + tempOrderInfo.OrderTime.ToString("dd/MM/yy hh:mm tt"); serialBody += "\r\nPrint Date:" + DateTime.Now.ToString("dd/MM/yy hh:mm tt"); if (m_iType == m_cCommonConstants.TableType) { //serialBody += "\r\n\r\n Table Number:" + m_iTableNumber.ToString(); //serialBody += "\r\n\n\r\nTable Number:" + m_iTableNumber.ToString(); //serialBody += "\r\nCovers:" + tempOrderInfo.GuestCount.ToString(); COrderWaiterDao orderWaiterDao = new COrderWaiterDao(); COrderwaiter orderWaiter = orderWaiterDao.GetOrderwaiterByOrderID(orderID); if (orderWaiter != null && orderWaiter.WaiterID > 0) { serialBody += "\r\nWaiter Name: " + orderWaiter.WaiterName +"\r\n"; } } else if (m_iType == m_cCommonConstants.TakeAwayType) { //Waiter for Takeway COrderWaiterDao orderWaiterDao = new COrderWaiterDao(); COrderwaiter orderWaiter = orderWaiterDao.GetOrderwaiterByOrderID(orderID); if (orderWaiter != null && orderWaiter.WaiterID > 0) { serialBody += "\r\nWaiter Name: " + orderWaiter.WaiterName + "\r\n"; } //serialBody += "\r\n\r\n Take Away"; serialBody += "\r\n" + strPrintFormatter.CenterTextWithWhiteSpace("Take Away"); serialBody += "\r\nType: " + tempOrderInfo.Status; CCustomerManager tempCustomerManager = new CCustomerManager(); CCustomerInfo tempCustomerInfo = (CCustomerInfo)tempCustomerManager.CustomerInfoGetByCustomerID(tempOrderInfo.CustomerID).Data; if (tempCustomerInfo.CustomerName.Length > 0) //If customer name is present { serialBody += "\r\nCustomer Name: " + tempCustomerInfo.CustomerName; } if (tempCustomerInfo.CustomerPhone.Length > 0) //If customer phone number is available { serialBody += "\r\nPhone:" + tempCustomerInfo.CustomerPhone; } if (tempOrderInfo.Status.Equals("Delivery")) { serialBody += "\r\nAddress:"; 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 = orderID; CResult objDeliveryInfo = tempOrderManager.GetDeliveryInfo(objDelivery); objDelivery = (CDelivery)objDeliveryInfo.Data; serialBody += "\r\nDelivery Time:" + objDelivery.DeliveryTime; } } //serialBody += "\r\n\r\nOrder Information"; serialBody += "\r\n" + strPrintFormatter.CenterTextWithWhiteSpace("Order Information"); //serialBody += "\r\n---------------------------------"; serialBody += "\r\n" + strPrintFormatter.CreateDashedLine(); if (m_isKitchenPriceAvailable == true) { //serialBody += "\r\nQty Item Price(" + Program.currency.ToString() + ")"; serialBody += "\r\n" + strPrintFormatter.ItemLabeledText("Qty Item", "Price(" + Program.currency + ")"); } else { serialBody += "\r\nQty Item"; } serialBody2 = serialBody; // serialBody += "\r\n---------------------------------"; if (m_orderUserName.Replace(" ", "").ToUpper() != "Web User".Replace(" ", "").ToUpper()) { string cat1ID = String.Empty; string cat2ID = String.Empty; string cat3ID = String.Empty; string separatorCatID = String.Empty; string category2Order = String.Empty; //Printing order will be according to category2 order for (int rowIndex = 0; rowIndex < g_FoodDataGridView.Rows.Count; rowIndex++) { DataGridViewRow tempRow = g_FoodDataGridView.Rows[rowIndex]; category2Order = String.Empty; if (!tempRow.Cells[0].Value.ToString().Equals("")) { // Int64 productID = Int64.Parse(tempRow.Cells[3].Value.ToString()); // Int32 productLevel = Int32.Parse(tempRow.Cells[4].Value.ToString()); Int64 productID = Int64.Parse(tempRow.Cells[4].Value.ToString()); Int32 productLevel = Int32.Parse(tempRow.Cells[5].Value.ToString()); if (productLevel == 3) { DataRow[] dtRow = dsCategory3.Tables[0].Select("cat3_id = " + productID); if (dtRow.Length > 0) { cat2ID = dtRow[0]["cat2_id"].ToString(); } cat1ID = Program.initDataSet.Tables["Category2"].Select("cat2_id = " + cat2ID)[0].GetParentRow(Program.initDataSet.Relations["category1_to_category2"])["cat1_id"].ToString(); } else if (productLevel == 4) { DataRow[] dtRow = dsCategory4.Tables[0].Select("cat4_id = " + productID); 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(); } cat1ID = Program.initDataSet.Tables["Category2"].Select("cat2_id = " + cat2ID)[0].GetParentRow(Program.initDataSet.Relations["category1_to_category2"])["cat1_id"].ToString();//Not necessary } else if (productLevel == 0)// && inFoodType.Equals("Indian")) //If miscellenious foods. { cat1ID = "0"; cat2ID = "0"; } #region "New " CCategory3DAO aDao = new CCategory3DAO(); string printstatus = aDao.GetAllCategory3printareaByCategory3ID((int)productID); 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()); //For vat grid index objOrderedItems.Quantity = Convert.ToInt32("0" + tempRow.Cells[1].Value.ToString()); objOrderedItems.ItemName = tempRow.Cells[0].Value.ToString(); objOrderedItems.Price = Convert.ToDouble("0" + tempRow.Cells[3].Value.ToString()); objOrderedItems.PrintArea = printstatus; //htOrderedItems.Add(cat2ID + "-" + objOrderedItems.ItemName, objOrderedItems); //Int64 rankNumber = Int64.Parse(tempRow.Cells[5].Value.ToString()); //For Vat Int64 rankNumber = Int64.Parse(tempRow.Cells[6].Value.ToString()); Int32 category1OrderNumber = this.GetCategory1OrderNumber(Convert.ToInt32(cat1ID)); htOrderedItems.Add(category1OrderNumber + "-" + rankNumber.ToString() + "-" + objOrderedItems.ItemName, objOrderedItems);// Category 1 wise #endregion itemAvailable = true;//For drinks.When drinks is avalable then no separator is used. } } NumericComparer ncomp = new NumericComparer(); slOrderedItems = new SortedList(htOrderedItems, ncomp); int keyIndex = 0; SortedList slMiscellaneousItems = new SortedList(); PrintUtility printUtility = new PrintUtility(); string[] valueSplitter = new string[0]; foreach (clsOrderReport objReport in slOrderedItems.Values) { string keyValue = slOrderedItems.GetKey(keyIndex).ToString(); valueSplitter = keyValue.Split('-'); if ((separatorCatID.Trim() != valueSplitter[0].ToString().Trim()) && (valueSplitter[0].ToString().Trim() != "0"))//Insert separator { ////serialBody += "\r\n---------------------------------"; //serialBody += "\r\n" + strPrintFormatter.CreateDashedLine(); //separatorCatID = valueSplitter[0].ToString().Trim(); ///*serialBody += "\r\n" + objReport.Quantity.ToString() + " "; //serialBody += CPrintMethods.GetFixedString(objReport.ItemName, 20);*/ ////serialBody += "\r\n" + strPrintFormatter.ItemLabeledText(objReport.Quantity.ToString().Trim(), objReport.ItemName.ToString()); //if (m_isKitchenPriceAvailable == true) //{ // serialBody += "\r\n" + strPrintFormatter.ItemLabeledText(objReport.Quantity.ToString().Trim() + " " + // printUtility.MultipleLine(objReport.ItemName.ToString(), papersize - 10, objReport.Price.ToString("F02"), papersize-3), ""); //} //else //{ // serialBody += "\r\n" + strPrintFormatter.ItemLabeledText(objReport.Quantity.ToString().Trim() + " " + // printUtility.MultipleLine(objReport.ItemName.ToString(), papersize - 5, "", papersize), ""); //} if (objReport.PrintArea == "Otherfood") { otherfoodprint = true; serialBody2 += "\r\n" + strPrintFormatter.CreateDashedLine(); separatorCatID = valueSplitter[0].ToString().Trim(); //serialBody += "\r\n" + objReport.Quantity.ToString() + " "; // serialBody += CPrintMethods.GetFixedString(objReport.ItemName, 20); if (m_isKitchenPriceAvailable == true) { //serialBody += " " + CPrintMethods.RightAlign(objReport.Price.ToString("F02"), 6); // serialBody += "\r\n" + strPrintFormatter.ItemLabeledText(objReport.Quantity.ToString() + " " + objReport.ItemName, objReport.Price.ToString("F02")); serialBody2 += "\r\n" + strPrintFormatter.ItemLabeledText( objReport.Quantity.ToString() + " " + printUtility.MultipleLine(objReport.ItemName, papersize - 10, objReport.Price.ToString("F02"), papersize - 3), ""); } else { // serialBody += "\r\n" + strPrintFormatter.ItemLabeledText(objReport.Quantity.ToString() + " " + objReport.ItemName, ""); serialBody2 += "\r\n" + strPrintFormatter.ItemLabeledText( objReport.Quantity.ToString() + " " + printUtility.MultipleLine(objReport.ItemName, papersize - 5, "", papersize), ""); } } else { foodprint = true; serialBody += "\r\n" + strPrintFormatter.CreateDashedLine(); separatorCatID = valueSplitter[0].ToString().Trim(); //serialBody += "\r\n" + objReport.Quantity.ToString() + " "; // serialBody += CPrintMethods.GetFixedString(objReport.ItemName, 20); if (m_isKitchenPriceAvailable == true) { //serialBody += " " + CPrintMethods.RightAlign(objReport.Price.ToString("F02"), 6); // serialBody += "\r\n" + strPrintFormatter.ItemLabeledText(objReport.Quantity.ToString() + " " + objReport.ItemName, objReport.Price.ToString("F02")); serialBody += "\r\n" + strPrintFormatter.ItemLabeledText( objReport.Quantity.ToString() + " " + printUtility.MultipleLine(objReport.ItemName, papersize - 10, objReport.Price.ToString("F02"), papersize - 3), ""); } else { // serialBody += "\r\n" + strPrintFormatter.ItemLabeledText(objReport.Quantity.ToString() + " " + objReport.ItemName, ""); serialBody += "\r\n" + strPrintFormatter.ItemLabeledText( objReport.Quantity.ToString() + " " + printUtility.MultipleLine(objReport.ItemName, papersize - 5, "", papersize), ""); } } } else if (valueSplitter[0].ToString() == "0") { slMiscellaneousItems.Add(slMiscellaneousItems.Count, objReport); } else { ///*serialBody += "\r\n" + objReport.Quantity.ToString() + " "; //serialBody += CPrintMethods.GetFixedString(objReport.ItemName, 20);*/ //// serialBody += "\r\n" + strPrintFormatter.SumupLabeledText(objReport.Quantity.ToString() + " " + objReport.ItemName.ToString()," "); //if (m_isKitchenPriceAvailable == true) //{ // //serialBody += " " + CPrintMethods.RightAlign(objReport.Price.ToString("F02"), 6); // // serialBody += "\r\n" + strPrintFormatter.ItemLabeledText(objReport.Quantity.ToString() + " " + objReport.ItemName.ToString(), objReport.Price.ToString("F02")); // serialBody += "\r\n" + strPrintFormatter.ItemLabeledText(objReport.Quantity.ToString().Trim() + " " + // printUtility.MultipleLine(objReport.ItemName.ToString(), papersize - 10, objReport.Price.ToString("F02"), papersize-3), ""); //} //else //{ // //serialBody += "\r\n" + strPrintFormatter.ItemLabeledText(objReport.Quantity.ToString() + " " + objReport.ItemName.ToString(), ""); // serialBody += "\r\n" + strPrintFormatter.ItemLabeledText(objReport.Quantity.ToString().Trim() + " " + // printUtility.MultipleLine(objReport.ItemName.ToString(), papersize - 5, "", papersize), ""); //} if (objReport.PrintArea == "Otherfood") { otherfoodprint = true; //serialBody2 += "\r\n" + objReport.Quantity.ToString() + " "; //serialBody2 += CPrintMethods.GetFixedString(objReport.ItemName, 20); if (m_isKitchenPriceAvailable == true) { //serialBody += " " + CPrintMethods.RightAlign(objReport.Price.ToString("F02"), 6); // serialBody += "\r\n" + strPrintFormatter.ItemLabeledText("\r\n" + objReport.Quantity.ToString() + " " + objReport.ItemName, objReport.Price.ToString("F02")); serialBody2 += "\r\n" + strPrintFormatter.ItemLabeledText( objReport.Quantity.ToString() + " " + printUtility.MultipleLine(objReport.ItemName, papersize - 10, objReport.Price.ToString("F02"), papersize - 3), ""); } else { serialBody2 += "\r\n" + objReport.Quantity.ToString() + " "; serialBody2 += CPrintMethods.GetFixedString(objReport.ItemName, 20); } } else { foodprint = true; //serialBody += "\r\n" + objReport.Quantity.ToString() + " "; //serialBody += CPrintMethods.GetFixedString(objReport.ItemName, 20); if (m_isKitchenPriceAvailable == true) { //serialBody += " " + CPrintMethods.RightAlign(objReport.Price.ToString("F02"), 6); // serialBody += "\r\n" + strPrintFormatter.ItemLabeledText("\r\n" + objReport.Quantity.ToString() + " " + objReport.ItemName, objReport.Price.ToString("F02")); serialBody += "\r\n" + strPrintFormatter.ItemLabeledText( objReport.Quantity.ToString() + " " + printUtility.MultipleLine(objReport.ItemName, papersize - 10, objReport.Price.ToString("F02"), papersize - 3), ""); } else { serialBody += "\r\n" + objReport.Quantity.ToString() + " "; serialBody += CPrintMethods.GetFixedString(objReport.ItemName, 20); } } } keyIndex++; } if (slMiscellaneousItems.Count > 0) { foodprint = true; //serialBody += "\r\n----------Miscellaneous----------"; //separator for miscellaneous serialBody += "\r\n" + strPrintFormatter.CenterTextWithDashed("Miscelaneous"); foreach (clsOrderReport objReport in slMiscellaneousItems.Values) { /*serialBody += "\r\n" + objReport.Quantity.ToString() + " "; serialBody += CPrintMethods.GetFixedString(objReport.ItemName, 20);*/ // serialBody += "\r\n" + strPrintFormatter.SumupLabeledText(objReport.Quantity.ToString() + " " + objReport.ItemName.ToString(), ""); if (m_isKitchenPriceAvailable == true) { //serialBody += " " + CPrintMethods.RightAlign(objReport.Price.ToString("F02"), 6); // serialBody += "\r\n" + strPrintFormatter.ItemLabeledText(objReport.Quantity.ToString() + " " + objReport.ItemName.ToString(), objReport.Price.ToString("F02")); serialBody += "\r\n" + strPrintFormatter.ItemLabeledText(objReport.Quantity.ToString().Trim() + " " + printUtility.MultipleLine(objReport.ItemName.ToString(), papersize - 10, objReport.Price.ToString("F02"), papersize-3), ""); } else { // serialBody += "\r\n" + strPrintFormatter.ItemLabeledText(objReport.Quantity.ToString() + " " + objReport.ItemName.ToString(), ""); serialBody += "\r\n" + strPrintFormatter.ItemLabeledText(objReport.Quantity.ToString().Trim() + " " + printUtility.MultipleLine(objReport.ItemName.ToString(), papersize - 5, "", papersize), ""); } } } //string[] kitchenCommand = new string[0]; //kitchenCommand = tempOrderInfo.InitialKitchenText.Split(','); //serialBody += "\r\n---------------------------------"; serialBody += "\r\n" + strPrintFormatter.CreateDashedLine(); serialBody2 += "\r\n" + strPrintFormatter.CreateDashedLine(); CResult objKitchenText = tempOrderManager.GetKitchenTextByOrderID(orderID); List<OrderLogInformation> tempOrderLogInfoList = new List<OrderLogInformation>(); tempOrderLogInfoList = (List<OrderLogInformation>)objKitchenText.Data; if (tempOrderLogInfoList.Count > 0) { serialBody += "\r\nKT Txt:"; serialBody2 += "\r\nKT Txt:"; } for (int recordCounter = 0; recordCounter < tempOrderLogInfoList.Count; recordCounter++) { if (tempOrderLogInfoList[recordCounter].KitchenTextPrintStatus < 1) { serialBody += "\r\n- " + tempOrderLogInfoList[recordCounter].KitchenText; serialBody += "\r\n- " + tempOrderLogInfoList[recordCounter].KitchenText; } } serialBody += "\r\nOrder Prepared By:" + m_OperatorName; serialBody += "\r\n" + m_TerminalName; serialBody += "\r\n\r\n" + strPrintFormatter.CenterTextWithWhiteSpace("[ E N D ]") + "\r\n\r\n"; serialBody2 += "\r\nOrder Prepared By:" + m_OperatorName; serialBody2 += "\r\n" + m_TerminalName; serialBody2 += "\r\n\r\n" + strPrintFormatter.CenterTextWithWhiteSpace("[ E N D ]") + "\r\n\r\n"; //tempPrintMethods.SerialPrint(PRINTER_TYPES.KITCHEN_PRINTER, serialHeader, serialBody, serialFooter); // string fullKitchenPrinttext=serialHeader+"\r\n"+serialBody+"\r\n"+serialFooter; // tempPrintMethods.USBPrint(fullKitchenPrinttext, PrintDestiNation.KITCHEN, false); if (itemAvailable == true) //If there is available items { ///Kitchen Print call /// CPrintingFormat tempPrintingFormat = new CPrintingFormat(); tempPrintingFormat.Header = serialHeader; tempPrintingFormat.Body = serialBody.ToUpper(); tempPrintingFormat.Footer = serialFooter; tempPrintingFormat.OrderID = orderID; tempPrintingFormat.PrintType = (int)PRINTER_TYPES.Serial; CPrintingFormat tempPrintingFormat1 = new CPrintingFormat(); tempPrintingFormat1.Header = serialHeader; tempPrintingFormat1.Body = serialBody2.ToUpper(); tempPrintingFormat1.Footer = serialFooter; tempPrintingFormat1.OrderID = orderID; tempPrintingFormat1.PrintType = (int)PRINTER_TYPES.Serial; CPrintMethodsEXT cPrintMethods = new CPrintMethodsEXT(); CLogin oLogin = new CLogin(); oLogin = (RmsRemote.CLogin)Activator.GetObject(typeof(RmsRemote.CLogin), oConstant.RemoteURL); for (int printCopy = 0; printCopy < m_printedCopy; printCopy++) { if (foodprint) { string fulltext = tempPrintingFormat.Header + "\r\n" + tempPrintingFormat.Body + "\r\n" + tempPrintingFormat.Footer; cPrintMethods.USBPrint(fulltext, PrintDestiNation.KITCHEN, false); } if (otherfoodprint) { string fulltext = tempPrintingFormat1.Header + "\r\n" + tempPrintingFormat1.Body + "\r\n" + tempPrintingFormat1.Footer; cPrintMethods.USBPrint(fulltext, PrintDestiNation.Other, false); } } if (tempOrderLogInfoList.Count > 0) //If kitchen command is available. { this.UpdateKitchenTextPrintStatus(); } this.WriteString(serialBody);//Writing to the specified file } } else //For online orders all items { bool isItemsAvailable = false; foodprint = false; otherfoodprint = false; serialBody += "\r\n---------------------------------"; for (int rowIndex = 0; rowIndex < g_FoodDataGridView.RowCount; rowIndex++) { // Int64 productID = Int64.Parse(tempRow.Cells[4].Value.ToString()); if (g_FoodDataGridView.Rows[rowIndex].Cells[1].Value.ToString() != String.Empty) { Int64 productID = Int64.Parse(g_FoodDataGridView.Rows[rowIndex].Cells[1].Value.ToString()); CCategory3DAO aDao = new CCategory3DAO(); string printstatus = aDao.GetAllCategory3printareaByCategory3ID((int)productID); if (printstatus == "Otherfood") { otherfoodprint = true; serialBody2 += "\r\n" + g_FoodDataGridView.Rows[rowIndex].Cells[1].Value.ToString() + " "; serialBody2 += CPrintMethods.GetFixedString( g_FoodDataGridView.Rows[rowIndex].Cells[0].Value.ToString(), 20); if (m_isKitchenPriceAvailable == true) { serialBody2 += " " + CPrintMethods.RightAlign( Convert.ToDouble("0" + g_FoodDataGridView.Rows[rowIndex].Cells[2]. Value).ToString("F02"), 6); } } else { foodprint = true; serialBody += "\r\n" + g_FoodDataGridView.Rows[rowIndex].Cells[1].Value.ToString() + " "; serialBody += CPrintMethods.GetFixedString( g_FoodDataGridView.Rows[rowIndex].Cells[0].Value.ToString(), 20); if (m_isKitchenPriceAvailable == true) { serialBody += " " + CPrintMethods.RightAlign( Convert.ToDouble("0" + g_FoodDataGridView.Rows[rowIndex].Cells[2]. Value).ToString("F02"), 6); } } isItemsAvailable = true; } } serialBody += "\r\n---------------------------------"; serialBody += "\r\nKT Txt:" + tempOrderInfo.InitialKitchenText; serialBody += "\r\n---------------------------------"; serialBody += "\r\nOrder Prepared By:" + m_OperatorName; serialBody += "\r\n\r\n [ E N D ]\r\n\r\n"; serialBody2 += "\r\n---------------------------------"; serialBody2 += "\r\nKT Txt:" + tempOrderInfo.InitialKitchenText; serialBody2 += "\r\n---------------------------------"; serialBody2 += "\r\nOrder Prepared By:" + m_OperatorName; serialBody2 += "\r\n\r\n [ E N D ]\r\n\r\n"; if (isItemsAvailable == false)//If there is no items in the datagrid view { return; } else { if (foodprint) { CPrintingFormat tempPrintingFormat = new CPrintingFormat(); CPrintMethodsEXT cPrintMethods = new CPrintMethodsEXT(); 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); string fulltext = tempPrintingFormat.Header + "\r\n" + tempPrintingFormat.Body + "\r\n" + tempPrintingFormat.Footer; cPrintMethods.USBPrint(fulltext, PrintDestiNation.KITCHEN, false); this.WriteString(serialBody); //Writing to the specified file } if (otherfoodprint) { CPrintingFormat tempPrintingFormat = new CPrintingFormat(); CPrintMethodsEXT cPrintMethods = new CPrintMethodsEXT(); tempPrintingFormat.Header = serialHeader; tempPrintingFormat.Body = serialBody2.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); string fulltext = tempPrintingFormat.Header + "\r\n" + tempPrintingFormat.Body + "\r\n" + tempPrintingFormat.Footer; cPrintMethods.USBPrint(fulltext, PrintDestiNation.Other, false); this.WriteString(serialBody); //Writing to the specified file } } } if (tempOrderInfo.Status.Equals("Seated") && tempOrderInfo.OrderType.Equals("Table")) { tempOrderInfo.Status = "Ordered"; tempOrderManager.UpdateOrderInfo(tempOrderInfo); } } } catch (Exception exp) { MessageBox.Show(exp.Message, RMSGlobal.MessageBoxTitle, MessageBoxButtons.OK, MessageBoxIcon.Error); } }
// 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); } }
/***************************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 UpdateCalculation(int paymentMethodIndex) { try { Double tempTotalPaid = 0.0; Debug.WriteLine("UpdateCalc 1"); tempTotalPaid += Double.Parse(g_CashLabel.Text.Substring(Program.currency.Length)) + Double.Parse(g_EFTLabel.Text.Substring(Program.currency.Length)) + Double.Parse(g_ChequeLabel.Text.Substring(Program.currency.Length)) + Double.Parse(g_AccountLabel.Text.Substring(Program.currency.Length)) + Double.Parse(complementorylabel.Text.Substring(Program.currency.Length)); Debug.WriteLine("UpdateCalc 2"); Double tempBillTotal = m_dTotalAmount + Convert.ToDouble("0" + g_ServiceChargeLabel.Text.Substring(Program.currency.Length)); Debug.WriteLine("UpdateCalc 3"); Double tempDifference = tempBillTotal - tempTotalPaid; Debug.WriteLine("UpdateCalc 4"); if (tempDifference > 0) { m_dBalance = tempDifference; g_BalaceLabel.Text = String.Format("Balance Due {0}" + m_dBalance.ToString("F02"), Program.currency); Debug.WriteLine("UpdateCalc 5"); } else { if (CurrentPaymentMethod.Equals("Cash")) { if (m_isAddServiceCharge == false) { g_CashLabel.Text = Program.currency + m_dBalance.ToString("F02"); } } else if (CurrentPaymentMethod.Equals("EFT")) { if (m_isAddServiceCharge == false) { g_EFTLabel.Text = Program.currency + m_dBalance.ToString("F02"); } } else if (CurrentPaymentMethod.Equals("Due")) { if (m_isAddServiceCharge == false) { g_ChequeLabel.Text = Program.currency + m_dBalance.ToString("F02"); } } else if (CurrentPaymentMethod.Equals("Voucher")) { if (m_isAddServiceCharge == false) { g_VoucherLabel.Text = Program.currency + m_dBalance.ToString("F02"); } } else if (CurrentPaymentMethod.Equals("Account")) { if (m_isAddServiceCharge == false) { g_AccountLabel.Text = Program.currency + m_dBalance.ToString("F02"); } } else if (CurrentPaymentMethod.Equals("Discount")) { g_DiscountLabel.Text = Program.currency + m_dBalance.ToString("F02"); } else if (CurrentPaymentMethod.Equals("Deposit")) { g_DepositUsedLabel.Text = Program.currency + m_dBalance.ToString("F02"); } else if (CurrentPaymentMethod.Equals("Complementory")) { if (m_isAddServiceCharge == false) { complementorylabel.Text = Program.currency + m_dBalance.ToString("F02"); } } Debug.WriteLine("UpdateCalc 6"); m_dBalance = -tempDifference; g_BalaceLabel.Text = "Pay Back " + Program.currency + (m_dBalance-tipsamount).ToString("F02"); Debug.WriteLine("UpdateCalc 7"); CPaymentManager tempPaymentManager = new CPaymentManager(); /***********************/ /********New Print******/ /***********************/ if (isCheatManuallyhandled()) { DialogResult dresult = MessageBox.Show("Make It Open?", "Message", MessageBoxButtons.YesNo); if (dresult == DialogResult.Yes) { makeOpen = true; } if (dresult == DialogResult.No) { makeOpen = false; } } DataSet tempDataSet = new DataSet(); tempDataSet.ReadXml("Config/Print_Config.xml"); if (tempDataSet.Tables[0].Rows[0]["PrintPaymentBill"].ToString().ToLower().Equals("true")) { Debug.WriteLine("UpdateCalc 17"); PrintPaymentBill(paymentMethodIndex);//Payment method index .Cash=1,EFT=2,Cheque=3 } COrderManager temmpOrderManager = new COrderManager(); COrderDiscount tempOrderDiscount = new COrderDiscount(); CResult ooResult = temmpOrderManager.OrderDiscountGetByOrderID(m_iOrderID); double itemDiscount = 0; if (ooResult.IsSuccess && ooResult.Data != null) { tempOrderDiscount = (COrderDiscount) ooResult.Data; itemDiscount = tempOrderDiscount.TotalItemDiscount; } //Check whether payment data exists if (m_cPayment == null) { Debug.WriteLine("UpdateCalc 8"); ///insert into payment table CPayment tempPayment = new CPayment(); tempPayment.OrderID = m_iOrderID; //get pc id from pc ip CPcInfoManager tempPcInfoManager = new CPcInfoManager(); IPHostEntry ipEntry = System.Net.Dns.GetHostByName(Dns.GetHostName()); CPcInfo tempPcInfo = (CPcInfo)tempPcInfoManager.PcInfoByPcIP(ipEntry.AddressList[0].ToString()).Data; tempPayment.PcID = tempPcInfo.PcID; Debug.WriteLine("UpdateCalc 9"); tempPayment.TotalAmount = m_dTotalAmount; tempPayment.CashAmount = Double.Parse(g_CashLabel.Text.Substring(Program.currency.Length)); tempPayment.EFTAmount = Double.Parse(g_EFTLabel.Text.Substring(Program.currency.Length)); tempPayment.ChequeAmount = Double.Parse(g_ChequeLabel.Text.Substring(Program.currency.Length)); tempPayment.ServiceAmount = m_serviceCharge_cash + m_serviceCharge_voucher + m_serviceCharge_eft + m_serviceCharge_cheque + m_serviceCharge_accounts - tipsamount; //Double.Parse(g_ServiceChargeLabel.Text.Substring(Program.currency.Length)); tempPayment.VoucherAmount = Double.Parse(complementorylabel.Text.Substring(Program.currency.Length)); tempPayment.Discount = Double.Parse(g_DiscountLabel.Text.Substring(Program.currency.Length)); tempPayment.AccountPay = Double.Parse(g_AccountLabel.Text.Substring(Program.currency.Length)); tempPayment.DepositID = m_oDeposit.DepositID; tempPayment.DepositAmount = Double.Parse(g_DepositUsedLabel.Text.Substring(Program.currency.Length)); tempPayment.PaymentTime = System.DateTime.Now; tempPayment.ServiceChargeCash = m_serviceCharge_cash; tempPayment.ServiceChargeCheque = m_serviceCharge_cheque; tempPayment.ServiceChargeEft = m_serviceCharge_eft; tempPayment.ServiceChargeVoucher = m_serviceCharge_voucher; tempPayment.ServiceChargeAcc = m_serviceCharge_accounts; tempPayment.DueMessage = dueMessage; tempPayment.ComplementoryMessage = complementoryMessage; double totalCost = GetTotalCost(m_iOrderID); tempPayment.TotalCost = totalCost; tempPayment.TipsAmount = tipsamount; tempPayment.VatImposed = Program.vat.ToString(); tempPayment.membershipDiscount = (double)membershipdiscount; tempPayment.ItemDiscount = itemDiscount; //tempPayment.VatImposed = Program.vat.ToString(); tempPayment.GuestBill = gusetBillStr; COrderWaiterDao orderWaiterDao = new COrderWaiterDao(); // Change by Mithu COrderwaiter orderWaiter = orderWaiterDao.GetOrderwaiterByOrderID(m_iOrderID); // Change by Mithu try { tempPayment.Waiter = orderWaiter.WaiterName; } catch (Exception) { } if (makeOpen) tempPayment.Vat_stat = true; else tempPayment.Vat_stat = false; tempPayment.PaymentPerson = RMSGlobal.LoginUserName; DataSet tempStockDataSet = new DataSet(); tempStockDataSet.ReadXml("Config/StockSetting.xml"); bool isAllowedToOrder = Convert.ToBoolean(tempStockDataSet.Tables[0].Rows[0]["AllowedtoOrder"].ToString()); if (!isAllowedToOrder) { COrderDetailsDAO aDao = new COrderDetailsDAO(); List<COrderDetails> aList = new List<COrderDetails>(); double cost = 0.0; try { aList = aDao.OrderDetailsGetAll(); var check = from list in aList where list.OrderID == tempPayment.OrderID select list; SaleReportDAO aSaleReportDao = new SaleReportDAO(); aSaleReportDao.InsertOrUpdateSaleRawmaterialsReport(check); } catch { } } CResult oResult = tempPaymentManager.InsertPayment(tempPayment); if (oResult.IsSuccess && oResult.Data != null) { tempPayment = (CPayment)oResult.Data; m_cPayment = tempPayment; Debug.WriteLine("UpdateCalc 10"); } } else { Debug.WriteLine("UpdateCalc 11"); //update payment table CPayment tempPayment = new CPayment(); tempPayment.PaymentID = m_cPayment.PaymentID; tempPayment.OrderID = m_iOrderID; tempPayment.TotalAmount = m_dTotalAmount; tempPayment.CashAmount = Double.Parse(g_CashLabel.Text.Substring(Program.currency.Length)); tempPayment.EFTAmount = Double.Parse(g_EFTLabel.Text.Substring(Program.currency.Length)); tempPayment.ChequeAmount = Double.Parse(g_ChequeLabel.Text.Substring(Program.currency.Length)); tempPayment.ServiceAmount = m_serviceCharge_cash + m_serviceCharge_voucher + m_serviceCharge_eft + m_serviceCharge_cheque + m_serviceCharge_accounts - tipsamount; //Double.Parse(g_ServiceChargeLabel.Text.Substring(Program.currency.Length)); tempPayment.VoucherAmount = Double.Parse(complementorylabel.Text.Substring(Program.currency.Length)); tempPayment.Discount = Double.Parse(g_DiscountLabel.Text.Substring(Program.currency.Length)); tempPayment.AccountPay = Double.Parse(g_AccountLabel.Text.Substring(Program.currency.Length)); tempPayment.DepositID = m_oDeposit.DepositID; tempPayment.DepositAmount = Double.Parse(g_DepositUsedLabel.Text.Substring(Program.currency.Length)); tempPayment.PaymentTime = System.DateTime.Now; tempPayment.ServiceChargeCash = m_serviceCharge_cash; tempPayment.ServiceChargeCheque = m_serviceCharge_cheque; tempPayment.ServiceChargeEft = m_serviceCharge_eft; tempPayment.ServiceChargeVoucher = m_serviceCharge_voucher; tempPayment.ServiceChargeAcc = m_serviceCharge_accounts; tempPayment.VatImposed = Program.vat.ToString(); tempPayment.TipsAmount = tipsamount; tempPayment.GuestBill = gusetBillStr; tempPayment.membershipDiscount = (double)membershipdiscount; tempPayment.ItemDiscount = itemDiscount; //tempPayment.DueMessage = dueMessage; //tempPayment.ComplementoryMessage = complementoryMessage; if (isCheatManuallyhandled()) { DialogResult dresult = MessageBox.Show("Make It Open?", "Message", MessageBoxButtons.YesNo); if (dresult == DialogResult.Yes) { makeOpen = true; } if (dresult == DialogResult.No) { makeOpen = false; } } if (makeOpen) tempPayment.Vat_stat = true; else tempPayment.Vat_stat = false; tempPayment.PaymentPerson = RMSGlobal.LoginUserName; tempPaymentManager.UpdatePayment(tempPayment); m_cPayment = tempPayment; Debug.WriteLine("UpdateCalc 12"); } //Update Deposit CDepositManager tempDepositManager = new CDepositManager(); tempDepositManager.UpdateDeposit(m_oDeposit); //opening cash drawer try { CPrintMethods tempPrintMethods = new CPrintMethods(); tempPrintMethods.OpenDrawer(); #region "Tracking Area" CCommonConstants m_oCommonConstants; //Drawer Opening log DateTime dtPayment = DateTime.Now; dtPayment = new DateTime(dtPayment.Year, dtPayment.Month, dtPayment.Day, dtPayment.Hour, dtPayment.Minute, dtPayment.Second); Int64 dateTime = dtPayment.Ticks; m_oCommonConstants = ConfigManager.GetConfig<CCommonConstants>(); CUserInfo objUserInfo = m_oCommonConstants.UserInfo; tempPaymentManager.SaveDrawerLogs(RMSGlobal.Terminal_Id, objUserInfo.UserName, dateTime); #endregion Debug.WriteLine("UpdateCalc 18"); } catch (Exception eee) { Debug.WriteLine("UpdateCalc 19"); Debug.WriteLine(eee.ToString()); } ///Print Payment Bill /// /* DataSet tempDataSet = new DataSet(); tempDataSet.ReadXml("Config/Print_Config.xml"); if (tempDataSet.Tables[0].Rows[0]["PrintPaymentBill"].ToString().ToLower().Equals("true")) { Debug.WriteLine("UpdateCalc 17"); PrintPaymentBill(paymentMethodIndex);//Payment method index .Cash=1,EFT=2,Cheque=3 } */ COrderManager tempOrderManager = new COrderManager(); COrderInfo tempOrderInfo = null; if (m_orderUserName.Replace(" ", "").ToUpper() != "Web User".Replace(" ", "").ToUpper()) //If local orders are processed { tempOrderInfo = (COrderInfo)tempOrderManager.OrderInfoByOrderID(m_iOrderID).Data; tempOrderManager.UpdateOrderInfo(tempOrderInfo); Debug.WriteLine("UpdateCalc 13"); tempOrderManager.InsertOrderArchive(tempOrderInfo); Debug.WriteLine("UpdateCalc 14"); tempOrderManager.InsertOrderDetailsArchive(tempOrderInfo); Debug.WriteLine("UpdateCalc 15"); } else //If online orders are processed { tempOrderInfo = (COrderInfo)tempOrderManager.OrderInfoByOrderID(m_iOrderID).Data; tempOrderManager.InsertOnlineOrderArchive(tempOrderInfo); Debug.WriteLine("Online orders archiving"); } tempOrderManager.DeleteTableInfo(tempOrderInfo.TableNumber, m_sTableType); Debug.WriteLine("UpdateCalc 16"); //insert voucher tempOrderManager.InsertOrderVoucher(m_oOrderVoucher); ///back to main screen /// CFormManager.Forms.Pop(); Form tempForm = CFormManager.Forms.Pop(); tempForm.Show(); this.Close(); } g_BalaceLabel.ForeColor = Color.Red; } catch (Exception eee) { //MessageBox.Show(eee.ToString()); Debug.WriteLine("UpdateCalc catch"); Debug.WriteLine(eee.ToString()); } }
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); } }
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); } }
private void NewTableButton_Click(object sender, EventArgs e) { try { COrderManager tempOrderManager = new COrderManager(); List<COrderShow> tempOrderShowList = (List<COrderShow>)tempOrderManager.OrderListShowByStatus("Paid").Data; CCalculatorForm tableNumberForm = new CCalculatorForm("Table Information", "Table Number"); tableNumberForm.ShowDialog(); if (CCalculatorForm.inputResult.Equals("Cancel")) return; if (CCalculatorForm.inputResult.Equals("") || Int32.Parse(CCalculatorForm.inputResult) == 0) { CMessageBox tempMessageBox = new CMessageBox("Error", "Input invalid!"); tempMessageBox.ShowDialog(); return; } string tableNumber = ""; tableNumber = CCalculatorForm.inputResult; if (tableNumber.Equals("")) return; bool found = false; for (int recordCounter = 0; recordCounter < tempOrderShowList.Count; recordCounter++) { if (int.Parse(tableNumber) == tempOrderShowList[recordCounter].TableNumber && tempOrderShowList[recordCounter].OrderType.Equals("Table")) found = true; } if (found) { CMessageBox tempMessageBox = new CMessageBox("Error", "Table already opened. Please select another table number."); tempMessageBox.ShowDialog(); return; } if (tableNumber.Equals("Cancel")) { return; } CCalculatorForm tableGuestForm = new CCalculatorForm("Table Information", "Covers"); tableGuestForm.ShowDialog(); if (CCalculatorForm.inputResult.Equals("Cancel")) { return; } if (CCalculatorForm.inputResult.Equals("") || Int32.Parse(CCalculatorForm.inputResult) == 0) { CMessageBox tempMessageBox = new CMessageBox("Error", "Input invalid!"); tempMessageBox.ShowDialog(); return; } string tableGuest = ""; tableGuest = CCalculatorForm.inputResult; if (tableGuest.Equals("Cancel")) //If cancelled then exit. { return; } CCalculatorForm floorNumberForm = new CCalculatorForm("Floor Information", "Floor Number"); floorNumberForm.ShowDialog(); if (CCalculatorForm.inputResult.Equals("Cancel")) return; string floorNumber = ""; floorNumber = CCalculatorForm.inputResult; COrderInfo tempOrderInfo = new COrderInfo(); tempOrderInfo.TableNumber = int.Parse(tableNumber); //tempOrderInfo.TableName = "Table " + tableNumber; tempOrderInfo.UserID = m_oCommonConstants.UserInfo.UserID; tempOrderInfo.OrderTime = System.DateTime.Now; //needed now tempOrderInfo.OrderType = "Table"; tempOrderInfo.GuestCount = int.Parse(tableGuest); tempOrderInfo.Status = "Seated"; tempOrderInfo.FloorNo = floorNumber; //tempOrderInfo.InitialKitchenText = kitchenText; COrderManager tempOrderManager2 = new COrderManager(); tempOrderInfo = (COrderInfo)tempOrderManager2.InsertOrderInfo(tempOrderInfo).Data; COrderSeatTime tempOrderSeatTime = new COrderSeatTime(); tempOrderSeatTime.OrderID = tempOrderInfo.OrderID; tempOrderSeatTime.SeatTime = DateTime.Now; tempOrderManager2.InsertOrderSeatTime(tempOrderSeatTime); LobbyItemButton tableIcon = new LobbyItemButton(); tableIcon.OrderID = tempOrderInfo.OrderID; tableIcon.TableName = "Table " + tableNumber; tableIcon.GuestCount = tableGuest; tableIcon.User = m_oCommonConstants.UserInfo.UserName; tableIcon.SeatedTime = tempOrderSeatTime.SeatTime; // tableIcon.Icon = global::RMS.Properties.Resources.seated; tableIcon.ItemType = RMSUIConstants.ItemType.SeatedButNoOrdered; tableIcon.TableNumber = int.Parse(tableNumber); tableIcon.Click += new EventHandler(TableIcon_MouseClick); tableIconList.Add(tableIcon); CTableInfo tempTableInfo = new CTableInfo(); tempTableInfo.TableNumber = int.Parse(tableNumber); tempTableInfo.TableType = "Table"; tempTableInfo.Status = 0; tempOrderManager.InsertTableInfo(tempTableInfo); try { WaiterForm waiterForm = new WaiterForm(); waiterForm.UserList = userList; waiterForm.ShowDialog(); if (waiterForm.DialogResult == DialogResult.OK) { COrderWaiterDao orderwaiterDao = new COrderWaiterDao(); COrderwaiter orderwaiter = new COrderwaiter(); orderwaiter = orderwaiterDao.GetOrderwaiterByOrderID(tempOrderInfo.OrderID); if (orderwaiter != null && orderwaiter.ID > 0 && orderwaiter.WaiterID != waiterForm.UserInfoData.UserID) { orderwaiter.OrderID = tempOrderInfo.OrderID; orderwaiter.WaiterID = waiterForm.UserInfoData.UserID; orderwaiter.WaiterName = waiterForm.UserInfoData.UserName; orderwaiterDao.UpdateOrderwaiter(orderwaiter); } else if (orderwaiter.ID == 0) { orderwaiter.OrderID = tempOrderInfo.OrderID; orderwaiter.WaiterID = waiterForm.UserInfoData.UserID; orderwaiter.WaiterName = waiterForm.UserInfoData.UserName; orderwaiterDao.InsertOrderwaiter(orderwaiter); } } } catch (Exception ex) { } #region "OLD Code" //TablePanel.Controls.Clear(); //Init(); #endregion #region "New code added by Baruri" CTableOrderForm objOrderDetailsForm = new CTableOrderForm(tempOrderInfo.OrderID, 0, tempTableInfo.TableNumber); objOrderDetailsForm.m_orderUserName = RMSGlobal.LoginUserName; objOrderDetailsForm.Show(); CFormManager.Forms.Push(this); this.Hide(); #endregion } catch (Exception ee) { } }