Example #1
0
        protected void ButtonSubmitTeam_Click(object sender, EventArgs e)
        {
            string dataPath = Server.MapPath("~/App_Data/");
            string filename = "myXML-" + this.TextBoxFileNumber.Text + ".xml";

             XmlReaderSettings readerSettings = new XmlReaderSettings();
                readerSettings.DtdProcessing = DtdProcessing.Parse;
                readerSettings.ValidationType = ValidationType.DTD;
                readerSettings.ValidationEventHandler += new ValidationEventHandler(this.ValidationEventHandler);
                try
                {
                    isValid = true;
                    errorMessage = string.Empty;

                    XmlReader reader = XmlReader.Create(dataPath + filename, readerSettings);
                    while (reader.Read()) { }
                    reader.Close();
                    
                }
                catch (ArgumentException ane)
                {
                    isValid = false;
                    errorMessage = ane.Message;
                }
                catch (FileNotFoundException fnfe)
                {
                    isValid = false;
                    errorMessage = fnfe.Message;
                }
                catch (UriFormatException ufe)
                {
                    isValid = false;
                    errorMessage = ufe.Message;
                }
                catch (XmlException xe)
                {
                    isValid = false;
                    errorMessage =  xe.Message;
                }


                // Check whether the document is valid or invalid.
                if (isValid)
                {

                    LiteralControl lic = new LiteralControl("<p class=\"success\">Документа : <b>" + filename + "</b> е валидиран успешно!</p>" + 
                        "<p class=\"success\">Документа : <b>" + filename + "</b> е прехвърлен в базата данни успешно!</p>");
                    PanelResults.Controls.Add(lic);
                }
                else
                {
                    LiteralControl lic = new LiteralControl("<p class=\"fail\">Грешка при валидирането на " + filename + "! : <b>" + errorMessage + "</b></p>");
                    PanelResults.Controls.Add(lic);
                }

            // XML to DB
            XmlDocument doc = new XmlDocument();
            doc.Load(dataPath + filename);

            nbaDBEntities nbaDB = new nbaDBEntities();

            Team newTeam = new Team();
            newTeam.name = doc.SelectSingleNode("//chap/team").InnerText;
            newTeam.wins = int.Parse(doc.SelectSingleNode("//chap/team").Attributes["wins"].Value);
            newTeam.loses = int.Parse(doc.SelectSingleNode("//chap/team").Attributes["loses"].Value);
            newTeam.playoffs = doc.SelectSingleNode("//chap/team").Attributes["playoffs"].Value;
            newTeam.in_division = doc.SelectSingleNode("//chap/team").Attributes["in_division"].Value;
            newTeam.history = doc.SelectSingleNode("//chap/history").InnerText;
            nbaDB.Teams.AddObject(newTeam);
           // nbaDB.SaveChanges();

            Achievment newAchievment = new Achievment();
            newAchievment.teamID = newTeam.teamID;
            newAchievment.division_titles = int.Parse(doc.SelectSingleNode("//chap/achievments/division_titles").InnerText);
            newAchievment.conference_titles = int.Parse(doc.SelectSingleNode("//chap/achievments/conference_titles").InnerText);
            newAchievment.league_titles = int.Parse(doc.SelectSingleNode("//chap/achievments/league_titles").InnerText);
            newAchievment.notable_people = doc.SelectSingleNode("//chap/achievments/notable_people").InnerText;
            nbaDB.Achievments.AddObject(newAchievment);

            Arena newArena = new Arena();
            newArena.teamID = newTeam.teamID;
            newArena.name = doc.SelectSingleNode("//chap/arena").InnerText;
            newArena.seats = int.Parse(doc.SelectSingleNode("//chap/arena").Attributes["seats"].Value);
            nbaDB.Arenas.AddObject(newArena);

            Player newPlayer = new Player();
            XmlNodeList nodeList = doc.SelectNodes("//chap/roster/player");
            foreach (XmlNode node in nodeList)
            {
                newPlayer.teamID = newTeam.teamID;
                newPlayer.name = node.InnerText;
                newPlayer.position = node.Attributes["position"].Value;
                nbaDB.Players.AddObject(newPlayer);
            }

            Free_Agents newFA = new Free_Agents();
            newFA.teamID = newTeam.teamID;
            newFA.name = doc.SelectSingleNode("//chap/free_agent").InnerText;
            newFA.match = doc.SelectSingleNode("//chap/free_agent/qual_offer").Attributes["matched"].Value;
            newFA.years_w_team = int.Parse(doc.SelectSingleNode("//chap/free_agent/years_w_team").InnerText);
            newFA.qual_offer = double.Parse(doc.SelectSingleNode("//chap/free_agent/qual_offer").InnerText);
            nbaDB.Free_Agents.AddObject(newFA);

            Star newStar = new Star();
            XmlNodeList nodeList2 = doc.SelectNodes("//chap/star");
            foreach (XmlNode node in nodeList2)
            {
                newStar.teamID = newTeam.teamID;
                newStar.name = node.SelectSingleNode("star_name").InnerText;
                newStar.years_pro = int.Parse(node.SelectSingleNode("years_pro").InnerText);
                newStar.salary = double.Parse(node.SelectSingleNode("salary").InnerText);
                newStar.avg_pts = double.Parse(node.SelectSingleNode("avg_pts").InnerText);
                nbaDB.Stars.AddObject(newStar);
            }

            Coach newCoach = new Coach();
            newCoach.teamID = newTeam.teamID;
            newCoach.name = doc.SelectSingleNode("//chap/coach").InnerText;
            newCoach.salary = double.Parse(doc.SelectSingleNode("//chap/coach").Attributes["salary"].Value);
            newCoach.has_title = doc.SelectSingleNode("//chap/coach").Attributes["has_title"].Value;
            newCoach.years_old = int.Parse(doc.SelectSingleNode("//chap/coach").Attributes["years_old"].Value);
            nbaDB.Coaches.AddObject(newCoach);

            Add_Info newAddInfo = new Add_Info();
            newAddInfo.teamID = newTeam.teamID;
            newAddInfo.owner = doc.SelectSingleNode("//chap/add_info/owner").InnerText;
            newAddInfo.manager = doc.SelectSingleNode("//chap/add_info/manager").InnerText;
            newAddInfo.site = doc.SelectSingleNode("//chap/add_info/site").InnerText;
            newAddInfo.colors = doc.SelectSingleNode("//chap/add_info/colors").InnerText;
            newAddInfo.value = double.Parse(doc.SelectSingleNode("//chap/add_info/value").InnerText);
            newAddInfo.draft_position = int.Parse(doc.SelectSingleNode("//chap/add_info/draft_position").InnerText);
            newAddInfo.dleague_affiliate = doc.SelectSingleNode("//chap/add_info/dleague_affiliate").InnerText;
            nbaDB.Add_Info.AddObject(newAddInfo);
            // Finally we save the data
            nbaDB.SaveChanges();

        }
