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"); }
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"); }
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(); }