Beispiel #1
0
    protected void saveButton_Click(object sender, EventArgs e)
    {
        saveChanges_inPage();

        gameID = Session["gameIDSession"].ToString();

        Session["CorrectAnswer"] = 0;

        XmlNode questionForEdit     = RealxmlDoc.SelectSingleNode("/tree/game[@code=" + gameID + "]/questions");
        XmlNode FakequestionForEdit = FakexmlDoc.SelectSingleNode("/tree/game/questions");

        questionForEdit.InnerXml = FakequestionForEdit.InnerXml;
        XmlNode gameQuestNum = FakexmlDoc.SelectSingleNode("/tree/game");

        questionForEdit.ParentNode.Attributes["totalQes"].Value = gameQuestNum.Attributes["totalQes"].Value;
        XmlDataSourceFakeGame.Save();
        XmlDataSourceRealGame.Save();
        Panel1.DataBind();
        innerGridView.DataBind();
        Response.Redirect("EditGame.aspx");
    }
Beispiel #2
0
    protected void deleterow()
    {
        string gameID  = Session["gameIDSession"].ToString();
        string questId = Session["DeleteQuestNum"].ToString();

        XmlNode     questionToDelete     = FakexmlDoc.SelectSingleNode(" / tree /game / questions / question[@numberQues = " + questId + "]");
        XmlNode     realquestionToDelete = RealxmlDoc.SelectSingleNode(" / tree /game / questions / question[@numberQues = " + questId + "]");
        int         DeletedQuestNum      = Convert.ToInt16(questionToDelete.Attributes["numberQues"].Value);
        XmlNodeList myQuestNum           = FakexmlDoc.SelectNodes("/tree/game/questions/question");
        XmlNodeList realmyQuestNum       = RealxmlDoc.SelectNodes("/tree/game/questions/question");

        if (Convert.ToInt16(realquestionToDelete.ParentNode.ParentNode.Attributes["totalQes"].Value) <= 1)
        {
            questionToDelete.SelectSingleNode("//questionText").InnerText = "";
            questionToDelete.SelectSingleNode("//Answers").InnerXml       = "";
            questionToDelete.Attributes["numberQues"].Value = "0";

            questionToDelete.ParentNode.ParentNode.Attributes["totalQes"].Value = "0";

            realquestionToDelete.SelectSingleNode("//questionText").InnerText = "";
            realquestionToDelete.SelectSingleNode("//Answers").InnerXml       = "";
            realquestionToDelete.Attributes["numberQues"].Value = "0";

            realquestionToDelete.ParentNode.ParentNode.Attributes["totalQes"].Value = "0";

            Session["editQuestNum"] = "0";
        }
        else
        {
            questionToDelete.ParentNode.RemoveChild(questionToDelete);
            realquestionToDelete.ParentNode.RemoveChild(realquestionToDelete);
        }

        foreach (XmlElement question in myQuestNum)
        {
            if (Convert.ToInt16(question.Attributes["numberQues"].Value) > DeletedQuestNum)
            {
                int questNum = Convert.ToInt16(question.Attributes["numberQues"].Value);
                question.Attributes["numberQues"].Value = (questNum - 1).ToString();
            }
        }

        foreach (XmlElement question in realmyQuestNum)
        {
            if (Convert.ToInt16(question.Attributes["numberQues"].Value) > DeletedQuestNum)
            {
                int questNum = Convert.ToInt16(question.Attributes["numberQues"].Value);
                question.Attributes["numberQues"].Value = (questNum - 1).ToString();
            }
        }



        XmlNode gameQuestNum     = FakexmlDoc.SelectSingleNode("/tree/game");
        XmlNode realgameQuestNum = FakexmlDoc.SelectSingleNode("/tree/game");
        int     numberOfQuest    = Convert.ToInt16(realgameQuestNum.Attributes["totalQes"].Value);

        gameQuestNum.Attributes["totalQes"].Value     = (numberOfQuest - 1).ToString();
        realgameQuestNum.Attributes["totalQes"].Value = (numberOfQuest - 1).ToString();

        if (Session["editQuestNum"].ToString() == Session["DeleteQuestNum"].ToString() && Session["editQuestNum"].ToString() != "1" && Session["editQuestNum"].ToString() != "0")
        {
            Session["editQuestNum"] = Convert.ToInt16(Session["editQuestNum"]) - 1;
        }


        XmlDataSourceFakeGame.Save();
        XmlDataSourceRealGame.Save();
        innerGridView.DataBind();
        Response.Redirect("EditGame.aspx");
    }
