示例#1
0
    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);
    }
示例#2
0
    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);
    }
示例#3
0
    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());
        }
    }
示例#4
0
    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);
    }
示例#5
0
    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);
    }