Пример #1
0
    protected void Refresh()
    {
        // Empty the page defensively
        gvMilestoneProgress.DataSource = null;
        gvMilestoneProgress.DataBind();

        pnlOverallProgress.Visible = false;
        ClearCookie();

        if (cmbMilestones.SelectedIndex == 0 || String.IsNullOrEmpty(cmbMilestoneGroup.SelectedValue) || Milestones.FirstOrDefault(mg => mg.GroupName.CompareCurrentCulture(cmbMilestoneGroup.SelectedValue) == 0) == null)
        {
            return;
        }

        MilestoneGroup mgSel = Milestones.FirstOrDefault(mg => mg.GroupName.CompareCurrentCulture(cmbMilestoneGroup.SelectedValue) == 0);

        if (mgSel == null || cmbMilestones.SelectedIndex > mgSel.Milestones.Count || cmbMilestones.SelectedIndex == 0)
        {
            return;
        }

        MilestoneProgress mp = mgSel.Milestones[cmbMilestones.SelectedIndex - 1];

        SetCookie();

        if (!mp.HasData)
        {
            mp.Username = TargetUser;
        }

        lblRatingOverallDisclaimer.Text = mp.GeneralDisclaimer;
        pnlRatingDisclaimer.Visible     = !String.IsNullOrEmpty(lblRatingOverallDisclaimer.Text);

        gvMilestoneProgress.DataSource = mp.ComputedMilestones;
        gvMilestoneProgress.DataBind();

        pnlOverallProgress.Visible = true;
        int cMilestones    = 0;
        int cMetMilestones = 0;

        foreach (MilestoneItem mi in mp.ComputedMilestones)
        {
            cMilestones++;
            if (mi.IsSatisfied)
            {
                cMetMilestones++;
            }
        }
        lblOverallProgress.Text = String.Format(CultureInfo.CurrentCulture, Resources.MilestoneProgress.OverallProgressTemplate, cMetMilestones, cMilestones);
    }
    protected void cmbMilestoneGroup_SelectedIndexChanged(object sender, EventArgs e)
    {
        cmbMilestones.Items.Clear();
        ListItem li = new ListItem(Resources.MilestoneProgress.RatingUnknown, String.Empty);

        li.Selected = true;
        cmbMilestones.Items.Add(li);

        MilestoneGroup mgSel = Milestones.FirstOrDefault(mg => mg.GroupName.CompareCurrentCulture(cmbMilestoneGroup.SelectedValue) == 0);

        if (mgSel != null)
        {
            cmbMilestones.DataSource = mgSel.Milestones;
            cmbMilestones.DataBind();
        }

        Refresh();
    }