Esempio n. 1
0
 public string GetTimetableForUserAsXml(string username, string faculty)
 {
     var fullTimetable = GetTimetableForUser(username, faculty);
     var subjectsBL = new SubjectsBL();
     return ConvertToXML(fullTimetable, subjectsBL.GetAllSubjects());
 }
Esempio n. 2
0
 public string GetXMLTimetableForMastersYear(StudyYear year)
 {
     var subjectsBL = new SubjectsBL();
     return _exporter.ConvertToXML(_parser.GetTimetableForYear(year), subjectsBL.GetAllSubjects());
 }
Esempio n. 3
0
        public string GetStudentAsXml(string username)
        {
            User user = dal.GetUser(username, UserTypes.Student);
            Student student;
            var xDocument = new XDocument(new XDeclaration("1.0", "utf-8", "yes"));
            var studentElement = new XElement("student");
            if(user != null && (student = user as Student) != null)
            {
                var name = new XElement("name", student.Name);
                var email = new XElement("email", student.Email);
                var userName = new XElement("username", student.Id);
                var faculties = new XElement("faculties");
                if (student.SubscribedFaculties != null)
                    foreach (var faculty in student.SubscribedFaculties)
                    {
                        faculties.Add(new XElement("faculty", faculty));
                    }
                // var websites = new XElement("websites");
                // if (student.SubscribedWebsites != null)
                // {
                //     var monitoredWebsitesBL = new MonitoredWebsitesBL();
                //     foreach (var website in student.SubscribedWebsites)
                //     {
                //         var websiteObject = monitoredWebsitesBL.GetWebsite(website);
                //         if (websiteObject != null)
                //         {
                //             var websiteElement = new XElement("website");
                //
                //             var websiteName = new XElement("name");
                //             if (websiteObject.Title != null) websiteName.Value = websiteObject.Title;
                //
                //             var websiteLink = new XElement("link");
                //             if (websiteObject.Id != null) websiteLink.Value = websiteObject.Id;
                //
                //             var websiteOwner = new XElement("owner");
                //             if (websiteObject.Owner != null)
                //                 websiteOwner.Value = websiteObject.Owner;
                //
                //             websiteElement.Add(websiteName);
                //             websiteElement.Add(websiteLink);
                //             websiteElement.Add(websiteOwner);
                //
                //             websites.Add(new XElement("website", websiteElement));
                //         }
                //     }
                // }
                var groups = new XElement("groups");
                if (student.SubscribedGroups != null)
                    foreach (var groupElement in student.SubscribedGroups)
                    {
                        var group = new XElement("group");
                        group.Value = groupElement;
                        groups.Add(group);
                    }
                var subjectsBL = new SubjectsBL();

                var optionalSubjects = new XElement("optionalSubjects");
                if(student.OptionalSubjects != null)
                {
                    foreach (var optionalSubject in student.OptionalSubjects)
                    {
                        var optionalSubjectElement = new XElement("optionalSubject");
                        optionalSubjectElement.Add(new XElement("id", optionalSubject));

                        var subject = subjectsBL.GetSubject(optionalSubject);
                        if (subject != null && subject.Name != null)
                            optionalSubjectElement.Add(new XElement("name", subject.Name));
                        optionalSubjects.Add(optionalSubjectElement);
                    }
                }
                var failedSubjects = new XElement("failedSubjects");
                if (student.FailedSubjects != null)
                    foreach (var failedSubject in student.FailedSubjects)
                    {
                        var failedSubjectElement = new XElement("failedSubject");
                        failedSubjectElement.Add(new XElement("id", failedSubject));

                        var subject = subjectsBL.GetSubject(failedSubject);
                        if (subject != null && subject.Name != null)
                            failedSubjectElement.Add(new XElement("name", subject.Name));
                        failedSubjects.Add(failedSubjectElement);
                    }

                studentElement.Add(name);
                studentElement.Add(email);
                studentElement.Add(userName);
                studentElement.Add(faculties);
                // studentElement.Add(websites);
                studentElement.Add(groups);
                studentElement.Add(optionalSubjects);
                studentElement.Add(failedSubjects);
            }
            xDocument.Add(studentElement);
            return xDocument.ToString();
        }
Esempio n. 4
0
        public string GetFailedAndOptionalSubjectsAndWebsitesAsXml(string username)
        {
            var usersBL = new UsersBL();
            var student = usersBL.GetStudent(username);
            var subjectsBL = new SubjectsBL();

            var document = new XDocument(new XDeclaration("1.0", "utf-8", "yes"));
            var subjects = new XElement("subjects");

            if(student != null)
            {
                if (student.OptionalSubjects != null)
                {
                    var optionalSubjects = new XElement("optionalSubjects");
                    foreach (var optionalSubject in student.OptionalSubjects)
                    {
                        var optionalSubjectElement = new XElement("optionalSubject");
                        optionalSubjectElement.Add(new XElement("id", optionalSubject));

                        var subject = subjectsBL.GetSubject(optionalSubject);
                        if (subject != null && subject.Name != null)
                        {
                            optionalSubjectElement.Add(new XElement("name", subject.Name));
                            if (subject.Websites != null)
                            {
                                var websitesElement = new XElement("websites");
                                foreach (var website in subject.Websites)
                                {
                                    websitesElement.Add(new XElement("website", website));
                                }
                                optionalSubjectElement.Add(websitesElement);
                            }
                        }

                        optionalSubjects.Add(optionalSubjectElement);
                    }
                    subjects.Add(optionalSubjects);
                }

                if (student.FailedSubjects != null)
                {
                    var failedSubjects = new XElement("failedSubjects");
                    foreach (var failedSubject in student.FailedSubjects)
                    {
                        var failedSubjectElement = new XElement("failedSubject");
                        failedSubjectElement.Add(new XElement("id", failedSubject));

                        var subject = subjectsBL.GetSubject(failedSubject);
                        if (subject != null && subject.Name != null)
                        {
                            failedSubjectElement.Add(new XElement("name", subject.Name));
                            if (subject.Websites != null)
                            {
                                var websitesElement = new XElement("websites");
                                foreach (var website in subject.Websites)
                                {
                                    websitesElement.Add(new XElement("website", website));
                                }
                                failedSubjectElement.Add(websitesElement);
                            }
                        }
                        failedSubjects.Add(failedSubjectElement);
                        subjects.Add(failedSubjects);
                    }
                }

            }
            document.Add(subjects);
            return document.ToString();
        }