protected string GetDrawText(PrizeConstants.GraphDrawType drawType) { string s = ""; if (drawType == PrizeConstants.GraphDrawType.DrawWeight) { s = "Weight (kg)"; } else if (drawType == PrizeConstants.GraphDrawType.DrawWaist) { s = "Waist (cm)"; } else if (drawType == PrizeConstants.GraphDrawType.DrawHip) { s = lblMeasurementGraph3.Text; } else if (drawType == PrizeConstants.GraphDrawType.DrawHeartRate) { s = lblMeasurementGraph5.Text; } else if (drawType == PrizeConstants.GraphDrawType.DrawChest) { s = lblMeasurementGraph4.Text; } return(s); }
protected void btnDrawWeight_Click(object sender, EventArgs e) { if (_MemberPlanWeek == null) { return; } PrizeConstants.GraphDrawType drawType = PrizeConstants.GraphDrawType.DrawWeight; if (sender == this.btnDrawWeight) { drawType = PrizeConstants.GraphDrawType.DrawWeight; } if (sender == this.btnDrawWaist) { drawType = PrizeConstants.GraphDrawType.DrawWaist; } if (sender == this.btnDrawHip) { drawType = PrizeConstants.GraphDrawType.DrawHip; } if (sender == this.btnDrawChest) { drawType = PrizeConstants.GraphDrawType.DrawChest; } if (sender == this.btnDrawHeartRate) { drawType = PrizeConstants.GraphDrawType.DrawHeartRate; } WeekResults = dbAccess.GetMemberPlanResults(_MemberPlanWeek.MemberExercisePlanId); LoadMemberPhotos(iWeekNum, WeekResults); LoadWeeklyResult(WeekResults); DrawProgressGraph((int)_MemberPlanWeek.MemberExercisePlanId, WeekResults, drawType); }
protected void DrawProgressGraph(int memberPlanId, List <MemberPlanWeekResult> weekResults, PrizeConstants.GraphDrawType drawType = PrizeConstants.GraphDrawType.DrawWeight) { string csName = "PopupScript"; Type csType = this.GetType(); ClientScriptManager csm = Page.ClientScript; if (!csm.IsStartupScriptRegistered(csType, csName)) { StringBuilder sb = new StringBuilder(); sb.Append("<script type='text/javascript'> " + Environment.NewLine); sb.Append("google.setOnLoadCallback(drawChart);" + Environment.NewLine); sb.Append("function drawChart() {" + Environment.NewLine); sb.Append("var data = google.visualization.arrayToDataTable([" + Environment.NewLine); sb.Append("['WEEK', '" + GetDrawText(drawType) + "']," + Environment.NewLine); /* Chart Values here */ CreateChart(sb, memberPlanId, weekResults, drawType); sb.Append("var options = {" + Environment.NewLine); sb.Append("title: 'Progress'," + Environment.NewLine); sb.Append("curveType: 'function'," + Environment.NewLine); sb.Append("hAxis:" + Environment.NewLine); sb.Append("{" + Environment.NewLine); sb.Append("title: 'Weeks'," + Environment.NewLine); sb.Append("viewWindow:" + Environment.NewLine); sb.Append("{" + Environment.NewLine); sb.Append("min: 0," + Environment.NewLine); sb.Append("max:" + Environment.NewLine); sb.Append("12" + Environment.NewLine); sb.Append("}," + Environment.NewLine); sb.Append("ticks: [0, 3, 6, 9, 12] // display labels every 25" + Environment.NewLine); sb.Append("}," + Environment.NewLine); sb.Append("vAxis:" + Environment.NewLine); sb.Append("{" + Environment.NewLine); sb.Append("minValue: 0," + Environment.NewLine); sb.Append("title: '" + GetDrawText(drawType) + "'," + Environment.NewLine); sb.Append("viewWindow:" + Environment.NewLine); sb.Append("{" + Environment.NewLine); sb.Append("min:" + Environment.NewLine); sb.Append("0" + Environment.NewLine); sb.Append("}" + Environment.NewLine); sb.Append("}," + Environment.NewLine); sb.Append("legend: { position: 'out' }" + Environment.NewLine); sb.Append("};" + Environment.NewLine); sb.Append("var chart = new google.visualization.LineChart(document.getElementById('curve_chart'));" + Environment.NewLine); sb.Append("chart.draw(data, options);" + Environment.NewLine); sb.Append("}" + Environment.NewLine); sb.Append("</script>" + Environment.NewLine); csm.RegisterStartupScript(csType, csName, sb.ToString()); } }
public List <decimal> GetGraphData(int memberPlanId, List <MemberPlanWeekResult> weekResults, PrizeConstants.GraphDrawType type) { List <decimal> graphDataList = new List <decimal>(); switch (type) { case PrizeConstants.GraphDrawType.DrawWeight: foreach (MemberPlanWeekResult week in weekResults) { if (!week.EndWeight.HasValue) { graphDataList.Add(0); } else { graphDataList.Add((decimal)week.EndWeight); } } break; case PrizeConstants.GraphDrawType.DrawWaist: foreach (MemberPlanWeekResult week in weekResults) { if (!week.EndWaist.HasValue) { graphDataList.Add(0); } else { graphDataList.Add((decimal)week.EndWaist); } } break; case PrizeConstants.GraphDrawType.DrawHip: foreach (MemberPlanWeekResult week in weekResults) { if (!week.EndHip.HasValue) { graphDataList.Add(0); } else { graphDataList.Add((decimal)week.EndHip); } } break; case PrizeConstants.GraphDrawType.DrawChest: foreach (MemberPlanWeekResult week in weekResults) { if (!week.EndChest.HasValue) { graphDataList.Add(0); } else { graphDataList.Add((decimal)week.EndChest); } } break; case PrizeConstants.GraphDrawType.DrawHeartRate: foreach (MemberPlanWeekResult week in weekResults) { if (!week.EndHeartRate.HasValue) { graphDataList.Add(0); } else { graphDataList.Add((decimal)week.EndHeartRate); } } break; default: break; } return(graphDataList); }
protected void CreateChart(StringBuilder sb, int memberPlanId, List <MemberPlanWeekResult> weekResults, PrizeConstants.GraphDrawType drawType) { List <decimal> dataList = GetGraphData(memberPlanId, weekResults, drawType); if (dataList == null || dataList.Count == 0) { sb.Append("[0, 0," + Environment.NewLine); } else { for (int i = 0; i < dataList.Count; i++) { if (dataList[i] == 0) { continue; } sb.Append("[" + i + ", " + dataList[i] + "]," + Environment.NewLine); /*switch (i) * { * case 0: * sb.Append("[0, " + dataList[i] + "]," + Environment.NewLine); * break; * case 3: * sb.Append("[3, 60]," + Environment.NewLine); * break; * case 6: * sb.Append("[6, 59]," + Environment.NewLine); * break; * case 9: * sb.Append("[9, 55]" + Environment.NewLine); * break; * }*/ } } sb.Append("]);" + Environment.NewLine); }