Example #2
0
        protected void ButtonSubmitTeam_Click(object sender, EventArgs e)
        {
            nbaDBEntities nbaDB = new nbaDBEntities();
            Team newTeam = new Team();
            newTeam.name = this.TextBoxTeamName.Text;
            newTeam.wins = int.Parse(this.TextBoxTeamWins.Text);
            newTeam.loses = int.Parse(this.TextBoxTeamLoses.Text);
            newTeam.in_division = this.TextBoxTeamInDivision.Text;
            newTeam.playoffs = this.TextBoxTeamPlayoffs.Text;
            newTeam.history = this.TextBoxTeamHistory.Text;

            nbaDB.Teams.AddObject(newTeam);
            nbaDB.SaveChanges();

            Achievment newAchievment = new Achievment();
            newAchievment.teamID = newTeam.teamID;
            newAchievment.division_titles = int.Parse(this.TextBoxTeamDivisionTitles.Text);
            newAchievment.conference_titles = int.Parse(this.TextBoxTeamConferenceTitles.Text);
            newAchievment.league_titles = int.Parse(this.TextBoxTeamLeagueTitles.Text);
            newAchievment.notable_people = this.TextBoxTeamNotablePeople.Text;

            nbaDB.Achievments.AddObject(newAchievment);

            Arena newArena = new Arena();
            newArena.teamID = newTeam.teamID;
            newArena.name = this.TextBoxArenaName.Text;
            newArena.seats = int.Parse(this.TextBoxArenaSeats.Text);

            nbaDB.Arenas.AddObject(newArena);

            Player newPlayer1 = new Player();
            newPlayer1.teamID = newTeam.teamID;
            newPlayer1.name = this.TextBoxRosterPlaymaker.Text;
            newPlayer1.position = "Плеймейкър";

            nbaDB.Players.AddObject(newPlayer1);

            Player newPlayer2 = new Player();
            newPlayer2.teamID = newTeam.teamID;
            newPlayer2.name = this.TextBoxRosterGuard.Text;
            newPlayer2.position = "Гард";

            nbaDB.Players.AddObject(newPlayer2);

            Player newPlayer3 = new Player();
            newPlayer3.teamID = newTeam.teamID;
            newPlayer3.name = this.TextBoxRosterSmallForward.Text;
            newPlayer3.position = "Леко-Крило";

            nbaDB.Players.AddObject(newPlayer3);

            Player newPlayer4 = new Player();
            newPlayer4.teamID = newTeam.teamID;
            newPlayer4.name = this.TextBoxRosterPowerForward.Text;
            newPlayer4.position = "Тежко-Крило";

            nbaDB.Players.AddObject(newPlayer4);

            Player newPlayer5 = new Player();
            newPlayer5.teamID = newTeam.teamID;
            newPlayer5.name = this.TextBoxRosterCenter.Text;
            newPlayer5.position = "Център";

            nbaDB.Players.AddObject(newPlayer5);

            Free_Agents newFA = new Free_Agents();
            newFA.teamID = newTeam.teamID;
            newFA.name = this.TextBoxFreeAgent1Name.Text;
            newFA.qual_offer = int.Parse(this.TextBoxFreeAgent1QualOffer.Text);
            if(this.RadioButtonFreeAgent1QualOfferMatchedN.Text == "Не")
                newFA.match = RadioButtonFreeAgent1QualOfferMatchedN.Text;
            else
                newFA.match = RadioButtonFreeAgent1QualOfferMatchedY.Text;
            newFA.years_w_team = int.Parse(this.TextBoxFreeAgent1YearsWTeam.Text);

            nbaDB.Free_Agents.AddObject(newFA);

            Star newStar = new Star();
            newStar.teamID = newTeam.teamID;
            newStar.name = this.TextBoxStar1Name.Text;
            newStar.years_pro = int.Parse(this.TextBoxStar1YearsPro.Text);
            newStar.salary = double.Parse(this.TextBoxStar1Salary.Text);
            newStar.avg_pts = double.Parse(this.TextBoxStar1AvgPts.Text);

            nbaDB.Stars.AddObject(newStar);

            Coach newCoach = new Coach();
            newCoach.teamID = newTeam.teamID;
            newCoach.name = this.TextBoxCoachName.Text;
            newCoach.salary = double.Parse(this.TextBoxCoachSalary.Text);
            if (this.RadioButtonCoachHasTitleY.Text == "Да")
                newCoach.has_title = "Да";
            else
                newCoach.has_title = "Не";
            newCoach.years_old = int.Parse(this.TextBoxCoachYearsOld.Text);

            nbaDB.Coaches.AddObject(newCoach);

            Add_Info newAddInfo = new Add_Info();
            newAddInfo.teamID = newTeam.teamID;
            newAddInfo.owner = this.TextBoxAddInfoOwnerName.Text;
            newAddInfo.manager = this.TextBoxAddInfoManagerName.Text;
            newAddInfo.site = this.TextBoxAddInfoSite.Text;
            newAddInfo.colors = this.TextBoxAddInfoColors.Text;
            newAddInfo.value = double.Parse(this.TextBoxAddInfoValue.Text);
            newAddInfo.draft_position = int.Parse(this.TextBoxAddInfoDraftPosition.Text);
            newAddInfo.dleague_affiliate = this.TextBoxAddInfoDleagueАffiliate.Text;

            nbaDB.Add_Info.AddObject(newAddInfo);

            nbaDB.SaveChanges();

            //XML

            // Create the xml document containe
            XmlDocument doc = new XmlDocument();// Create the XML Declaration, and append it to XML document
            XmlDeclaration dec = doc.CreateXmlDeclaration("1.0", null, null);
            doc.AppendChild(dec);// Create the root element
            XmlElement root = doc.CreateElement("chap");
            doc.AppendChild(root);
            // Insert the DTD
            XmlDocumentType docType = doc.CreateDocumentType("chap", null, Server.MapPath("~/App_Data/myDTD.dtd"), null);
            doc.InsertBefore(docType, root);

            XmlElement team = doc.CreateElement("team");
            team.InnerText = this.TextBoxTeamName.Text;
            team.SetAttribute("wins", this.TextBoxTeamWins.Text);
            team.SetAttribute("loses", this.TextBoxTeamLoses.Text);
            team.SetAttribute("playoffs", this.TextBoxTeamPlayoffs.Text);
            team.SetAttribute("in_division", this.TextBoxTeamInDivision.Text);
            root.AppendChild(team);// append to the root

            XmlElement history = doc.CreateElement("history");
            history.InnerText = this.TextBoxTeamHistory.Text;
            root.AppendChild(history);// append to the root

            XmlElement achievments = doc.CreateElement("achievments");
                    XmlElement division_titles = doc.CreateElement("division_titles");
                    division_titles.InnerText = this.TextBoxTeamDivisionTitles.Text;
                    XmlElement conference_titles = doc.CreateElement("conference_titles");
                    conference_titles.InnerText = this.TextBoxTeamConferenceTitles.Text;
                    XmlElement league_titles = doc.CreateElement("league_titles");
                    league_titles.InnerText = this.TextBoxTeamLeagueTitles.Text;
                    XmlElement notable_people = doc.CreateElement("notable_people");
                    notable_people.InnerText = this.TextBoxTeamNotablePeople.Text;
               achievments.AppendChild(division_titles);
               achievments.AppendChild(conference_titles);
               achievments.AppendChild(league_titles);
               achievments.AppendChild(notable_people);
           root.AppendChild(achievments);// append to the root

           XmlElement arena = doc.CreateElement("arena");
           arena.InnerText = this.TextBoxArenaName.Text;
           arena.SetAttribute("seats", this.TextBoxArenaSeats.Text);
           root.AppendChild(arena);// append to the root

           XmlElement roster = doc.CreateElement("roster");
            XmlElement player1 = doc.CreateElement("player");
            player1.InnerText = this.TextBoxRosterPlaymaker.Text;
            player1.SetAttribute("position", "Плеймейкър");

            XmlElement player2 = doc.CreateElement("player");
            player2.InnerText = this.TextBoxRosterGuard.Text;
            player2.SetAttribute("position", "Гард");

            XmlElement player3 = doc.CreateElement("player");
            player3.InnerText = this.TextBoxRosterSmallForward.Text;
            player3.SetAttribute("position", "Леко-Крило");

            XmlElement player4 = doc.CreateElement("player");
            player4.InnerText = this.TextBoxRosterPowerForward.Text;
            player4.SetAttribute("position", "Тежко-Крило");

            XmlElement player5 = doc.CreateElement("player");
            player5.InnerText = this.TextBoxRosterCenter.Text;
            player5.SetAttribute("position", "Център");

            roster.AppendChild(player1);
            roster.AppendChild(player2);
            roster.AppendChild(player3);
            roster.AppendChild(player4);
            roster.AppendChild(player5);

         root.AppendChild(roster);// append to the root

         XmlElement freeAgent = doc.CreateElement("free_agent");
            XmlElement fa_name = doc.CreateElement("fa_name");
            fa_name.InnerText = this.TextBoxFreeAgent1Name.Text;
            XmlElement fa_qual_ofer = doc.CreateElement("qual_offer");
            fa_qual_ofer.InnerText = this.TextBoxFreeAgent1QualOffer.Text;
            fa_qual_ofer.SetAttribute("matched", GetQualOffer());
            XmlElement fa_years_w_team = doc.CreateElement("years_w_team");
            fa_years_w_team.InnerText = this.TextBoxFreeAgent1YearsWTeam.Text;
            freeAgent.AppendChild(fa_name);
            freeAgent.AppendChild(fa_qual_ofer);
            freeAgent.AppendChild(fa_years_w_team);
        root.AppendChild(freeAgent);// append to the root

        XmlElement star = doc.CreateElement("star");
            XmlElement starName = doc.CreateElement("star_name");
            starName.InnerText = this.TextBoxStar1Name.Text;
            XmlElement yearsPro = doc.CreateElement("years_pro");
            yearsPro.InnerText = this.TextBoxStar1YearsPro.Text;
            XmlElement salary = doc.CreateElement("salary");
            salary.InnerText = this.TextBoxStar1Salary.Text;
            XmlElement avgPts = doc.CreateElement("avg_pts");
            avgPts.InnerText = this.TextBoxStar1AvgPts.Text;
            star.AppendChild(starName);
            star.AppendChild(yearsPro);
            star.AppendChild(salary);
            star.AppendChild(avgPts);
        root.AppendChild(star);// append to the root

        XmlElement coach = doc.CreateElement("coach");
        coach.InnerText = this.TextBoxCoachName.Text;
        coach.SetAttribute("salary", this.TextBoxCoachSalary.Text);
        coach.SetAttribute("has_title", CoachHasTitle());
        coach.SetAttribute("years_old", this.TextBoxCoachYearsOld.Text);
        root.AppendChild(coach);// append to the root

        XmlElement addInfo = doc.CreateElement("add_info");
            XmlElement owner = doc.CreateElement("owner");
            owner.InnerText = this.TextBoxAddInfoOwnerName.Text;
            owner.SetAttribute("billionaire", "Не");
            XmlElement manager = doc.CreateElement("manager");
            manager.InnerText = this.TextBoxAddInfoManagerName.Text;
            XmlElement site = doc.CreateElement("site");
            site.InnerText = this.TextBoxAddInfoSite.Text;
            XmlElement colors = doc.CreateElement("colors");
            colors.InnerText = this.TextBoxAddInfoColors.Text;           
            XmlElement value = doc.CreateElement("value");
            value.InnerText = this.TextBoxAddInfoValue.Text;
            XmlElement draftPos = doc.CreateElement("draft_position");
            draftPos.InnerText = this.TextBoxAddInfoDraftPosition.Text;
            XmlElement dlAffiliate = doc.CreateElement("dleague_affiliate");
            dlAffiliate.InnerText = this.TextBoxAddInfoDleagueАffiliate.Text;
            addInfo.AppendChild(owner);
            addInfo.AppendChild(manager);
            addInfo.AppendChild(site);
            addInfo.AppendChild(colors);
            addInfo.AppendChild(value);
            addInfo.AppendChild(draftPos);
            addInfo.AppendChild(dlAffiliate);
       root.AppendChild(addInfo);

       string path1 = Server.MapPath("~/App_Data/myXML-");
       string[] files = Directory.GetFiles(Server.MapPath("~/App_Data"), "*.xml", SearchOption.AllDirectories);
       //string path2 = this.TextBoxTeamName.Text;
       string path2 = Convert.ToString(files.Length+1);

       doc.Save(path1 + path2 + ".xml");

       Response.Redirect("~/Success.aspx?newfile=" + path1 + path2 + ".xml");


        }