⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 strategymanager.aspx.cs

📁 本在线考试系统采用了面向对象的分析和设计
💻 CS
字号:
using System;
using System.Data;
using System.Configuration;
using System.Collections.Generic;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using ExaminationSystem.BLL.Service;
using ExaminationSystem.BLL.Domain;

public partial class Teacher_Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            long subjectId = long.Parse(Request.QueryString["SubjectId"].ToString());
            ChapterNode root = new ChapterNode(subjectId);
            TreeViewHelper.CreateTreeView(root, TreeView1);
            BindStrategyDropDownList();
        }
    }

    private void BindStrategyDropDownList()
    {
        StrategyDropDownList.DataSource = GetCurrentSubject().PaperStrategys;
        StrategyDropDownList.DataTextField = "Name";
        StrategyDropDownList.DataValueField = "ID";
        StrategyDropDownList.DataBind();
        if (StrategyDropDownList.Items.Count > 0)
            StrategyDropDownList.SelectedIndex = 0;
        BindStrategyContainerList();
    }
    private void BindStrategyContainerList()
    {
        if (StrategyDropDownList.Items.Count == 0)
            return;
        StrategyContainerDropDownList.DataSource = GetCurrentPaperStrategy().StrategyContainers;
        StrategyContainerDropDownList.DataTextField = "Title";
        StrategyContainerDropDownList.DataValueField = "ID";
        StrategyContainerDropDownList.DataBind();
        if (StrategyContainerDropDownList.Items.Count > 0)
            StrategyContainerDropDownList.SelectedIndex = 0;
        BindStrategyItemList();
    }
    private void BindStrategyItemList()
    {

        if (StrategyContainerDropDownList.Items.Count == 0)
        {
            StrategyItemListBox.DataSource = null;
            StrategyItemListBox.DataBind();
            return;
        }
        StrategyItemListBox.DataSource = GetCurrentStrategyContainer().StrategyItems;
        StrategyItemListBox.DataTextField = "Name";
        StrategyItemListBox.DataValueField = "ID";
        StrategyItemListBox.DataBind();
        if (StrategyItemListBox.Items.Count > 0)
            StrategyItemListBox.SelectedIndex = 0;
        BindSelectedQuestionList();
    }
    private void BindSelectedQuestionList()
    {
        if (StrategyItemListBox.Items.Count == 0)
        {
            SelectedQuestionGridView.DataSource = null;
            SelectedQuestionGridView.DataBind();
            ScoreValueTextBox.Text = "";
            QuestionCountTextBox.Text ="";
            return;

        }
        StrategyItem item = GetCurrentStrategyItem();
        SelectedQuestionGridView.DataSource = item.QuestionContents;
        SelectedQuestionGridView.DataBind();
        ScoreValueTextBox.Text = item.ScoreValue.ToString();
        QuestionCountTextBox.Text = item.Count.ToString();
    }
    private Subject GetCurrentSubject()
    {
         long subjectId = long.Parse(Request.QueryString["SubjectId"].ToString());
        return new SubjectService().GetById(subjectId);
    }
    private PaperStrategy GetCurrentPaperStrategy()
    {
        return new PaperStrategyService().GetById(long.Parse(StrategyDropDownList.SelectedValue));
    }
    private StrategyContainer GetCurrentStrategyContainer()
    {
        return new StrategyContainerService().GetById(long.Parse(StrategyContainerDropDownList.SelectedValue));
    }
    private StrategyItem GetCurrentStrategyItem()
    {
        return new StrategyItemService().GetById(long.Parse(StrategyItemListBox.SelectedValue));
    }

    protected void TreeView1_SelectedNodeChanged(object sender, EventArgs e)
    {
        BindQuestionList();
    }

    private void BindQuestionList()
    {
        Chapter chapter = new ChapterService().GetById(long.Parse(TreeView1.SelectedNode.Value));
        IList<QuestionContent> resultList = new List<QuestionContent>();
        foreach (QuestionContent question in chapter.QuestionContents)
        {
            if (questionTypeDD.SelectedValue == question.QuestionType && (Hard)int.Parse(hardDD.SelectedValue) == question.Hard)
            {
                resultList.Add(question);
            }
        }
        QuestionGridView.DataSource = resultList;
        QuestionGridView.DataBind();
    }
    protected void questionTypeDD_SelectedIndexChanged(object sender, EventArgs e)
    {
        BindQuestionList();
    }
    protected void hardDD_SelectedIndexChanged(object sender, EventArgs e)
    {
        BindQuestionList();
    }
    protected void SelectButton_Click(object sender, EventArgs e)
    {
        StrategyItem item = GetCurrentStrategyItem();
        foreach (TableRow row in QuestionGridView.Rows)
        {
           CheckBox box= (CheckBox)row.Cells[2].Controls[1];
           if (box.Checked == true)
           {
               QuestionContent question = new QuestionContentService().GetById(long.Parse(box.Text));
               if (!item.StrategyContainer.PaperStrategy.HasQuestion(question))
                   item.QuestionContents.Add(question);
               else
               {
                   Label1.Text += question.ID + ",";
               }
           }
        }
        if (Label1.Text.Length > 0)
            Label1.Text += "已经添加过了!";
        SelectedQuestionGridView.DataSource = item.QuestionContents;
        SelectedQuestionGridView.DataBind();
        new StrategyItemService().Update(item);
    }
    protected void AddStrategyButton_Click(object sender, EventArgs e)
    {
        PaperStrategy strategy = new PaperStrategy();
        strategy.Name = StrategyTextBox.Text;
        strategy.Subject = GetCurrentSubject();
        new PaperStrategyService().Save(strategy);
        ListItem item = new ListItem(strategy.Name, strategy.ID.ToString());
        StrategyDropDownList.Items.Add(item);
        StrategyDropDownList.SelectedIndex = -1;
        item.Selected = true;
        BindStrategyContainerList();
        
    }
    protected void RemoveSeletedButton_Click(object sender, EventArgs e)
    {
        StrategyItem item = GetCurrentStrategyItem();
        foreach (TableRow row in SelectedQuestionGridView.Rows)
        {
            CheckBox box = (CheckBox)row.Cells[0].Controls[1];
            if (box.Checked == true)
            {
                item.QuestionContents.Remove(new QuestionContentService().GetById(long.Parse(box.Text)));
            }
        }
        SelectedQuestionGridView.DataSource = item.QuestionContents;
        SelectedQuestionGridView.DataBind();
        new StrategyItemService().Update(item);
    }
    protected void AddStrategyContainerButton_Click(object sender, EventArgs e)
    {
        StrategyContainer container = new StrategyContainer();
        container.Title = StrategyContainerTextBox.Text;
        container.PaperStrategy = GetCurrentPaperStrategy();
        new StrategyContainerService().Save(container);
        ListItem item = new ListItem(container.Title, container.ID.ToString());

        StrategyContainerDropDownList.Items.Add(item);
        StrategyContainerDropDownList.SelectedIndex = -1;
        item.Selected = true ;
        BindStrategyItemList();
    }
    protected void StrategyDropDownList_SelectedIndexChanged(object sender, EventArgs e)
    {
        BindStrategyContainerList();
    }
    protected void AddStrategyItemButton_Click(object sender, EventArgs e)
    {
        StrategyItem item = new StrategyItem();
        item.Name = StrategyItemTextBox.Text;
        item.StrategyContainer = GetCurrentStrategyContainer();
        new StrategyItemService().Save(item);

        ListItem listitem = new ListItem(item.Name, item.ID.ToString());

        StrategyItemListBox.Items.Add(listitem);
        StrategyItemListBox.SelectedIndex = -1;
        listitem.Selected = true;
        BindSelectedQuestionList();
    }
    protected void StrategyContainerDropDownList_SelectedIndexChanged(object sender, EventArgs e)
    {
        BindStrategyItemList();
    }
    protected void DeleteStrategyButton_Click(object sender, EventArgs e)
    {
        new PaperStrategyService().DeleteById(long.Parse(StrategyDropDownList.SelectedValue));
        StrategyDropDownList.Items.Remove(StrategyDropDownList.SelectedItem);
        BindStrategyContainerList();
    }
    protected void DeleteStrategyContainerButton_Click(object sender, EventArgs e)
    {
        new StrategyContainerService().DeleteById(long.Parse(StrategyContainerDropDownList.SelectedValue));
        StrategyContainerDropDownList.Items.Remove(StrategyContainerDropDownList.SelectedItem);
        BindStrategyItemList();
    }
    protected void DeleteStrategyItemButton_Click(object sender, EventArgs e)
    {
        new StrategyItemService().DeleteById(long.Parse(StrategyItemListBox.SelectedValue));
        StrategyItemListBox.Items.Remove(StrategyItemListBox.SelectedItem);
        if (StrategyItemListBox.Items.Count > 0)
        {
            StrategyItemListBox.SelectedIndex = 0; 
            BindSelectedQuestionList();
        }

       
    }
    protected void StrategyItemListBox_SelectedIndexChanged(object sender, EventArgs e)
    {
        BindSelectedQuestionList();

    }
    protected void SaveStrategyItemBT_Click(object sender, EventArgs e)
    {
        StrategyItem item = GetCurrentStrategyItem();
        item.ScoreValue = int.Parse(ScoreValueTextBox.Text);
        item.Count = int.Parse(QuestionCountTextBox.Text);
        new StrategyItemService().Update(item);
        Label1.Text = "保存成功!";
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -