private void generateReportToolStripMenuItem_Click(object sender, EventArgs e) { SupplierBL BL = new SupplierBL(); SupplierBO BO = new SupplierBO(); RecBO = new RecipeBO(); RecBL = new RecipeBL(); IngBO = new IngredientBO(); IngBL = new IngredientBL(); CatBO = new CateringBO(); CatBL = new CateringBL(); if (reportType == "PO") { DataTable eventdetail; DataTable eventDishes; DataTable dishesrecipe; DataTable Others = new DataTable(); Others.Columns.Add("1"); Others.Columns.Add("2"); Others.Columns.Add("3"); Others.Columns.Add("4"); Others.Columns.Add("5"); Others.Columns.Add("6"); DataTable ingredients = new DataTable(); ingredients.Columns.Add("1", typeof(String)); ingredients.Columns.Add("2"); ingredients.Columns.Add("3"); ingredients.Columns.Add("4"); ingredients.Columns.Add("5"); ingredients.Columns.Add("6"); ingredients.PrimaryKey = new DataColumn[] { ingredients.Columns["1"] }; DataTable popoy = new DataTable(); popoy.Columns.Add("name", typeof(String)); popoy.Columns.Add("2"); popoy.Columns.Add("3"); popoy.Columns.Add("4"); popoy.Columns.Add("5"); popoy.Columns.Add("6"); popoy.Columns.Add("7"); DataTable cdad = new DataTable(); cdad.Columns.Add("name", typeof(String)); cdad.Columns.Add("2"); cdad.Columns.Add("3"); cdad.Columns.Add("4"); cdad.Columns.Add("5"); cdad.Columns.Add("6"); cdad.Columns.Add("7"); DataTable supps = new DataTable(); supps.Columns.Add("name", typeof(String)); supps.Columns.Add("2"); supps.Columns.Add("3"); supps.Columns.Add("4"); supps.Columns.Add("5"); supps.Columns.Add("6"); supps.Columns.Add("7"); List <string> Categories = new List <string>(); DataTable Excel = new DataTable(); Excel.Columns.Add("1"); Excel.Columns.Add("2"); Excel.Columns.Add("3"); Excel.Columns.Add("4"); Excel.Columns.Add("5"); Excel.Columns.Add("6"); Excel.Columns.Add("7"); Excel.Columns.Add("8"); string pax = ""; int categoryshower = 0; int categoryshowerO = 0; string lastCat = ""; string lastCatOther = ""; List <double> popoyP = new List <double>(); List <double> cdadP = new List <double>(); List <double> suppP = new List <double>(); List <double> popoyPO = new List <double>(); List <double> cdadPO = new List <double>(); List <double> suppPO = new List <double>(); List <decimal> Total = new List <decimal>(); List <string> nameEvents = new List <string>(); string typeofservice = ""; string category = ""; int eventcount = 0; double popoyFP = 0; double cdadFP = 0; double suppFP = 0; string guestType = ""; int indicator = 0; decimal OverAll = 0; int categorysorter = 0; int counter = 0; eventcount = passedDt.Rows.Count; int foreachcutter = 0; string sampleevent = ""; int showfirst = 1; DataTable suppliers = new DataTable(); suppliers.Columns.Add("Supp"); foreach (DataRow supp in BL.getSupplier().Rows) { suppliers.Rows.Add(supp.ItemArray[0].ToString()); } foreach (DataRow events in passedDt.Rows) { nameEvents.Add(events.ItemArray[1].ToString()); } foreach (DataRow passed in passedDt.Rows) { #region oldcode #endregion sampleevent = passed.ItemArray[1].ToString(); if (selectedcatID != "") { CatBO.catID = passed.ItemArray[0].ToString(); foreach (DataRow item in CatBL.getCategoryOfRecipes(CatBO).Rows) { Categories.Add(item.ItemArray[0].ToString()); } eventdetail = CatBL.getCatDetail(CatBO); foreach (DataRow row in eventdetail.Rows) { vip = vip + Convert.ToInt32(row.ItemArray[3].ToString()); guest = guest + Convert.ToInt32(row.ItemArray[4].ToString()); kids = kids + Convert.ToInt32(row.ItemArray[5].ToString()); crew = crew + Convert.ToInt32(row.ItemArray[6].ToString()); Other = Other + Convert.ToInt32(row.ItemArray[7].ToString()); typeofservice = row.ItemArray[12].ToString(); contractfilename = row.ItemArray[1].ToString(); if (showfirst == eventcount) { Excel.Rows.Add("P.O Of Ingredients", "", "", "", ""); Excel.Rows.Add("", "", ""); Excel.Rows.Add("No. Of event selected : " + eventcount, "", "", "", "", "", "", ""); Excel.Rows.Add("List of event selected : ", "", "", "", "", "", "", ""); foreach (string eventnames in nameEvents) { Excel.Rows.Add(" " + eventnames, "(" + row.ItemArray[9].ToString() + ")", "", "", "", "", "", ""); } Excel.Rows.Add("", "", "", "", ""); Excel.Rows.Add(guest + " Guest, " + vip + " Vip, " + kids + " Kids", "", "", "", "", ""); Excel.Rows.Add(crew + " Crew, " + Other + " Other", "", "", "", "", ""); Excel.Rows.Add("", "", "", "", ""); Excel.Rows.Add("Ingredient", "Quantity", " Budget"); } showfirst++; } int rowcounter = 0; categorysorter = Categories.Count(); string recid = ""; while (counter < categorysorter) { CatBO.catID = passed.ItemArray[0].ToString(); CatBO.category = Categories[counter]; eventDishes = CatBL.getCateringDish(CatBO); foreach (DataRow row in eventDishes.Rows) { category = row.ItemArray[2].ToString(); guestType = row.ItemArray[0].ToString(); RecBO.recipe = row.ItemArray[1].ToString(); foreach (DataRow rec in RecBL.searchRecipeByName(RecBO).Rows) { recid = rec.ItemArray[0].ToString(); } CatBO.recipeid = recid; CatBO.guest = row.ItemArray[0].ToString(); dishesrecipe = CatBL.getRecipeNameAndFormulaAndPrice(CatBO); foreach (DataRow ing in dishesrecipe.Rows) { string paxx = row.ItemArray[3].ToString(); rowcounter++; string ins = ing[0].ToString(); decimal b = getPrice(ing.ItemArray[1].ToString(), paxx); if (typeofservice == "Plated" && category == "Main dish") { b = b * Properties.Settings.Default.Plated; } //decimal b = getPrice(ing.ItemArray[1].ToString(), paxx); if (ingredients.Rows.Contains(ins)) { for (int i = 0; i < ingredients.Rows.Count; i++) { string temp = ingredients.Rows[i][0].ToString(); if (ins == temp) { ingredients.Rows[i][2] = Convert.ToDecimal(ingredients.Rows[i][2].ToString()) + b; i = ingredients.Rows.Count; } } } else { ingredients.Rows.Add(ing[0].ToString(), ing[2].ToString(), b); } } } categoryshower = categoryshower + 1; counter = counter + 1; indicator = indicator + 1; } } } if (indicator != 0) { Excel.Rows.Add("", "", "", "", "", ""); categoryshower = 0; counter = counter + 1; DataView ingredientSorted = new DataView(ingredients); ingredientSorted.Sort = "[1] ASC"; foreach (DataRow supplier in suppliers.Rows) { Excel.Rows.Add(supplier.ItemArray[0].ToString().ToUpper(), "", ""); foreach (DataRowView ingredient in ingredientSorted) { IngBO.ing = ingredient[0].ToString(); DataTable dt = IngBL.searchIngredientReturnPrice(IngBO); string suppliedby = ingredient[1].ToString(); if (supplier.ItemArray[0].ToString() == suppliedby) { foreach (DataRow price in dt.Rows) { Total.Add(Convert.ToDecimal(ingredient[2].ToString()) * Convert.ToDecimal(price.ItemArray[4].ToString())); Excel.Rows.Add(" " + ingredient[0].ToString(), ingredient[2].ToString() + " " + price.ItemArray[2].ToString(), "P " + (Convert.ToDecimal(ingredient[2].ToString()) * Convert.ToDecimal(price.ItemArray[4].ToString())).ToString("0.##")); } } } Excel.Rows.Add("", "", ""); Excel.Rows.Add("Budget for " + supplier.ItemArray[0].ToString(), "", "P " + (Total.Sum()).ToString("0.##")); Excel.Rows.Add("", "", ""); Excel.Rows.Add("", "", ""); OverAll = OverAll + Total.Sum(); Total.Clear(); } vip = 0; guest = 0; kids = 0; crew = 0; Other = 0; indicator = 0; Excel.Rows.Add("", "Grand Total", "P " + OverAll.ToString("0.##")); diagReport menu = new diagReport(Excel, "PO"); menu.Show(); } else { MessageBox.Show("Select a event first!"); } } else if (reportType == "Summary") { DataTable dt = new DataTable(); DataTable amounts = new DataTable(); DataTable suppliers = BL.getSupplier(); List <string> supps = new List <string>(); dt.Columns.Add("1"); dt.Columns.Add("2"); dt.Columns.Add("3"); dt.Columns.Add("4"); dt.Columns.Add("5"); dt.Columns.Add("6"); dt.Columns.Add("7"); dt.Columns.Add("8"); dt.Columns.Add("9"); dt.Columns.Add("10"); dt.Columns.Add("11"); dt.Columns.Add("12"); dt.Columns.Add("13"); dt.Columns.Add("14"); dt.Columns.Add("15"); dt.Columns.Add("16"); dt.Columns.Add("17"); dt.Columns.Add("18"); dt.Columns.Add("19"); dt.Columns.Add("20"); dt.Columns.Add("21"); dt.Columns.Add("22"); List <decimal> totalExp = new List <decimal>(); var tExp = new Dictionary <string, decimal>(); int count = 0; for (int i = 0; i < 20; i++) { supps.Add(""); totalExp.Add(0); } CatBL = new CateringBL(); CatBO = new CateringBO(); decimal exp = 0; string collectedid = ""; int countif1 = 0; foreach (DataRow eventids in passedDt.Rows) { if (countif1 == 0) { collectedid = eventids.ItemArray[0].ToString(); countif1++; } else { collectedid = collectedid + "," + eventids.ItemArray[0].ToString(); } } CatBO.catID = collectedid; DataTable disec = CatBL.showReportByEvent(CatBO); string showonce = ""; int numberofevent = disec.Rows.Count; foreach (DataRow nameOfSupplier in suppliers.Rows) { tExp.Add(nameOfSupplier.ItemArray[0].ToString(), 0); supps[count] = (nameOfSupplier.ItemArray[0].ToString()); count++; } count = 0; int diff = supps.Count - tExp.Count; int supptigil = tExp.Count; for (int i = 0; i < diff; i++) { tExp.Add("Vacant" + (i + 1), 0); supps[supptigil] = ("Vacant" + (i + 1)); supptigil++; } dt.Rows.Add("", supps[0], supps[1], supps[2], supps[3], supps[4], supps[5], supps[6], supps[7], supps[8], supps[9], supps[10], supps[11], supps[12], supps[13], supps[14], supps[15], supps[16], supps[17], supps[18], supps[19], "Total Expense"); foreach (DataRow eventdetail in disec.Rows) { dt.Rows.Add(eventdetail.ItemArray[5].ToString()); if (showonce == eventdetail.ItemArray[5].ToString() && dt.Rows.Count != 0) { dt.Rows.RemoveAt(dt.Rows.Count - 1); } showonce = eventdetail.ItemArray[5].ToString(); catid = eventdetail.ItemArray[8].ToString(); BO.catid = catid; amounts = BL.getSupplierBudget(BO); foreach (DataRow amount in amounts.Rows) { totalExp[count] = (Convert.ToDecimal(amount.ItemArray[2].ToString())); tExp[amount.ItemArray[1].ToString()] = (Convert.ToDecimal(amount.ItemArray[2].ToString())); count++; } dt.Rows.Add(eventdetail.ItemArray[2].ToString() + " (" + eventdetail.ItemArray[3].ToString() + ")(" + eventdetail.ItemArray[6].ToString() + ")(" + eventdetail.ItemArray[7].ToString() + ")", "P " + tExp[supps[0]], "P " + tExp[supps[1]], "P " + tExp[supps[2]], "P " + tExp[supps[3]], "P " + tExp[supps[4]], "P " + tExp[supps[5]], "P " + tExp[supps[6]], "P " + tExp[supps[7]], "P " + tExp[supps[8]], "P " + tExp[supps[9]], "P " + tExp[supps[10]], "P " + tExp[supps[11]], "P " + tExp[supps[12]], "P " + tExp[supps[13]], "P " + tExp[supps[14]], "P " + tExp[supps[15]], "P " + tExp[supps[16]], "P " + tExp[supps[17]], "P " + tExp[supps[18]], "P " + tExp[supps[19]], "P " + totalExp.Sum().ToString("0.##")); exp = exp + totalExp.Sum(); totalExp.Clear(); for (int i = 0; i < 20; i++) { totalExp.Add(0); supps.Add(""); } count = 0; } dt.Rows.Add("Number of Events : " + numberofevent, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "Total Expense: ", "P " + exp); OverallReport cr = new OverallReport(); diagReport diag = new diagReport(dt, "OverallReport"); diag.Show(); } }
private void dateTimePicker2_ValueChanged(object sender, EventArgs e) { SupplierBL BL = new SupplierBL(); SupplierBO BO = new SupplierBO(); RecBO = new RecipeBO(); RecBL = new RecipeBL(); IngBO = new IngredientBO(); IngBL = new IngredientBL(); CatBO = new CateringBO(); CatBL = new CateringBL(); DataTable eventdetail; DataTable eventDishes; DataTable dishesrecipe; DataTable Others = new DataTable(); Others.Columns.Add("1"); Others.Columns.Add("2"); Others.Columns.Add("3"); Others.Columns.Add("4"); Others.Columns.Add("5"); Others.Columns.Add("6"); DataTable ingredients = new DataTable(); ingredients.Columns.Add("1", typeof(String)); ingredients.Columns.Add("2"); ingredients.Columns.Add("3"); ingredients.Columns.Add("4"); ingredients.Columns.Add("5"); ingredients.Columns.Add("6"); ingredients.PrimaryKey = new DataColumn[] { ingredients.Columns["1"] }; DataTable popoy = new DataTable(); popoy.Columns.Add("name", typeof(String)); popoy.Columns.Add("2"); popoy.Columns.Add("3"); popoy.Columns.Add("4"); popoy.Columns.Add("5"); popoy.Columns.Add("6"); popoy.Columns.Add("7"); DataTable cdad = new DataTable(); cdad.Columns.Add("name", typeof(String)); cdad.Columns.Add("2"); cdad.Columns.Add("3"); cdad.Columns.Add("4"); cdad.Columns.Add("5"); cdad.Columns.Add("6"); cdad.Columns.Add("7"); DataTable supps = new DataTable(); supps.Columns.Add("name", typeof(String)); supps.Columns.Add("2"); supps.Columns.Add("3"); supps.Columns.Add("4"); supps.Columns.Add("5"); supps.Columns.Add("6"); supps.Columns.Add("7"); List <string> Categories = new List <string>(); DataTable Excel = new DataTable(); Excel.Columns.Add("1"); Excel.Columns.Add("2"); Excel.Columns.Add("3"); Excel.Columns.Add("4"); Excel.Columns.Add("5"); Excel.Columns.Add("6"); Excel.Columns.Add("7"); Excel.Columns.Add("8"); string pax = ""; int categoryshower = 0; int categoryshowerO = 0; string lastCat = ""; string lastCatOther = ""; List <double> popoyP = new List <double>(); List <double> cdadP = new List <double>(); List <double> suppP = new List <double>(); List <double> popoyPO = new List <double>(); List <double> cdadPO = new List <double>(); List <double> suppPO = new List <double>(); List <decimal> Total = new List <decimal>(); List <string> nameEvents = new List <string>(); string typeofservice = ""; string category = ""; int eventcount = 0; double popoyFP = 0; double cdadFP = 0; double suppFP = 0; string guestType = ""; int indicator = 0; decimal OverAll = 0; int categorysorter = 0; int counter = 0; int foreachcutter = 0; string sampleevent = ""; int showfirst = 0; DataTable suppliers = new DataTable(); suppliers.Columns.Add("Supp"); foreach (DataRow supp in BL.getSupplier().Rows) { suppliers.Rows.Add(supp.ItemArray[0].ToString()); } CatBO.dateF = dateTimePicker1.Value.ToString("yyyy-MM-dd"); CatBO.dateT = dateTimePicker2.Value.ToString("yyyy-MM-dd"); if (comboBox1.Text == "Future event") { CatBO.Status = "ACTIVE"; } else if (comboBox1.Text == "Past event") { CatBO.Status = "DONE"; } else { CatBO.Status = ""; } DataTable eventsdetails = CatBL.getCatDetailByPeriod(CatBO); eventcount = eventsdetails.Rows.Count; foreach (DataRow events in eventsdetails.Rows) { nameEvents.Add(events.ItemArray[1].ToString()); } foreach (DataRow passed in eventsdetails.Rows) { sampleevent = passed.ItemArray[1].ToString(); CatBO.catID = passed.ItemArray[0].ToString(); foreach (DataRow item in CatBL.getCategoryOfRecipes(CatBO).Rows) { Categories.Add(item.ItemArray[0].ToString()); } eventdetail = CatBL.getCatDetailByPeriod(CatBO); eventcount = eventdetail.Rows.Count; foreach (DataRow row in eventdetail.Rows) { vip = vip + Convert.ToInt32(row.ItemArray[3].ToString()); guest = guest + Convert.ToInt32(row.ItemArray[4].ToString()); kids = kids + Convert.ToInt32(row.ItemArray[5].ToString()); crew = crew + Convert.ToInt32(row.ItemArray[6].ToString()); Other = Other + Convert.ToInt32(row.ItemArray[7].ToString()); typeofservice = row.ItemArray[12].ToString(); contractfilename = row.ItemArray[1].ToString(); date = row.ItemArray[9].ToString(); showfirst++; } if (showfirst == eventcount) { Excel.Rows.Add("P.O Of Ingredients", "", "", "", ""); Excel.Rows.Add("", "", ""); Excel.Rows.Add("From: " + dateTimePicker1.Value.ToString("MM-dd-yyyy"), "", ""); Excel.Rows.Add("To: " + dateTimePicker2.Value.ToString("MM-dd-yyyy"), "", ""); Excel.Rows.Add("", "", ""); Excel.Rows.Add("No. Of event selected : " + nameEvents.Count(), "", "", "", "", "", "", ""); Excel.Rows.Add("List of event selected : ", "", "", "", "", "", "", ""); foreach (string eventnames in nameEvents) { Excel.Rows.Add(" " + eventnames, date, "", "", "", "", "", ""); } Excel.Rows.Add("", "", "", "", ""); Excel.Rows.Add(guest + " Guest, " + vip + " Vip, " + kids + " Kids", "", "", "", "", ""); Excel.Rows.Add(crew + " Crew, " + Other + " Other", "", "", "", "", ""); Excel.Rows.Add("", "", "", "", ""); Excel.Rows.Add("Ingredient", "Quantity", " Budget"); } int rowcounter = 0; categorysorter = Categories.Count(); string recid = ""; while (counter < categorysorter) { CatBO.catID = passed.ItemArray[0].ToString(); CatBO.category = Categories[counter]; eventDishes = CatBL.getCateringDish(CatBO); foreach (DataRow row in eventDishes.Rows) { category = row.ItemArray[2].ToString(); guestType = row.ItemArray[0].ToString(); RecBO.recipe = row.ItemArray[1].ToString(); foreach (DataRow rec in RecBL.searchRecipeByName(RecBO).Rows) { recid = rec.ItemArray[0].ToString(); } CatBO.recipeid = recid; CatBO.guest = row.ItemArray[0].ToString(); dishesrecipe = CatBL.getRecipeNameAndFormulaAndPrice(CatBO); foreach (DataRow ing in dishesrecipe.Rows) { string paxx = row.ItemArray[3].ToString(); rowcounter++; string ins = ing[0].ToString(); decimal b = getPrice(ing.ItemArray[1].ToString(), paxx); if (typeofservice == "Plated" && category == "Main dish") { b = b * Properties.Settings.Default.Plated; } //decimal b = getPrice(ing.ItemArray[1].ToString(), paxx); if (ingredients.Rows.Contains(ins)) { for (int i = 0; i < ingredients.Rows.Count; i++) { string temp = ingredients.Rows[i][0].ToString(); if (ins == temp) { ingredients.Rows[i][2] = Convert.ToDecimal(ingredients.Rows[i][2].ToString()) + b; i = ingredients.Rows.Count; } } } else { ingredients.Rows.Add(ing[0].ToString(), ing[2].ToString(), b); } } } categoryshower = categoryshower + 1; counter = counter + 1; indicator = indicator + 1; } } if (indicator != 0) { Excel.Rows.Add("", "", "", "", "", ""); categoryshower = 0; counter = counter + 1; DataView ingredientSorted = new DataView(ingredients); ingredientSorted.Sort = "[1] ASC"; foreach (DataRow supplier in suppliers.Rows) { Excel.Rows.Add(supplier.ItemArray[0].ToString().ToUpper(), "", ""); foreach (DataRowView ingredient in ingredientSorted) { IngBO.ing = ingredient[0].ToString(); DataTable dt = IngBL.searchIngredientReturnPrice(IngBO); string suppliedby = ingredient[1].ToString(); if (supplier.ItemArray[0].ToString() == suppliedby) { foreach (DataRow price in dt.Rows) { Total.Add(Convert.ToDecimal(ingredient[2].ToString()) * Convert.ToDecimal(price.ItemArray[4].ToString())); Excel.Rows.Add(" " + ingredient[0].ToString(), ingredient[2].ToString() + " " + price.ItemArray[2].ToString(), "P " + (Convert.ToDecimal(ingredient[2].ToString()) * Convert.ToDecimal(price.ItemArray[4].ToString())).ToString("0.##")); } } } Excel.Rows.Add("", "", ""); Excel.Rows.Add("Budget for " + supplier.ItemArray[0].ToString(), "", "P " + (Total.Sum()).ToString("0.##")); Excel.Rows.Add("", "", ""); Excel.Rows.Add("", "", ""); OverAll = OverAll + Total.Sum(); Total.Clear(); } Excel.Rows.Add("", "Grand Total", "P " + OverAll.ToString("0.##")); vip = 0; guest = 0; kids = 0; crew = 0; Other = 0; indicator = 0; OverAll = 0; CrystalReport2 cr = new CrystalReport2(); cr.SetDataSource(Excel); crystalReportViewer1.ReportSource = cr; } else { MessageBox.Show("No event can be shown!"); } }