Beispiel #3
0
    protected void Page_init(object sender, EventArgs e)
    {
        Panel3.BackImageUrl = "/images/spaceship.png";
        gameID  = Session["gameIDSession"].ToString();
        questId = Session["editQuestNum"].ToString();

        XmlDataSourceRealGame.XPath = "/tree/game[@code = " + gameID + "]/questions/question";
        XmlDataSourceFakeGame.XPath = "/tree/game[@code = " + gameID + "]/questions/question";

        RealxmlDoc = XmlDataSourceRealGame.GetXmlDocument();
        RealxmlDoc.Load(Server.MapPath("tree/games.xml"));

        FakexmlDoc = XmlDataSourceFakeGame.GetXmlDocument();
        FakexmlDoc.Load(Server.MapPath("tree/fake.xml"));

        XmlNode fakeQuestNode = FakexmlDoc.SelectSingleNode("/tree/game[@code = " + gameID + "]/questions/question[@numberQues = " + questId + "]");
        XmlNode realQuestNode = RealxmlDoc.SelectSingleNode("/tree/game[@code = " + gameID + "]/questions/question[@numberQues = " + questId + "]");


        if (questId != "0")
        {
            saveButton.Text = "שמור שינויים";
            if (realQuestNode.InnerXml == fakeQuestNode.InnerXml)
            {
                save = false;
                saveButton.Enabled = false;
                saveButtontooltip.Style.Add("visibility", "visible");
                saveButtontooltip.Text = "טרם נערכו שינויים בשאלה";
            }
        }
        else
        {
            saveButtontooltip.Text = "טרם נערכו שינויים בשאלה";
            saveButton.Text        = "שמור שאלה";
        }

        gameName.Text = Server.UrlDecode(FakexmlDoc.SelectSingleNode("/tree/game[@code = " + gameID + "]/gameName").InnerText);

        XmlNode fakeQuest = FakexmlDoc.SelectSingleNode("/tree/game/questions/question[@numberQues = " + questId + "]");

        XmlNode fakeQuestText = FakexmlDoc.SelectSingleNode("/tree/game/questions/question[@numberQues = " + questId + "]/questionText");

        questionText.Text  = Server.UrlDecode(fakeQuestText.InnerText);
        QuestCuontLbl.Text = questionText.Text.Length.ToString() + "/100";
        XmlNode fakeQuestImage = FakexmlDoc.SelectSingleNode("/tree/game/questions/question[@numberQues = " + questId + "]/pic");

        if (fakeQuestImage != null)
        {
            questionText.CssClass        = "questImageTrue";
            ImageButtonquestImg.ImageUrl = Server.UrlDecode(fakeQuestImage.InnerText);
            ImageButtonquestImg.CssClass = "questImageClassTrue";
            ImageButton deleteImg0 = new ImageButton();
            deleteImg0.ID       = "deleteImg0";
            deleteImg0.ImageUrl = "images/Exit.png";
            deleteImg0.Click   += questImageDelete;
            Panel1.Controls.Add(deleteImg0);
            ImageButtonquestImgtooltip.Text = "החלפת תמונה";
            ((Label)FindControl("QuestCuontLbl")).CssClass = "IfImageTrue";
            ((Label)FindControl("QuestCuontLbl")).Style.Add("visibility", "hidden");
        }


        XmlNode fakeQuestAnsewrs = FakexmlDoc.SelectSingleNode("/tree/game/questions/question[@numberQues = " + questId + "]/Answers");

        int ansNum = 1;

        RadioButtonList answersList = new RadioButtonList();

        answersList.ID           = "answersList";
        answersList.AutoPostBack = true;
        Panel1.Controls.Add(answersList);

        if (questionText.Text.Length != 0)
        {
            ((Label)FindControl("answer1tooltip")).Style.Add("visibility", "hidden");
            ((ImageButton)FindControl("ImageButton1")).Enabled = true;
            ((ImageButton)FindControl("answerImage1")).Enabled = true;
            ((ImageButton)FindControl("ImageButton1")).Style.Add("visibility", "visible");
            ((ImageButton)FindControl("answerImage1")).Style.Add("visibility", "visible");
            ((Label)FindControl("Label1")).Enabled = true;
            ((Label)FindControl("Label1")).Style.Add("visibility", "visible");

            if (fakeQuestAnsewrs.ChildNodes.Count <= 1)
            {
                saveButtontooltip.Text = "שאלה חייבת להכיל שתי תשובות לפחות";
            }
        }

        for (int i = 3; i <= 6; i++)
        {
            ((Label)FindControl("answer" + i + "tooltip")).Style.Add("visibility", "hidden");
            ((ImageButton)FindControl("ImageButton" + i)).Style.Add("visibility", "hidden");
            ((ImageButton)FindControl("answerImage" + i)).Style.Add("visibility", "hidden");
            ((Label)FindControl("Label" + i)).Style.Add("visibility", "hidden");
        }


        foreach (XmlNode node in fakeQuestAnsewrs)
        {
            ((Label)FindControl("answer" + ansNum + "tooltip")).Style.Add("visibility", "hidden");
            ((ImageButton)FindControl("ImageButton" + ansNum)).Enabled = false;
            ((ImageButton)FindControl("answerImage" + ansNum)).Enabled = false;
            ((ImageButton)FindControl("ImageButton" + ansNum)).Style.Add("visibility", "hidden");
            ((ImageButton)FindControl("answerImage" + ansNum)).Style.Add("visibility", "hidden");
            ((Label)FindControl("Label" + ansNum)).Enabled = false;
            ((Label)FindControl("Label" + ansNum)).Style.Add("visibility", "hidden");

            ImageButton delete = new ImageButton();
            delete.ID       = "answerDelete" + ansNum;
            delete.CssClass = "answer" + ansNum + "deleteClass";
            delete.ImageUrl = "images/Exit.png";

            ListItem check = new ListItem();
            check.Text  = "";
            check.Value = ansNum.ToString();
            answersList.Items.Add(check);

            if (node.Attributes["result"].Value == "correct")
            {
                Session["CorrectAnswer"] = ansNum;
                check.Text     = ".";
                check.Selected = true;
            }

            if (node.Attributes["pic"].Value == "no")
            {
                TextBox ansewrText = new TextBox();
                ansewrText.Attributes["placeholder"] = "הזן תשובה";
                ansewrText.Attributes["enableThis"]  = (ansNum + 1).ToString();
                ansewrText.Text     = Server.UrlDecode(node.InnerText);
                ansewrText.TextMode = TextBoxMode.MultiLine;
                ansewrText.ID       = "answer" + ansNum + "Textbox";
                ansewrText.CssClass = "ansText" + ansNum + "Class";
                ansewrText.Attributes["CharacterLimit"]    = "50";
                ansewrText.Attributes["CharacterForLabel"] = "AnslableCount" + ansNum;

                Label lableCount = new Label();
                lableCount.ID       = "AnslableCount" + ansNum;
                lableCount.CssClass = "ansText" + ansNum + "Class";
                lableCount.Text     = ansewrText.Text.Length.ToString() + "/50";
                lableCount.Style.Add("visibility", "hidden");
                Panel1.Controls.Add(ansewrText);
                Panel1.Controls.Add(lableCount);
            }
            else
            {
                ((ImageButton)FindControl("answerImage" + ansNum)).Enabled = true;
                ((ImageButton)FindControl("answerImage" + ansNum)).Style.Add("visibility", "visible");
                ImageButton ansewrImage = (ImageButton)FindControl("answerImage" + ansNum);
                ansewrImage.ImageUrl = Server.UrlDecode(node.InnerText);
                ansewrImage.CssClass = "answerImageClassTrue";
            }

            delete.Click += Delete_Answer;
            Panel1.Controls.Add(delete);

            if (ansNum < 6)
            {
                ansNum++;
            }

            ((Label)FindControl("answer" + ansNum + "tooltip")).Style.Add("visibility", "hidden");
            ((ImageButton)FindControl("ImageButton" + ansNum)).Enabled = true;
            ((ImageButton)FindControl("answerImage" + ansNum)).Enabled = true;
            ((ImageButton)FindControl("ImageButton" + ansNum)).Style.Add("visibility", "visible");
            ((ImageButton)FindControl("answerImage" + ansNum)).Style.Add("visibility", "visible");
            ((Label)FindControl("Label" + ansNum)).Enabled = true;
            ((Label)FindControl("Label" + ansNum)).Style.Add("visibility", "visible");
        }
        if (answersList.SelectedValue == "")
        {
            saveButton.Enabled = false;
            if (answersList.Items.Count >= 2)
            {
                saveButtontooltip.Text = "חובה לסמן תשובה נכונה";
            }
        }
        else
        {
            if (answersList.Items.Count <= 1)
            {
                saveButtontooltip.Text = "שאלה חייבל להכיל שתי תשובות לפחות";
                saveButton.Enabled     = false;
            }
            else
            {
                if (saveButton.Enabled == true)
                {
                    saveButtontooltip.Style.Add("visibility", "hidden");
                }
            }
        }

        Panel1.Controls.Add(new LiteralControl("<br/>"));
        Panel1.DataBind();
    }