Пример #1
0
        private void Level_Select_Load(object sender, EventArgs e)
        {
            int totalWeight = 0;


            //If connected to database can load and import in to data structures.
            //Can load from database and save in to xml using xml textwriter
            //Then load from XML

            if (loadState)
            {
                // DATABASE LOAD CODE


                //try
                //{
                //    SqlConnection myConnection = new SqlConnection("Integrated Security=true;" +
                //                           "password=password;server=.\\SQLEXPRESS;" +
                //                           "Trusted_Connection=yes;" +
                //                           "database=XML; " +
                //                           "connection timeout=30");



                //    myConnection.Open();



                //    SqlDataAdapter Modules4 = new SqlDataAdapter("Select * From dbo.Course where Module_Level = 4", myConnection);
                //    DataSet course4 = new DataSet("Course");
                //    Modules4.FillSchema(course4, SchemaType.Source, "Course");
                //    Modules4.Fill(course4, "Course");

                //    DataTable tblCourse;
                //    tblCourse = course4.Tables["Course"];


                //    int maxWeight = 0;

                //    foreach (DataRow drCurrent in tblCourse.Rows)
                //    {

                //        Module loadModule = new Module();
                //        Assessment loadAssessment = new Assessment();

                //        this.courseNameLbl.Text = drCurrent["Course_Name"].ToString();
                //        this.courseCodeLbl.Text = drCurrent["Course_Code"].ToString();
                //        loadModule.Level = int.Parse(drCurrent["Module_Level"].ToString());
                //        loadModule.ModuleName = drCurrent["Module_Name"].ToString();
                //        loadModule.ModuleCode = drCurrent["Module_Code"].ToString();
                //        loadModule.ModuleCredits = int.Parse(drCurrent["Module_Credits"].ToString());
                //        loadAssessment.AssessmentName = drCurrent["Assessment_Name"].ToString();
                //        maxWeight = maxWeight + int.Parse(drCurrent["Assessment_Weighting"].ToString());
                //        loadAssessment.AssessmentWeighting = int.Parse(drCurrent["Assessment_Weighting"].ToString());
                //        loadAssessment.AssessmentMark = int.Parse(drCurrent["Assessment_Mark"].ToString());
                //        assessmentList.Add(loadAssessment);

                //        if (maxWeight == 100)
                //        {
                //            List<Assessment> assessList2 = new List<Assessment>();
                //            assessList2.AddRange(assessmentList);
                //            loadModule.UpdateList(assessList2);
                //            //     moduleListlvl4.Add(loadModule);
                //            assessmentList.Clear();
                //            maxWeight = 0;

                //        }

                //    }



                //    SqlDataAdapter Modules5 = new SqlDataAdapter("Select * From dbo.Course where Module_Level = 5", myConnection);
                //    DataSet course5 = new DataSet("Course2");
                //    Modules5.FillSchema(course5, SchemaType.Source, "Course2");
                //    Modules5.Fill(course5, "Course2");

                //    DataTable tblCourse5;
                //    tblCourse5 = course5.Tables["Course2"];


                //    int maxWeight2 = 0;

                //    foreach (DataRow drCurrent in tblCourse5.Rows)
                //    {

                //        Module loadModule = new Module();
                //        Assessment loadAssessment = new Assessment();

                //        this.courseNameLbl.Text = drCurrent["Course_Name"].ToString();
                //        this.courseCodeLbl.Text = drCurrent["Course_Code"].ToString();
                //        loadModule.Level = int.Parse(drCurrent["Module_Level"].ToString());
                //        loadModule.ModuleName = drCurrent["Module_Name"].ToString();
                //        loadModule.ModuleCode = drCurrent["Module_Code"].ToString();
                //        loadModule.ModuleCredits = int.Parse(drCurrent["Module_Credits"].ToString());
                //        loadAssessment.AssessmentName = drCurrent["Assessment_Name"].ToString();
                //        maxWeight2 = maxWeight2 + int.Parse(drCurrent["Assessment_Weighting"].ToString());
                //        loadAssessment.AssessmentWeighting = int.Parse(drCurrent["Assessment_Weighting"].ToString());
                //        loadAssessment.AssessmentMark = int.Parse(drCurrent["Assessment_Mark"].ToString());
                //        assessmentList.Add(loadAssessment);

                //        if (maxWeight2 == 100)
                //        {

                //            List<Assessment> assessList2 = new List<Assessment>();
                //            assessList2.AddRange(assessmentList);
                //            loadModule.UpdateList(assessList2);
                //            //         moduleListlvl5.Add(loadModule);
                //            assessmentList.Clear();
                //            maxWeight2 = 0;

                //        }

                //    }



                //    SqlDataAdapter Modules6 = new SqlDataAdapter("Select * From dbo.Course where Module_Level = 6", myConnection);
                //    DataSet course6 = new DataSet("Course3");
                //    Modules6.FillSchema(course6, SchemaType.Source, "Course3");
                //    Modules6.Fill(course6, "Course3");

                //    DataTable tblCourse6;
                //    tblCourse6 = course6.Tables["Course3"];


                //    int maxWeight3 = 0;

                //    foreach (DataRow drCurrent in tblCourse6.Rows)
                //    {

                //        Module loadModule = new Module();
                //        Assessment loadAssessment = new Assessment();

                //        this.courseNameLbl.Text = drCurrent["Course_Name"].ToString();
                //        this.courseCodeLbl.Text = drCurrent["Course_Code"].ToString();
                //        loadModule.Level = int.Parse(drCurrent["Module_Level"].ToString());
                //        loadModule.ModuleName = drCurrent["Module_Name"].ToString();
                //        loadModule.ModuleCode = drCurrent["Module_Code"].ToString();
                //        loadModule.ModuleCredits = int.Parse(drCurrent["Module_Credits"].ToString());
                //        loadAssessment.AssessmentName = drCurrent["Assessment_Name"].ToString();
                //        maxWeight3 = maxWeight3 + int.Parse(drCurrent["Assessment_Weighting"].ToString());
                //        loadAssessment.AssessmentWeighting = int.Parse(drCurrent["Assessment_Weighting"].ToString());
                //        loadAssessment.AssessmentMark = int.Parse(drCurrent["Assessment_Mark"].ToString());
                //        assessmentList.Add(loadAssessment);

                //        if (maxWeight3 == 100)
                //        {

                //            List<Assessment> assessList2 = new List<Assessment>();
                //            assessList2.AddRange(assessmentList);
                //            loadModule.UpdateList(assessList2);
                //            //         moduleListlvl6.Add(loadModule);
                //            assessmentList.Clear();
                //            maxWeight3 = 0;

                //        }

                //    }
                //    myConnection.Close();
                //}
                //catch (Exception err)
                //{
                //    Console.WriteLine(err);
                //}



                try
                {
                    XmlDocument doc = new XmlDocument();
                    doc.Load("SavedData.xml");

                    XmlNode xmllst = doc.SelectSingleNode("Modules");


                    using (XmlReader reader = XmlReader.Create("SavedData.xml"))
                        while (reader.Read())
                        {
                            if (reader.IsStartElement())
                            {
                                if (reader.Name == "Modules4")
                                {
                                    readmodules4(reader.ReadSubtree());
                                }
                                else if (reader.Name == "Modules5")
                                {
                                    readmodules5(reader.ReadSubtree());
                                }
                                else if (reader.Name == "Modules6")
                                {
                                    readmodules6(reader.ReadSubtree());
                                }
                            }

                            switch (reader.Name)
                            {
                            case "CourseName":

                                this.courseNameLbl.Text = reader.ReadString();
                                cd.CourseName           = this.courseNameLbl.Text;


                                break;

                            case "CourseCode":
                                this.courseCodeLbl.Text = reader.ReadString();
                                cd.CourseCode           = this.courseCodeLbl.Text;
                                break;
                            }
                        }



                    void readmodules4(XmlReader reader)
                    {
                        totalWeight = 0;
                        while (reader.Read())
                        {
                            switch (reader.Name)
                            {
                            case "Name":
                                moduleName = reader.ReadString();


                                break;

                            case "Code":
                                moduleCode = reader.ReadString();

                                break;

                            case "Credits":
                                credits = int.Parse(reader.ReadString());

                                break;

                            case "AssessmentName":
                                assessmentName = reader.ReadString();

                                break;

                            case "Mark":
                                mark = int.Parse(reader.ReadString());

                                break;

                            case "Weighting":
                                weight      = int.Parse(reader.ReadString());
                                totalWeight = totalWeight + weight;

                                break;
                            }


                            if (reader.NodeType == XmlNodeType.EndElement && reader.Name == "Assessment")
                            {
                                Assessment assess = new Assessment();
                                assess.AssessmentMark      = mark;
                                assess.AssessmentName      = assessmentName;
                                assess.AssessmentWeighting = weight;
                                assessmentList.Add(assess);
                            }



                            if (reader.NodeType == XmlNodeType.EndElement && reader.Name == "Module")
                            {
                                List <Assessment> asessList2 = new List <Assessment>();

                                asessList2.AddRange(assessmentList);
                                Module mod2 = new Module();
                                mod2.ModuleName    = moduleName;
                                mod2.ModuleCode    = moduleCode;
                                mod2.ModuleCredits = credits;
                                mod2.Level         = 4;
                                mod2.UpdateList(asessList2);
                                moduleListlvl4.Add(mod2);
                                assessmentList.Clear();
                                totalWeight = 0;
                            }
                        }
                        Update();
                    }



                    void readmodules5(XmlReader reader)
                    {
                        totalWeight = 0;
                        while (reader.Read())
                        {
                            switch (reader.Name)
                            {
                            case "Name":
                                moduleName = reader.ReadString();


                                break;

                            case "Code":
                                moduleCode = reader.ReadString();

                                break;

                            case "Credits":
                                credits = int.Parse(reader.ReadString());

                                break;

                            case "AssessmentName":
                                assessmentName = reader.ReadString();

                                break;

                            case "Mark":
                                mark = int.Parse(reader.ReadString());

                                break;

                            case "Weighting":
                                weight      = int.Parse(reader.ReadString());
                                totalWeight = totalWeight + weight;
                                break;
                            }


                            if (reader.NodeType == XmlNodeType.EndElement && reader.Name == "Assessment")
                            {
                                Assessment assess = new Assessment();
                                assess.AssessmentMark      = mark;
                                assess.AssessmentName      = assessmentName;
                                assess.AssessmentWeighting = weight;
                                assessmentList.Add(assess);
                            }

                            if (reader.NodeType == XmlNodeType.EndElement && reader.Name == "Module")
                            {
                                List <Assessment> asessList2 = new List <Assessment>();

                                asessList2.AddRange(assessmentList);
                                Module mod2 = new Module();
                                mod2.ModuleName    = moduleName;
                                mod2.ModuleCode    = moduleCode;
                                mod2.ModuleCredits = credits;
                                mod2.Level         = 5;
                                mod2.UpdateList(asessList2);
                                moduleListlvl5.Add(mod2);
                                assessmentList.Clear();
                                totalWeight = 0;
                            }
                        }


                        Update();
                    }

                    void readmodules6(XmlReader reader)
                    {
                        totalWeight = 0;

                        while (reader.Read())
                        {
                            switch (reader.Name)
                            {
                            case "Name":
                                moduleName = reader.ReadString();


                                break;

                            case "Code":
                                moduleCode = reader.ReadString();

                                break;

                            case "Credits":
                                credits = int.Parse(reader.ReadString());

                                break;

                            case "AssessmentName":
                                assessmentName = reader.ReadString();

                                break;

                            case "Mark":
                                mark = int.Parse(reader.ReadString());

                                break;

                            case "Weighting":
                                weight      = int.Parse(reader.ReadString());
                                totalWeight = totalWeight + weight;
                                break;
                            }


                            if (reader.NodeType == XmlNodeType.EndElement && reader.Name == "Assessment")
                            {
                                Assessment assess = new Assessment();
                                assess.AssessmentMark      = mark;
                                assess.AssessmentName      = assessmentName;
                                assess.AssessmentWeighting = weight;
                                assessmentList.Add(assess);
                            }


                            if (reader.NodeType == XmlNodeType.EndElement && reader.Name == "Module")
                            {
                                List <Assessment> asessList2 = new List <Assessment>();

                                asessList2.AddRange(assessmentList);
                                Module mod2 = new Module();
                                mod2.ModuleName    = moduleName;
                                mod2.ModuleCode    = moduleCode;
                                mod2.ModuleCredits = credits;
                                mod2.Level         = 6;
                                mod2.UpdateList(asessList2);
                                moduleListlvl6.Add(mod2);
                                assessmentList.Clear();
                                totalWeight = 0;
                            }
                        }
                        moduleList = moduleListlvl4.Concat(moduleListlvl5).Concat(moduleListlvl6).ToList();

                        Update();
                    }
                }

                catch (FileNotFoundException exception)
                {
                    Console.WriteLine(exception);
                }
            }
            else
            {
                this.courseNameLbl.Text = cd.CourseName;
                this.courseCodeLbl.Text = cd.CourseCode;
            }
        }
 public void getAssessmentInfo(Assessment obj)
 {
     Console.WriteLine($"Module Name = {this.moduleName}\n Module Code= {this.moduleCode} \n Module Credits= {this.moduleCode}\n");
     obj.getAssessment();
 }