public List<object> returnDataDates(string param1, string param2, string dateBeg, string dateEnd) { const string coffeeColor = "#72A435"; const string dairyColor = "#878787"; const string fruitColor = "#3186AD"; const string grainColor = "#EAEFF9"; const string vegColor = "#EE5921"; const string paperColor = "#484848"; const string coffeeColorT = "rbga(114, 164, 53,0.2)"; const string dairyColorT = "rgba(135,135,135,0.2)"; const string fruitColorT = "rgba(49,134,173,0.2)"; const string grainColorT = "rgba(234,239,249,0.2)"; const string vegColorT = "rgba(238,89,33,0.2)"; const string paperColorT = "rgba(72,72,72,0.2)"; List<object> result = new List<object>(); //Group By Section Queries //Foodwaste if (param1 == "GetVendorDates") { var vendDates = ((from vends in db.Composts where vends.Vendor == param2 select vends.date.ToString()).ToList()); foreach (var vend in vendDates) { result.Add(vend); } } if (param1 == "Foodwaste - By Vendor") { var vendReturn = (from vends in db.Composts where (vends.date.ToString() == dateBeg) && (vends.Vendor == param2) select vends).ToList(); var firstVendor = vendReturn[0]; // Add Coffee Grounds PieDonutGraph p = new PieDonutGraph(); p.value = (double)firstVendor.percentCoffeeGrounds; p.color = coffeeColor; p.highlight = "#FFFF66"; p.label = "Coffee Grounds"; result.Add(p); //Add Dairy p = new PieDonutGraph(); p.value = (double)firstVendor.percentDairy; p.color = dairyColor; p.highlight = "#FFFF66"; p.label = "Dairy"; result.Add(p); // Add Fruit p = new PieDonutGraph(); p.value = (double)firstVendor.percentFruit; p.color = fruitColor; p.highlight = "#FFFF66"; p.label = "Fruit"; result.Add(p); // Add Grains p = new PieDonutGraph(); p.value = (double)firstVendor.percentGrains; p.color = grainColor; p.highlight = "#FFFF66"; p.label = "Grains"; result.Add(p); // Add Veg p = new PieDonutGraph(); p.value = (double)firstVendor.percentVeg; p.color = vegColor; p.highlight = "#FFFF66"; p.label = "Vegtables"; result.Add(p); // Add Veg p = new PieDonutGraph(); p.value = (double)firstVendor.percentPaper; p.color = paperColor; p.highlight = "#FFFF66"; p.label = "Paper"; result.Add(p); } if (param1 == "Foodwaste - by Vendor Line/Bar") { var vendReturn = (from vends in db.Composts where (vends.date >= Convert.ToDateTime(dateBeg)) && (vends.date <= Convert.ToDateTime(dateEnd)) && (vends.Vendor == param2) select vends).ToList(); string[] labelHold = new string[vendReturn.Count]; int counter = 0; List<double> coffee = new List<double>(); List<double> dairy = new List<double>(); List<double> fruit = new List<double>(); List<double> grains = new List<double>(); List<double> paper = new List<double>(); List<double> veg = new List<double>(); foreach (var vend in vendReturn) { coffee.Add((double)vend.percentCoffeeGrounds); dairy.Add((double)vend.percentDairy); fruit.Add((double)vend.percentFruit); grains.Add((double)vend.percentGrains); paper.Add((double)vend.percentPaper); veg.Add((double)vend.percentVeg); labelHold[counter] = vend.date.ToShortDateString(); counter++; } result.Add(labelHold); //Cofee Grounds LineChart dataIn = new LineChart(); dataIn.label = "Percent Cofee Grounds"; dataIn.fillColor = coffeeColorT; dataIn.strokeColor = coffeeColor; dataIn.pointColor = coffeeColor; dataIn.pointStrokeColor = "#fff"; dataIn.pointHighlightFill = "#fff"; dataIn.pointHighlightStroke = coffeeColor; dataIn.data = coffee.ToArray(); result.Add(dataIn); //Dairy dataIn = new LineChart(); dataIn.label = "Percent Dairy"; dataIn.fillColor = dairyColorT; dataIn.strokeColor = dairyColor; dataIn.pointColor = dairyColor; dataIn.pointStrokeColor = "#fff"; dataIn.pointHighlightFill = "#fff"; dataIn.pointHighlightStroke = dairyColor; dataIn.data = dairy.ToArray(); result.Add(dataIn); //Grains dataIn = new LineChart(); dataIn.label = "Percent Grains"; dataIn.fillColor = grainColorT; dataIn.strokeColor = grainColor; dataIn.pointColor = grainColor; dataIn.pointStrokeColor = "#fff"; dataIn.pointHighlightFill = "#fff"; dataIn.pointHighlightStroke = grainColor; dataIn.data = grains.ToArray(); result.Add(dataIn); //Fruit dataIn = new LineChart(); dataIn.label = "Percent Fruit"; dataIn.fillColor = fruitColorT; dataIn.strokeColor = fruitColor; dataIn.pointColor = fruitColor; dataIn.pointStrokeColor = "#fff"; dataIn.pointHighlightFill = "#fff"; dataIn.pointHighlightStroke = fruitColor; dataIn.data = fruit.ToArray(); result.Add(dataIn); //Veg dataIn = new LineChart(); dataIn.label = "Percent Vegtables"; dataIn.fillColor = vegColorT; dataIn.strokeColor = vegColor; dataIn.pointColor = vegColor; dataIn.pointStrokeColor = "#fff"; dataIn.pointHighlightFill = "#fff"; dataIn.pointHighlightStroke = vegColor; dataIn.data = veg.ToArray(); result.Add(dataIn); //Paper dataIn = new LineChart(); dataIn.label = "Percent Paper"; dataIn.fillColor = paperColorT; dataIn.strokeColor = paperColor; dataIn.pointColor = paperColor; dataIn.pointStrokeColor = "#fff"; dataIn.pointHighlightFill = "#fff"; dataIn.pointHighlightStroke = paperColor; dataIn.data = paper.ToArray(); result.Add(dataIn); } if (param1 == "Foodwaste - by Type of Waste Line/Bar" && param2 == "Coffee Grounds") { var vendGroups = (from vends in db.Composts group vends by vends.Vendor); List<string> dateLabelHold = new List<string>(); for (DateTime date = Convert.ToDateTime(dateBeg); date.Date <= Convert.ToDateTime(dateEnd).Date; date = date.AddDays(1)) { dateLabelHold.Add(date.ToShortDateString()); } result.Add(dateLabelHold); foreach (var vend in vendGroups) { if (vend.Key != null) { List<Compost> vendReturn = new List<Compost>(); LineChart dataIn = new LineChart(); dataIn.label = vend.Key; dataIn.fillColor = coffeeColorT; dataIn.strokeColor = coffeeColor; dataIn.pointColor = coffeeColor; dataIn.pointStrokeColor = "#fff"; dataIn.pointHighlightFill = "#fff"; dataIn.pointHighlightStroke = coffeeColor; List<double> dateHold = new List<double>(); var counter = 0; vendReturn = (from vends in db.Composts where (vends.date >= Convert.ToDateTime(dateBeg)) && (vends.date <= Convert.ToDateTime(dateEnd)) && (vends.Vendor == vend.Key) orderby vends.date select vends).ToList(); for (DateTime date = Convert.ToDateTime(dateBeg).Date; date.Date <= Convert.ToDateTime(dateEnd).Date; date = date.AddDays(1)) { if (counter < vendReturn.Count) { System.Diagnostics.Debug.WriteLine(vendReturn[counter].date.Date); System.Diagnostics.Debug.WriteLine(date.Date); if (Equals(vendReturn[counter].date.Date, date.Date)) { dateHold.Add((double)vendReturn[counter].percentCoffeeGrounds); System.Diagnostics.Debug.WriteLine("Im here"); counter++; } else { dateHold.Add(0); } } else { dateHold.Add(0); } } dataIn.data = dateHold.ToArray(); result.Add(dataIn); } } } foreach (var p in result) { System.Diagnostics.Debug.WriteLine(p.ToString()); } return result; }
public List <object> returnDataDates(string param1, string param2, string dateBeg, string dateEnd) { const string coffeeColor = "#72A435"; const string dairyColor = "#878787"; const string fruitColor = "#3186AD"; const string grainColor = "#EAEFF9"; const string vegColor = "#EE5921"; const string paperColor = "#484848"; const string coffeeColorT = "rbga(114, 164, 53,0.2)"; const string dairyColorT = "rgba(135,135,135,0.2)"; const string fruitColorT = "rgba(49,134,173,0.2)"; const string grainColorT = "rgba(234,239,249,0.2)"; const string vegColorT = "rgba(238,89,33,0.2)"; const string paperColorT = "rgba(72,72,72,0.2)"; List <object> result = new List <object>(); //Group By Section Queries //Foodwaste if (param1 == "GetVendorDates") { var vendDates = ((from vends in db.Composts where vends.Vendor == param2 select vends.date.ToString()).ToList()); foreach (var vend in vendDates) { result.Add(vend); } } if (param1 == "Foodwaste - By Vendor") { var vendReturn = (from vends in db.Composts where (vends.date.ToString() == dateBeg) && (vends.Vendor == param2) select vends).ToList(); var firstVendor = vendReturn[0]; // Add Coffee Grounds PieDonutGraph p = new PieDonutGraph(); p.value = (double)firstVendor.percentCoffeeGrounds; p.color = coffeeColor; p.highlight = "#FFFF66"; p.label = "Coffee Grounds"; result.Add(p); //Add Dairy p = new PieDonutGraph(); p.value = (double)firstVendor.percentDairy; p.color = dairyColor; p.highlight = "#FFFF66"; p.label = "Dairy"; result.Add(p); // Add Fruit p = new PieDonutGraph(); p.value = (double)firstVendor.percentFruit; p.color = fruitColor; p.highlight = "#FFFF66"; p.label = "Fruit"; result.Add(p); // Add Grains p = new PieDonutGraph(); p.value = (double)firstVendor.percentGrains; p.color = grainColor; p.highlight = "#FFFF66"; p.label = "Grains"; result.Add(p); // Add Veg p = new PieDonutGraph(); p.value = (double)firstVendor.percentVeg; p.color = vegColor; p.highlight = "#FFFF66"; p.label = "Vegtables"; result.Add(p); // Add Veg p = new PieDonutGraph(); p.value = (double)firstVendor.percentPaper; p.color = paperColor; p.highlight = "#FFFF66"; p.label = "Paper"; result.Add(p); } if (param1 == "Foodwaste - by Vendor Line/Bar") { var vendReturn = (from vends in db.Composts where (vends.date >= Convert.ToDateTime(dateBeg)) && (vends.date <= Convert.ToDateTime(dateEnd)) && (vends.Vendor == param2) select vends).ToList(); string[] labelHold = new string[vendReturn.Count]; int counter = 0; List <double> coffee = new List <double>(); List <double> dairy = new List <double>(); List <double> fruit = new List <double>(); List <double> grains = new List <double>(); List <double> paper = new List <double>(); List <double> veg = new List <double>(); foreach (var vend in vendReturn) { coffee.Add((double)vend.percentCoffeeGrounds); dairy.Add((double)vend.percentDairy); fruit.Add((double)vend.percentFruit); grains.Add((double)vend.percentGrains); paper.Add((double)vend.percentPaper); veg.Add((double)vend.percentVeg); labelHold[counter] = vend.date.ToShortDateString(); counter++; } result.Add(labelHold); //Cofee Grounds LineChart dataIn = new LineChart(); dataIn.label = "Percent Cofee Grounds"; dataIn.fillColor = coffeeColorT; dataIn.strokeColor = coffeeColor; dataIn.pointColor = coffeeColor; dataIn.pointStrokeColor = "#fff"; dataIn.pointHighlightFill = "#fff"; dataIn.pointHighlightStroke = coffeeColor; dataIn.data = coffee.ToArray(); result.Add(dataIn); //Dairy dataIn = new LineChart(); dataIn.label = "Percent Dairy"; dataIn.fillColor = dairyColorT; dataIn.strokeColor = dairyColor; dataIn.pointColor = dairyColor; dataIn.pointStrokeColor = "#fff"; dataIn.pointHighlightFill = "#fff"; dataIn.pointHighlightStroke = dairyColor; dataIn.data = dairy.ToArray(); result.Add(dataIn); //Grains dataIn = new LineChart(); dataIn.label = "Percent Grains"; dataIn.fillColor = grainColorT; dataIn.strokeColor = grainColor; dataIn.pointColor = grainColor; dataIn.pointStrokeColor = "#fff"; dataIn.pointHighlightFill = "#fff"; dataIn.pointHighlightStroke = grainColor; dataIn.data = grains.ToArray(); result.Add(dataIn); //Fruit dataIn = new LineChart(); dataIn.label = "Percent Fruit"; dataIn.fillColor = fruitColorT; dataIn.strokeColor = fruitColor; dataIn.pointColor = fruitColor; dataIn.pointStrokeColor = "#fff"; dataIn.pointHighlightFill = "#fff"; dataIn.pointHighlightStroke = fruitColor; dataIn.data = fruit.ToArray(); result.Add(dataIn); //Veg dataIn = new LineChart(); dataIn.label = "Percent Vegtables"; dataIn.fillColor = vegColorT; dataIn.strokeColor = vegColor; dataIn.pointColor = vegColor; dataIn.pointStrokeColor = "#fff"; dataIn.pointHighlightFill = "#fff"; dataIn.pointHighlightStroke = vegColor; dataIn.data = veg.ToArray(); result.Add(dataIn); //Paper dataIn = new LineChart(); dataIn.label = "Percent Paper"; dataIn.fillColor = paperColorT; dataIn.strokeColor = paperColor; dataIn.pointColor = paperColor; dataIn.pointStrokeColor = "#fff"; dataIn.pointHighlightFill = "#fff"; dataIn.pointHighlightStroke = paperColor; dataIn.data = paper.ToArray(); result.Add(dataIn); } if (param1 == "Foodwaste - by Type of Waste Line/Bar" && param2 == "Coffee Grounds") { var vendGroups = (from vends in db.Composts group vends by vends.Vendor); List <string> dateLabelHold = new List <string>(); for (DateTime date = Convert.ToDateTime(dateBeg); date.Date <= Convert.ToDateTime(dateEnd).Date; date = date.AddDays(1)) { dateLabelHold.Add(date.ToShortDateString()); } result.Add(dateLabelHold); foreach (var vend in vendGroups) { if (vend.Key != null) { List <Compost> vendReturn = new List <Compost>(); LineChart dataIn = new LineChart(); dataIn.label = vend.Key; dataIn.fillColor = coffeeColorT; dataIn.strokeColor = coffeeColor; dataIn.pointColor = coffeeColor; dataIn.pointStrokeColor = "#fff"; dataIn.pointHighlightFill = "#fff"; dataIn.pointHighlightStroke = coffeeColor; List <double> dateHold = new List <double>(); var counter = 0; vendReturn = (from vends in db.Composts where (vends.date >= Convert.ToDateTime(dateBeg)) && (vends.date <= Convert.ToDateTime(dateEnd)) && (vends.Vendor == vend.Key) orderby vends.date select vends).ToList(); for (DateTime date = Convert.ToDateTime(dateBeg).Date; date.Date <= Convert.ToDateTime(dateEnd).Date; date = date.AddDays(1)) { if (counter < vendReturn.Count) { System.Diagnostics.Debug.WriteLine(vendReturn[counter].date.Date); System.Diagnostics.Debug.WriteLine(date.Date); if (Equals(vendReturn[counter].date.Date, date.Date)) { dateHold.Add((double)vendReturn[counter].percentCoffeeGrounds); System.Diagnostics.Debug.WriteLine("Im here"); counter++; } else { dateHold.Add(0); } } else { dateHold.Add(0); } } dataIn.data = dateHold.ToArray(); result.Add(dataIn); } } } foreach (var p in result) { System.Diagnostics.Debug.WriteLine(p.ToString()); } return(result); }