private void btnPrintSummary_Click(object sender, EventArgs e) { m_htFoods = new Hashtable(); m_htNonFoods = new Hashtable(); // FormatDataTime(); DataSet dsSalesRecords = new DataSet(); CResult objResult = new CResult(); SystemManager objSystemMgnr = new SystemManager(); DateTime dtNow = DateTime.Now; DateTime dtStart = new DateTime(dtNow.Year, dtNow.Month, dtNow.Day, 0, 0, 0); DateTime dtEnd = new DateTime(dtNow.Year, dtNow.Month, dtNow.Day, 23, 59, 59); //if (chkFromTime.Checked) //{ dtStart = new DateTime(dtStart.Year, dtStart.Month, dtStart.Day, 7, 0, 0); dtEnd = new DateTime(dtEnd.Year, dtEnd.Month, dtEnd.Day, 6, 59, 59); // } dtEnd = dtEnd.AddDays(1); objResult = objSystemMgnr.GetSalesRecordsForINV(dtStart.Ticks, dtEnd.Ticks); StringPrintFormater strPrintFormatter = new StringPrintFormater(40); DataTable dt = (DataTable)objResult.Data; tableReport = new DataTable(); tableReport.Columns.Add("product_id", typeof(int)); tableReport.Columns.Add("product_Name", typeof(string)); tableReport.Columns.Add("amount", typeof(string)); tableReport.Columns.Add("quantity", typeof(string)); tableReport.Columns.Add("TotalAmount", typeof(string)); tableReport.Columns.Add("guest_count", typeof(int)); tableReport.Columns.Add("cat_level", typeof(int)); tableReport.Columns.Add("food_type", typeof(string)); if (dt != null || dt.Rows.Count > 0) for (int i = 0; i < dt.Rows.Count; i++) { tableReport.Rows.Add(Convert.ToInt16(dt.Rows[i]["product_id"]), Convert.ToString(dt.Rows[i]["product_Name"]), dt.Rows[i]["amount"].ToString(), dt.Rows[i]["quantity"].ToString(), dt.Rows[i]["TotalAmount"].ToString(), Convert.ToInt16(dt.Rows[i]["guest_count"]), Convert.ToInt16(dt.Rows[i]["cat_level"]), dt.Rows[i]["food_type"].ToString()); } if (dataGridView1.Rows.Count > 0) if (tableReport.Rows.Count > 0) { // Int32 guestCounter = Convert.ToInt32(dsSalesRecords.Tables[0].Rows[0]["guest_count"]); Int32 guestCounter = Convert.ToInt32(tableReport.Rows[0]["guest_count"]); CPrintMethods tempPrintMethods = new CPrintMethods(); string serialHeader = RMSClientController.CollectHeader(); string serialFooter = RMSClientController.CollectFooter(); List<CSerialPrintContent> serialBody = new List<CSerialPrintContent>(); CSerialPrintContent tempSerialPrintContent = new CSerialPrintContent(); tempSerialPrintContent.StringLine = "\r\n" + strPrintFormatter.CenterTextWithWhiteSpace("Inventory Sales Report") + "\r\n"; serialBody.Add(tempSerialPrintContent); tempSerialPrintContent = new CSerialPrintContent(); tempSerialPrintContent.StringLine = strPrintFormatter.CenterTextWithWhiteSpace("Date of Consumption of Items:" + DateTime.Now.ToString("dd/MM/yyyy")) + "\r\n"; serialBody.Add(tempSerialPrintContent); //tempSerialPrintContent = new CSerialPrintContent(); //tempSerialPrintContent.StringLine = "No. of Covers:" + guestCounter.ToString() + "\n"; //serialBody.Add(tempSerialPrintContent); tempSerialPrintContent = new CSerialPrintContent(); tempSerialPrintContent.StringLine = strPrintFormatter.CreateDashedLine() +"\r\n"; serialBody.Add(tempSerialPrintContent); tempSerialPrintContent = new CSerialPrintContent(); tempSerialPrintContent.StringLine = "Qty Item Price(£)"+"\r\n"; serialBody.Add(tempSerialPrintContent); tempSerialPrintContent = new CSerialPrintContent(); tempSerialPrintContent.StringLine = strPrintFormatter.CreateDashedLine() + "\r\n"; serialBody.Add(tempSerialPrintContent); CCategory3DAO category3DAO = new CCategory3DAO(); SortedList slorderedFoodItems = new SortedList(); SortedList slorderedNonFoodItems = new SortedList(); //if (dsSalesRecords.Tables[0].Rows.Count > 0) if (tableReport.Rows.Count > 0) { // foreach (DataRow dtRrow in dsSalesRecords.Tables[0].Rows) foreach (DataRow dtRrow in tableReport.Rows) { clsOrderReport objOrderedItems = new clsOrderReport(); string[] returnedValue = GetProductName(dtRrow).Split(':'); // string productName = Convert.ToString(returnedValue[0]); string productName = ""; CCategory3 cat3 = category3DAO.GetAllCategory3ByCategory3ID(Convert.ToInt32(dtRrow["product_id"].ToString())); if (cat3 != null && cat3.Category3Name.Length>0) { productName = cat3.Category3Name; } else { productName = Convert.ToString(dtRrow["product_Name"].ToString()); // @hafiz } string cat1ID = Convert.ToString(returnedValue[1]); objOrderedItems.Quantity = Convert.ToInt32("0" + dtRrow["quantity"].ToString()); objOrderedItems.ItemName = productName; objOrderedItems.Price = Convert.ToDouble(dtRrow["TotalAmount"]); objOrderedItems.FoodTypeName = Convert.ToString(returnedValue[2]); Int32 category1OrderNumber = 0; if (cat1ID != "") { category1OrderNumber = this.GetCategory1OrderNumber(Convert.ToInt32(cat1ID)); objOrderedItems.OrderNumber = category1OrderNumber; string keyCode = category1OrderNumber + "-" + objOrderedItems.Quantity.ToString() + "-" + objOrderedItems.ItemName; if (Convert.ToString(dtRrow["food_type"]).Equals("Food")) //Separate food/nonfoods { m_htFoods.Add(keyCode, objOrderedItems); } else { m_htNonFoods.Add(keyCode, objOrderedItems); } } else { category1OrderNumber = maxOrder + 1; objOrderedItems.OrderNumber = category1OrderNumber; string keyCode = category1OrderNumber + "-" + objOrderedItems.Quantity.ToString() + "-" + objOrderedItems.ItemName; if (Convert.ToString(dtRrow["food_type"]).Equals("Food")) //Separate food/nonfoods { m_htFoods.Add(keyCode, objOrderedItems); } else { m_htNonFoods.Add(keyCode, objOrderedItems); } } } int separatorNumber = -1; NumericComparer nc = new NumericComparer(); slorderedFoodItems = new SortedList(m_htFoods, nc); //Creating the sorted list from the hash table. slorderedNonFoodItems = new SortedList(m_htNonFoods, nc); SortedList slMaster1 = new SortedList(); ArrayList arrListItems = null; foreach (DictionaryEntry objOrderedItems in slorderedFoodItems) { clsOrderReport objItem = (clsOrderReport)objOrderedItems.Value; string keyValue = objOrderedItems.Key.ToString(); string[] splitter = new string[0]; splitter = keyValue.Split('-'); if (separatorNumber != Convert.ToInt32(splitter[0])) { separatorNumber = Convert.ToInt32(splitter[0]); arrListItems = new ArrayList(); arrListItems.Add(objItem); slMaster1.Add(separatorNumber, arrListItems); } else { arrListItems.Add(objItem); separatorNumber = Convert.ToInt32(splitter[0]); } } PrintUtility printUtility = new PrintUtility(); ArrayList alReverseOrderedItem; foreach (DictionaryEntry deReverseOrderedItem in slMaster1) { alReverseOrderedItem = (ArrayList)deReverseOrderedItem.Value; alReverseOrderedItem.Reverse();//Reversing the current item order. foreach (clsOrderReport objOrderedItems in alReverseOrderedItem) { if (separatorNumber != objOrderedItems.OrderNumber) { tempSerialPrintContent = new CSerialPrintContent(); tempSerialPrintContent.StringLine = objOrderedItems.FoodTypeName + ":" +"\r\n"; serialBody.Add(tempSerialPrintContent); tempSerialPrintContent = new CSerialPrintContent(); //tempSerialPrintContent.StringLine += objOrderedItems.Quantity.ToString() + " "; //tempSerialPrintContent.StringLine += CPrintMethods.GetFixedString(objOrderedItems.ItemName, 30); //tempSerialPrintContent.StringLine += CPrintMethods.RightAlign(objOrderedItems.Price.ToString("F02"), 6); tempSerialPrintContent.StringLine = strPrintFormatter.ItemLabeledText(objOrderedItems.Quantity.ToString() + " " + printUtility.MultipleLine(objOrderedItems.ItemName, 32, objOrderedItems.Price.ToString("F02"), 37), ""); serialBody.Add(tempSerialPrintContent); separatorNumber = objOrderedItems.OrderNumber; } else { tempSerialPrintContent = new CSerialPrintContent(); //tempSerialPrintContent.StringLine += objOrderedItems.Quantity.ToString() + " "; //tempSerialPrintContent.StringLine += CPrintMethods.GetFixedString(objOrderedItems.ItemName, 30); //tempSerialPrintContent.StringLine += CPrintMethods.RightAlign(objOrderedItems.Price.ToString("F02"), 6); tempSerialPrintContent.StringLine = strPrintFormatter.ItemLabeledText(objOrderedItems.Quantity.ToString() + " " + printUtility.MultipleLine(objOrderedItems.ItemName, 32, objOrderedItems.Price.ToString("F02"), 37), ""); serialBody.Add(tempSerialPrintContent); } } } #region "Non food items" tempSerialPrintContent = new CSerialPrintContent(); tempSerialPrintContent.StringLine = strPrintFormatter.CenterTextWithDashed("Drinks") + "\r\n"; // tempSerialPrintContent.StringLine = "-----------------Drinks-----------------" + "\r\n"; serialBody.Add(tempSerialPrintContent); SortedList slMaster2 = new SortedList(); ArrayList arrListItemsNonFood = new ArrayList(); separatorNumber = -1; foreach (DictionaryEntry objOrderedNonFood in slorderedNonFoodItems) { clsOrderReport objItem = (clsOrderReport)objOrderedNonFood.Value; string keyValue = objOrderedNonFood.Key.ToString(); string[] splitter = new string[0]; splitter = keyValue.Split('-'); if (separatorNumber != Convert.ToInt32(splitter[0])) { separatorNumber = Convert.ToInt32(splitter[0]); arrListItemsNonFood = new ArrayList(); arrListItemsNonFood.Add(objItem); slMaster2.Add(separatorNumber, arrListItemsNonFood); } else { arrListItemsNonFood.Add(objItem); separatorNumber = Convert.ToInt32(splitter[0]); } } separatorNumber = -1; bool istrue = false; foreach (DictionaryEntry objNonFood in slMaster2) { ArrayList alNonFoods = (ArrayList)objNonFood.Value; alNonFoods.Reverse(); foreach (clsOrderReport objNonFoodItem in alNonFoods) { if (separatorNumber != objNonFoodItem.OrderNumber) { tempSerialPrintContent = new CSerialPrintContent(); // tempSerialPrintContent.StringLine = "----------------------------------------"; serialBody.Add(tempSerialPrintContent); if (tempSerialPrintContent != null && tempSerialPrintContent.StringLine.Equals("") && !istrue) { tempSerialPrintContent = new CSerialPrintContent(); tempSerialPrintContent.StringLine = objNonFoodItem.FoodTypeName + ":" +"\r\n"; serialBody.Add(tempSerialPrintContent); } tempSerialPrintContent = new CSerialPrintContent(); //tempSerialPrintContent.StringLine += objNonFoodItem.Quantity.ToString() + " "; //tempSerialPrintContent.StringLine += CPrintMethods.GetFixedString(objNonFoodItem.ItemName, 30); //tempSerialPrintContent.StringLine += CPrintMethods.RightAlign(objNonFoodItem.Price.ToString("F02"), 6); tempSerialPrintContent.StringLine = strPrintFormatter.ItemLabeledText(objNonFoodItem.Quantity.ToString() + " " + printUtility.MultipleLine(objNonFoodItem.ItemName, 32, objNonFoodItem.Price.ToString("F02"), 37), ""); serialBody.Add(tempSerialPrintContent); separatorNumber = objNonFoodItem.OrderNumber; istrue = true; } else { tempSerialPrintContent = new CSerialPrintContent(); //tempSerialPrintContent.StringLine += objNonFoodItem.Quantity.ToString() + " "; //tempSerialPrintContent.StringLine += CPrintMethods.GetFixedString(objNonFoodItem.ItemName, 30); //tempSerialPrintContent.StringLine += CPrintMethods.RightAlign(objNonFoodItem.Price.ToString("F02"), 6); tempSerialPrintContent.StringLine = strPrintFormatter.ItemLabeledText(objNonFoodItem.Quantity.ToString() + " " + printUtility.MultipleLine(objNonFoodItem.ItemName, 32, objNonFoodItem.Price.ToString("F02"), 37), ""); serialBody.Add(tempSerialPrintContent); } } } #endregion tempSerialPrintContent = new CSerialPrintContent(); tempSerialPrintContent.StringLine = "----------------------------------------\r\n"; serialBody.Add(tempSerialPrintContent); tempSerialPrintContent = new CSerialPrintContent(); tempSerialPrintContent.StringLine = "Total No Of Item: " + lblNoOfItemsSold.Text + "\r\n"; serialBody.Add(tempSerialPrintContent); tempSerialPrintContent = new CSerialPrintContent(); tempSerialPrintContent.StringLine = "Total Qty: " + lblTotalQty.Text + "\r\n"; serialBody.Add(tempSerialPrintContent); tempSerialPrintContent = new CSerialPrintContent(); tempSerialPrintContent.StringLine = "Total Item Amount: " + lblTotalAmount.Text + "\r\n"; serialBody.Add(tempSerialPrintContent); tempSerialPrintContent = new CSerialPrintContent(); tempSerialPrintContent.StringLine = strPrintFormatter.CreateDashedLine() + "\r\n"; serialBody.Add(tempSerialPrintContent); tempSerialPrintContent = new CSerialPrintContent(); //tempSerialPrintContent.StringLine = strPrintFormatter.CenterTextWithWhiteSpace("Developed By: www.ibacs.co.uk") + "\r\n\n"; 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 //@aamr Remote Print CCommonConstants m_oCommonConstants; m_oCommonConstants = ConfigManager.GetConfig<CCommonConstants>(); CLogin oLogin = new CLogin(); oLogin = (RmsRemote.CLogin)Activator.GetObject(typeof(RmsRemote.CLogin), m_oCommonConstants.RemoteURL); CResult oResult = oLogin.GetInitialDBStr(); Object o = oLogin.GetType(); CPrintingFormat inPrintRequest = new CPrintingFormat(); inPrintRequest.Header = "Header"; inPrintRequest.Footer = "Footer"; inPrintRequest.Body = "Hello Remote Printing..."; try { oLogin.PostPrintingRequest(inPrintRequest); PostPrintingRequest1(inPrintRequest); } catch (Exception ex) { } CPrintMethodsEXT tempPrintMethods1 = new CPrintMethodsEXT(); DataSet tempDataSet = new DataSet(); tempDataSet.ReadXml("Config/Print_Config.xml"); if (Convert.ToBoolean(tempDataSet.Tables[0].Rows[0]["IsGuestBillPrinterSerial"]) == true) { // tempPrintMethods.SerialPrint(PRINTER_TYPES.NORMAL_PRINTER, serialHeader, serialBody, serialFooter, "SN".ToString()); tempPrintMethods.SerialPrint(PRINTER_TYPES.NORMAL_PRINTER, serialHeader, printingObject, serialFooter, "SN".ToString()); } else { tempPrintMethods1.USBPrint(printingObject, PrintDestiNation.CLIENT, true); } } } else { MessageBox.Show("There is no record", RMSGlobal.MessageBoxTitle, MessageBoxButtons.OK, MessageBoxIcon.Information); } }
//private class ShiftWiseData //{ // private int _orderID; // private int _product_id; // private string _product_Name; // private string _amount; // private string _quantity; // private string _totalAmount; // private int _guest_count; // private int _cat_level; // private string _food_type; // public int OrderId // { // get { return _orderID; } // set { _orderID = value; } // } // public int ProductId // { // get { return _product_id; } // set { _product_id = value; } // } // public string ProductName // { // get { return _product_Name; } // set { _product_Name = value; } // } // public string Amount // { // get { return _amount; } // set { _amount = value; } // } // public string Quantity // { // get { return _quantity; } // set { _quantity = value; } // } // public string TotalAmount // { // get { return _totalAmount; } // set { _totalAmount = value; } // } // public int GuestCount // { // get { return _guest_count; } // set { _guest_count = value; } // } // public int CatLevel // { // get { return _cat_level; } // set { _cat_level = value; } // } // public string FoodType // { // get { return _food_type; } // set { _food_type = value; } // } //} private void button1_Click(object sender, EventArgs e) { //if (checkBoxDateRangeWise.Checked) //{ // DataSet dsSalesRecords = new DataSet(); // CResult objResult = new CResult(); // SystemManager objSystemMgnr = new SystemManager(); // m_htFoods = new Hashtable(); // m_htNonFoods = new Hashtable(); // DateTime dtStart = new DateTime(dtpStart.Value.Year, dtpStart.Value.Month, dtpStart.Value.Day, 0, 0, 0); // DateTime dtEnd = new DateTime(dtpEnd.Value.Year, dtpEnd.Value.Month, dtpEnd.Value.Day, 23, 59, 59); // objResult = objSystemMgnr.GetSalesRecordsForINV(dtStart.Ticks, dtEnd.Ticks); // dataGridView1.DataSource = null; // DataTable dt = (DataTable)objResult.Data; // // List<ShiftWiseData> listCSearchOrderInfoForShift = new List<ShiftWiseData>(); // var queryforShift = from cShiftOrderInfo in listCShiftOrderInfo // where cShiftOrderInfo.ShiftID == Convert.ToInt64(listCShiftSchedule[comboBoxshift.SelectedIndex].ShiftId) // select cShiftOrderInfo; // DataTable FilterTable = new DataTable(); // FilterTable = dt.Clone(); // foreach (var query in queryforShift.Select(item => (from summaryByOrder in dt.AsEnumerable() // where summaryByOrder.Field<Int64>("order_id") == item.OrderID // select summaryByOrder))) // { // FilterTable = query.CopyToDataTable(); // } // if (checkBoxISShift.Checked == true) // { // dt.Clear(); // dt = FilterTable; // } // tableReport = new DataTable(); // tableReport.Columns.Add("product_id", typeof(int)); // tableReport.Columns.Add("product_Name", typeof(string)); // tableReport.Columns.Add("amount", typeof(string)); // tableReport.Columns.Add("quantity", typeof(string)); // tableReport.Columns.Add("TotalAmount", typeof(string));// // tableReport.Columns.Add("guest_count", typeof(int)); // tableReport.Columns.Add("cat_level", typeof(int)); // tableReport.Columns.Add("food_type", typeof(string)); // if (dt != null || dt.Rows.Count > 0) // for (int i = 0; i < dt.Rows.Count; i++) // { // tableReport.Rows.Add(Convert.ToInt16(dt.Rows[i]["product_id"]), Convert.ToString(dt.Rows[i]["product_Name"]), Convert.ToDecimal(dt.Rows[i]["amount"].ToString()).ToString("F2"), dt.Rows[i]["quantity"].ToString(), Convert.ToDecimal(dt.Rows[i]["TotalAmount"].ToString()).ToString("F2"), Convert.ToInt16(dt.Rows[i]["guest_count"]), Convert.ToInt16(dt.Rows[i]["cat_level"]), dt.Rows[i]["food_type"].ToString()); // } // dataGridView1.AutoGenerateColumns = false; // dataGridView1.DataSource = tableReport; // decimal GrandTotal = 0, TotalQty = 0; // foreach (DataRow row in dt.Rows) // { // GrandTotal = GrandTotal + Convert.ToDecimal(row["TotalAmount"]); // TotalQty = TotalQty + Convert.ToDecimal(row["quantity"]); // } // lblTotalQty.Text = TotalQty.ToString(); // lblTotalAmount.Text = GrandTotal.ToString("F2"); // lblNoOfItemsSold.Text = (dt.Rows.Count).ToString(); // lblFromDate.Text = dtpStart.Text; // lblToDate.Text = dtpEnd.Text; // } // else // { DataSet dsSalesRecords = new DataSet(); CResult objResult = new CResult(); SystemManager objSystemMgnr = new SystemManager(); // DateTime dtNow = DateTime.Now; DateTime fromDate = new DateTime(); DateTime toDate = new DateTime(); //if (chkFromTime.Checked) //{ fromDate = new DateTime(dtpStart.Value.Year, dtpStart.Value.Month, dtpStart.Value.Day, 7, 0, 0); toDate = new DateTime(dtpEnd.Value.Year, dtpEnd.Value.Month, dtpEnd.Value.Day, 6, 59, 59); //} //else //{ // fromDate = new DateTime(dtpStart.Value.Year, dtpStart.Value.Month, dtpStart.Value.Day, 0, 0, 0); // toDate = new DateTime(dtpEnd.Value.Year, dtpEnd.Value.Month, dtpEnd.Value.Day, 23, 59, 59); //} toDate = toDate.AddDays(1); objResult = objSystemMgnr.GetSalesRecordsForINV(fromDate.Ticks, toDate.Ticks); dataGridView1.DataSource = null; DataTable dt = (DataTable)objResult.Data; tableReport = new DataTable(); tableReport.Columns.Add("product_id", typeof(int)); tableReport.Columns.Add("product_Name", typeof(string)); tableReport.Columns.Add("amount", typeof(string)); tableReport.Columns.Add("quantity", typeof(string)); tableReport.Columns.Add("TotalAmount", typeof(string)); tableReport.Columns.Add("guest_count", typeof(int)); tableReport.Columns.Add("cat_level", typeof(int)); tableReport.Columns.Add("food_type", typeof(string)); tableReport.Columns.Add("UoM", typeof(string)); tableReport.Columns.Add("productType", typeof(string)); if (dt != null || dt.Rows.Count > 0) for (int i = 0; i < dt.Rows.Count; i++) { //string ItemName = ""; //if (dt.Rows[i]["ItemName"].ToString() == "" && dt.Rows[i]["SelectionItemName"].ToString() == "") //{ // ItemName = dt.Rows[i]["Miscellaneous"].ToString(); //} //else //{ // ItemName = dt.Rows[i]["ItemName"].ToString(); // if (ItemName == "") // ItemName = dt.Rows[i]["SelectionItemName"].ToString(); //} tableReport.Rows.Add(Convert.ToInt16(dt.Rows[i]["product_id"]), Convert.ToString(dt.Rows[i]["product_Name"]), dt.Rows[i]["amount"].ToString(), dt.Rows[i]["quantity"].ToString(), dt.Rows[i]["TotalAmount"].ToString(), Convert.ToInt16(dt.Rows[i]["guest_count"]), Convert.ToInt16(dt.Rows[i]["cat_level"]), dt.Rows[i]["food_type"].ToString()); } dataGridView1.AutoGenerateColumns = false; dataGridView1.DataSource = tableReport; decimal GrandTotal = 0, TotalQty = 0; foreach (DataRow row in dt.Rows) { GrandTotal = GrandTotal + Convert.ToDecimal(row["TotalAmount"]); TotalQty = TotalQty + Convert.ToDecimal(row["quantity"]); } lblTotalQty.Text = TotalQty.ToString(); lblTotalAmount.Text = GrandTotal.ToString(); lblNoOfItemsSold.Text = (dt.Rows.Count).ToString(); lblFromDate.Text = dtpStart.Text; lblToDate.Text = dtpEnd.Text; // } }