protected void Page_Load(object sender, EventArgs e)
    {
        objPALClass = new PALClass(objSqlConnClass.OpenConnection());
        objDDClass = new DDClass(objSqlConnClass.OpenConnection());
        objBackofficeClass = new BackofficeClass(objSqlConnClass.OpenConnection());
        gsUserID = Membership.GetUser().ProviderUserKey.ToString();

        ///////RadChart settings//////
        int iDdDays = giChartDaySpan;
        int iPalDays = giChartDaySpan;

        DataSet DS = objDDClass.DD_GET_DdEntries_BY_UserId(gsUserID,"","");
        if (DS.Tables[0].Rows.Count > 2)
        {
            DateTime dStart = Convert.ToDateTime(DS.Tables[0].Rows[0]["DD_ENTRY_DATE"]);
            DateTime dEnd = Convert.ToDateTime(DS.Tables[0].Rows[DS.Tables[0].Rows.Count -1]["DD_ENTRY_DATE"]);
            TimeSpan TS = dStart - dEnd;
            iDdDays = TS.Days;
            if (TS.Days < giChartDaySpan)
            {
                giChartDaySpan = TS.Days;
            }
        }
        DS = objPALClass.PAL_GET_PalEntries_BY_UserId(gsUserID, "", "");
        if (DS.Tables[0].Rows.Count > 2)
        {
            DateTime dStart = Convert.ToDateTime(DS.Tables[0].Rows[0]["PAL_ENTRY_DATE"]);
            DateTime dEnd = Convert.ToDateTime(DS.Tables[0].Rows[DS.Tables[0].Rows.Count -1]["PAL_ENTRY_DATE"]);
            TimeSpan TS = dStart - dEnd;
            iPalDays = TS.Days;
        }

        if (iPalDays < iDdDays)
        {
            if (iDdDays < giChartDaySpan)
            {
                giChartDaySpan = iDdDays;
            }
        }
        else
        {
            if (iPalDays < giChartDaySpan)
            {
                giChartDaySpan = iPalDays;
            }
        }

        ///////RadChart settings//////
    }
    private void FillMembers()
    {
        m_dtLastWorkout = DateTime.MinValue;
        m_sLastWorkout = "";
        m_sLastWorkout = "";
        m_iWeeklyTotalMets = 0;

        DateTime dtDay1 = DateTime.MinValue;
        DateTime dtDay2 = DateTime.MinValue;
        DateTime dtDay3 = DateTime.MinValue;
        DateTime dtDay4 = DateTime.MinValue;
        DateTime dtDay5 = DateTime.MinValue;
        DateTime dtDay6 = DateTime.MinValue;
        DateTime dtDay7 = DateTime.MinValue;
        DateTime today = DateTime.Now.Date;
        DateTime lastWeek = today.AddDays(-7).Date;

        string sToday = today.Month.ToString() + "/" + today.Day.ToString() + "/" + today.Year.ToString();
        string sLastWeek = lastWeek.Month.ToString() + "/" + lastWeek.Day.ToString() + "/" + lastWeek.Year.ToString();

        // Testing - this guy has data
        // AA1F476C-6628-4934-BE8C-47FB1DFAD2A8
        // 2009-01-20 00:00:00.000
        // 2009-01-28 00:00:00.000
        // m_sUserId = "AA1F476C-6628-4934-BE8C-47FB1DFAD2A8";
        // sLastWeek = "1/20/2009";
        // sToday = "1/28/2009";

        // get the dates
        PALClass objPALClass = new PALClass(m_Connection);
        DataSet entries = objPALClass.PAL_GET_PalEntries_BY_UserId(m_sUserId, sLastWeek, sToday);
        int tableCount = entries.Tables.Count;
        int rowsCount = entries.Tables[0].Rows.Count;
        int properIndex = rowsCount;
        if (tableCount > 0 && rowsCount > 0)
        {
            foreach (DataRow DR in entries.Tables[0].Rows)
            {
                if( !Convert.IsDBNull(DR["PAL_ENTRY_DATE"])  ) {

                    DateTime dtDr = Convert.ToDateTime(DR["PAL_ENTRY_DATE"].ToString()).Date;

                    if( properIndex == 1 && dtDay1 == DateTime.MinValue) {
                        dtDay1 = dtDr;
                    }
                    if (properIndex == 2 && dtDay2 == DateTime.MinValue) {
                        dtDay2 = dtDr;
                    }
                    if (properIndex == 3 && dtDay3 == DateTime.MinValue) {
                        dtDay3 = dtDr;
                    }
                    if (properIndex == 4 && dtDay4 == DateTime.MinValue) {
                        dtDay4 = dtDr;
                    }
                    if (properIndex == 5 && dtDay5 == DateTime.MinValue) {
                        dtDay5 = dtDr;
                    }
                    if (properIndex == 6 && dtDay6 == DateTime.MinValue) {
                        dtDay6 = dtDr;
                    }
                    if (properIndex == 7 && dtDay7 == DateTime.MinValue) {
                        dtDay7 = dtDr;
                    }
                    properIndex--;
                }
                if( !Convert.IsDBNull(DR["MET_EQUIVALENT"]) ) m_iWeeklyTotalMets += Convert.ToInt16(DR["MET_EQUIVALENT"].ToString());

            }
        }

        m_dtLastWorkout = GetLastWorkout(dtDay1, dtDay2, dtDay3, dtDay4, dtDay5, dtDay6, dtDay7);
        if (m_dtLastWorkout != DateTime.MinValue) {
            m_sLastWorkout = GetDateString(m_dtLastWorkout);
            m_sWorkoutHistory = GetWorkoutHistory(dtDay1, dtDay2, dtDay3, dtDay4, dtDay5, dtDay6, dtDay7);
        } else {
            m_sLastWorkout = "No workout history in the past week.";
            m_sWorkoutHistory = "No workout history in the past week.";
        }

        // get the weekly total mets triangle image as well as the left position of the marker and the left position of the total number
        MetsTriangle mt = GetMetsTriangle(m_iWeeklyTotalMets);
        m_sTriangleImage = mt.image;
        m_sProgressNumberLeft = mt.numberLeftPos;
        m_sProgressMarkerLeft = mt.markerLeftPos;

        // get the current program, the current step, and the step image by looking at the last entry in palstarts table
        DataSet starts = objPALClass.PAL_GET_PalStarts(m_sUserId, "1", "0");
        tableCount = entries.Tables.Count;
        int startCount = starts.Tables[0].Rows.Count;
        if (tableCount > 0 && startCount > 0)
        {
            DataRow drStarts = starts.Tables[0].Rows[startCount-1];
            if (!Convert.IsDBNull(drStarts["PROGRAM_NAME"])) m_sCurrentProgram = drStarts["PROGRAM_NAME"].ToString();
            if (!Convert.IsDBNull(drStarts["LEVEL_ID"])) m_sCurrentStage = drStarts["LEVEL_ID"].ToString();
            if (!Convert.IsDBNull(drStarts["PROGRAM_CURRENT_STEP"])) m_iCurrentStep = Convert.ToInt16(drStarts["PROGRAM_CURRENT_STEP"].ToString());
        }
        m_sStepImage = GetStepImage(m_iCurrentStep);
    }
    protected void Page_Load(object sender, EventArgs e)
    {
        objPALClass = new PALClass(objSqlConnClass.OpenConnection());
        gsUserID = Membership.GetUser().ProviderUserKey.ToString();

        MembershipUser currentUser = Membership.GetUser();
        if (!AppLib.IsLoggedinSessionExists() || currentUser == null)
            Response.Redirect(AppConfig.GetBaseSiteUrl() + "Welcome/main_frame.aspx", true);

        AccountClass objAccountClass;
        objAccountClass = new AccountClass(objSqlConnClass.sqlConnection);
        BackofficeClass objBackOfficeClass;
        objBackOfficeClass = new BackofficeClass(objSqlConnClass.OpenConnection());

        #region Insert visited log details

        AppLib.InsertVisitedSectionDetails("Dashboard Page");

        #endregion

        DataSet DS = objBackOfficeClass.Mem_GET_UserInfo(currentUser.UserName);
        if (DS != null)
        {
            if (DS.Tables[0].Rows.Count > 0)
            {
                if (DS.Tables[0].Rows[0]["ROLENAME"].ToString().Equals("User"))
                {
                    if (DS.Tables[0].Rows[0]["strRiskStratificationProcessStep"].ToString().Equals(string.Empty) || DS.Tables[0].Rows[0]["strRiskStratificationProcessStep"].ToString() != "6")
                    {
                        DS = null;
                        Response.Redirect(AppConfig.GetBaseSiteUrl() + "Users/RiskStratificationProcessStep1.aspx?id=" + AppLib.Encrypt(currentUser.UserName), true);
                    }
                }
            }
        }
        BindNutritionalJournal();
        DS = null;

        objTemplateClass = new TemplateClass(objSqlConnClass.OpenConnection());

        int ileftMargin = 0;
        string sTriangleImg = "triangle1.jpg";
        int iMET = 0;
        string sLastWorkout = "";
        DataSet entries = objPALClass.PAL_GET_PalEntries_BY_UserId(gsUserID, "", "");
        foreach (DataRow DR in entries.Tables[0].Rows)
        {
            iMET += Convert.ToInt32(DR["MET_EQUIVALENT"]);
            sLastWorkout = DR["PAL_ENTRY_DATE"].ToString();
        }
        labelLastWorkout.Text = sLastWorkout;

        iMET = 100;
        // 0
        if (iMET <= 0)
        {
            ileftMargin = 7;
            sTriangleImg = "triangle1.jpg";
        }
        // 1
        else if (iMET <= 100)
        {
            ileftMargin = 32;
            sTriangleImg = "triangle1.jpg";
        }
        // 2
        else if (iMET <= 200)
        {
            ileftMargin = 52;
            sTriangleImg = "triangle2.jpg";
        }
        // 3
        else if (iMET <= 300)
        {
            ileftMargin = 72;
            sTriangleImg = "triangle3.jpg";
        }
        // 4
        else if (iMET <= 400)
        {
            ileftMargin = 92;
            sTriangleImg = "triangle4.jpg";
        }
        // 5
        else if (iMET <= 500)
        {
            ileftMargin = 112;
            sTriangleImg = "triangle5.jpg";
        }
        // 6
        else if (iMET <= 600)
        {
            ileftMargin = 132;
            sTriangleImg = "triangle6.jpg";
        }
        // 7
        else if (iMET <= 700)
        {
            ileftMargin = 152;
            sTriangleImg = "triangle7.jpg";
        }
        // 8
        else if (iMET <= 800)
        {
            ileftMargin = 172;
            sTriangleImg = "triangle8.jpg";
        }
        // 9
        else if (iMET <= 900)
        {
            ileftMargin = 192;
            sTriangleImg = "triangle9.jpg";
        }
        // 10
        else if (iMET > 900)
        {
            ileftMargin = 212;
            sTriangleImg = "triangle10.jpg";
        }
        literalTriangle.Text = "<img style='margin-left:20px;' src='" + AppConfig.GetBaseSiteUrl() + "Images/dashboard/" + sTriangleImg + "' />";
        literalMetsMarker.Text = "<div style='width:30px;margin-left:" + ileftMargin.ToString() + "px;margin-top:-7px;font-weight:bold;font-size:larger;font-color:Black;text-align:center;line-height:80%'>&#9650;<br />" + iMET.ToString() + "</div>";

        getActivitiesData();
    }