private void LoadModulesAnnouncements(Module pModule)
        {
            XmlDocument xDoc = new XmlDocument();

            xDoc.Load("XML_Files\\Announcements.xml");
            int      announcementId    = 50;
            string   announcementTitle = null;
            string   announcementBody  = null;
            int      posterId          = 50;
            DateTime dateTimePosted    = DateTime.Now;

            foreach (XmlNode node in xDoc.DocumentElement)
            {
                string         announcementIdString  = node.Attributes[0].InnerText;
                List <Comment> announcementsComments = new List <Comment>();
                try
                {
                    announcementId = Convert.ToInt32(announcementIdString);
                } catch
                {
                    MessageBox.Show("Announcement ID couldn't be converted to int");
                }
                foreach (XmlNode childNode in node.ChildNodes)
                {
                    if (childNode.NodeType == XmlNodeType.Element && childNode.Name == "title")
                    {
                        announcementTitle = childNode.InnerText;
                    }
                    if (childNode.NodeType == XmlNodeType.Element && childNode.Name == "body")
                    {
                        announcementBody = childNode.InnerText;
                    }
                    if (childNode.NodeType == XmlNodeType.Element && childNode.Name == "posterID")
                    {
                        try
                        {
                            posterId = Convert.ToInt32(childNode.InnerText);
                        }
                        catch
                        {
                            MessageBox.Show("Poster ID couldn't be converted to int");
                        }
                    }
                    if (childNode.NodeType == XmlNodeType.Element && childNode.Name == "dateTimePosted")
                    {
                        try
                        {
                            dateTimePosted = Convert.ToDateTime(childNode.InnerText);
                        }
                        catch
                        {
                            MessageBox.Show("DateTime Posted couldn't be converted to DateTime");
                        }
                    }
                    if (childNode.NodeType == XmlNodeType.Element && childNode.Name == "comments")
                    {
                        XmlDocument commentsDoc = new XmlDocument();
                        commentsDoc.Load("XML_Files\\Comments.xml");
                        foreach (XmlNode commentNode in childNode.ChildNodes)
                        {
                            Comment loadedComment = LoadAnnouncementComments(commentNode.InnerText, commentsDoc, announcementId);
                            if (loadedComment != null)
                            {
                                announcementsComments.Add(loadedComment);
                            }
                        }
                    }
                }
                Announcement loadedAnnouncement = new Announcement(announcementId, announcementTitle, announcementBody, posterId, dateTimePosted);
                foreach (Comment comment in announcementsComments)
                {
                    loadedAnnouncement.addComment(comment);
                }
                pModule.loadAnnouncement(loadedAnnouncement);
            }
        }
 private void AnnouncementsBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
 {
     currentlySelectedAnnouncement = (Announcement)AnnouncementsBox.SelectedItem;
     ChangeSelectedAnnouncement(currentlySelectedAnnouncement);
     FillCommentsBox(currentlySelectedAnnouncement);
 }
Beispiel #3
0
 public void loadAnnouncement(Announcement pAnnouncement)
 {
     announcements.Add(pAnnouncement);
 }
 private void ChangeSelectedAnnouncement(Announcement pAnnouncement)
 {
     PosterTextBlock.Text = pAnnouncement.Poster.Name;
     TitleTextBlock.Text  = pAnnouncement.Title;
     BodyTextBlock.Text   = pAnnouncement.Body;
 }