예제 #1
0
        private void LoadRemainingStruct()
        {
            XDocument doc = XDocument.Parse(SavedResponseFromDatabase);

            if (doc.Element("Code") != null)
            {
                Code = (int) doc.Element("Code");
            }

            if (doc.Element("Cursor") != null)
            {
                Cursor = new DisqusCursorInfo();

                Cursor.HasNext = (bool)doc.Element("Cursor/HasNext");
                Cursor.HasPrev = (bool)doc.Element("Cursor/HasPrev");
                Cursor.Id = (string)doc.Element("Cursor/Id");
                Cursor.More = (bool)doc.Element("Cursor/More");
                Cursor.Next = (string)doc.Element("Cursor/Next");
                Cursor.Prev = (string)doc.Element("Cursor/Prev");
                Cursor.Total = (string)doc.Element("Cursor/Total");
            }

            if (doc.Element("Response") != null)
            {
                Response = new DisqusResponseInfo[doc.Elements("Response").Count() - 1];

                int i = 0;

                foreach(XElement oElement in doc.Elements("Response"))
                {
                    Response[i] = new DisqusResponseInfo();

                    if (oElement.Element("Author") != null)
                    {
                        Response[i].Author = new DisqusAuthorInfo();

                        Response[i].Author.About = (string) oElement.Element("Author/About");
                        if (oElement.Element("Author/Avatar") != null)
                        {
                            Response[i].Author.Avatar = new DisqusAvatarInfo();
                            Response[i].Author.Avatar.Cache = (string)oElement.Element("Author/Avatar/Cache");
                            Response[i].Author.Avatar.IsCustom = (bool)oElement.Element("Author/Avatar/IsCustom");
                            Response[i].Author.Avatar.Permalink = (string)oElement.Element("Author/Avatar/Permalink");
                        }
                        Response[i].Author.EmailHash = (string)oElement.Element("Author/EmailHash");
                        Response[i].Author.Id = (int)oElement.Element("Author/Id");
                        Response[i].Author.IsAnonymous = (bool)oElement.Element("Author/IsAnonymous");
                        Response[i].Author.IsPrimary = (bool)oElement.Element("Author/IsPrimary");
                        Response[i].Author.JoinedAt = (DateTime)oElement.Element("Author/JoinedAt");
                        Response[i].Author.Location = (string)oElement.Element("Author/Location");
                        Response[i].Author.Name = (string)oElement.Element("Author/Name");
                        Response[i].Author.ProfileUrl = (string)oElement.Element("Author/ProfileUrl");
                        Response[i].Author.Reputation = (long)oElement.Element("Author/Reputation");
                        Response[i].Author.Url = (string)oElement.Element("Author/Url");
                        Response[i].Author.Username = (string)oElement.Element("Author/Username");
                    }

                    Response[i].CreatedAt = (DateTime) oElement.Element("CreatedAt");
                    Response[i].Dislikes = (int) oElement.Element("Dislikes");
                    Response[i].Id = (string) oElement.Element("Id");
                    Response[i].IsApproved = (bool) oElement.Element("IsApproved");
                    Response[i].IsDeleted = (bool) oElement.Element("IsDeleted");
                    Response[i].IsEdited = (bool) oElement.Element("IsEdited");
                    Response[i].IsFlagged = (bool) oElement.Element("IsFlagged");
                    Response[i].IsHighlighted = (bool) oElement.Element("IsHighlighted");
                    Response[i].IsJuliaFlagged = (bool) oElement.Element("IsJuliaFlagged");
                    Response[i].IsSpam = (bool) oElement.Element("IsSpam");
                    Response[i].Likes = (int) oElement.Element("Likes");
                    if(oElement.Element("Media") != null)
                    {
                        Response[i].Media = new string[oElement.Elements("Media").Descendants().Count() - 1];
                        int iMedia = 0;
                        foreach (XElement oMedia in oElement.Element("Media").Descendants())
                        {
                            Response[i].Media[iMedia] = (string) oMedia;
                            iMedia++;
                        }
                    }
                    Response[i].Message = (string) oElement.Element("Message");
                    Response[i].NumReports = (int) oElement.Element("NumReports");
                    Response[i].Parent = (string) oElement.Element("Parent");
                    Response[i].Points = (int) oElement.Element("Points");
                    Response[i].RawMessage = (string) oElement.Element("RawMessage");
                    if (oElement.Element("Thread") != null)
                    {
                        Response[i].Thread = new DisqusThreadInfo();
                        Response[i].Thread.Author = (string) oElement.Element("Thread/Author");
                        Response[i].Thread.Category = (string) oElement.Element("Thread/Category");
                        Response[i].Thread.CreatedAt = (DateTime) oElement.Element("Thread/CreatedAt");
                        Response[i].Thread.Dislikes = (int)oElement.Element("Thread/Dislikes");
                        Response[i].Thread.Forum = (string)oElement.Element("Thread/Forum");
                        Response[i].Thread.Id = (string)oElement.Element("Thread/Id");
                        if(oElement.Element("Thread/Identifiers") != null)
                        {
                            Response[i].Thread.Identifiers = new string[oElement.Elements("Thread/Identifiers").Descendants().Count() - 1];

                            int iIdent = 0;
                            foreach (XElement oIdent in oElement.Element("Thread/Identifiers").Descendants())
                            {
                                Response[i].Thread.Identifiers[iIdent] = (string) oIdent;
                                iIdent++;
                            }
                        }
                        Response[i].Thread.IsClosed = (bool) oElement.Element("IsClosed");
                        Response[i].Thread.IsDeleted = (bool) oElement.Element("IsDeleted");
                        Response[i].Thread.Likes = (int) oElement.Element("Likes");
                        Response[i].Thread.Link = (string) oElement.Element("Link");
                        Response[i].Thread.Message = (string) oElement.Element("Message");
                        Response[i].Thread.Posts = (int) oElement.Element("Posts");
                        Response[i].Thread.Reactions = (int) oElement.Element("Reactions");
                        Response[i].Thread.Slug = (string) oElement.Element("Slug");
                        Response[i].Thread.Title = (string) oElement.Element("Title");
                        Response[i].Thread.UserScore = (int) oElement.Element("UserScore");
                        Response[i].Thread.UserSubscription = (bool) oElement.Element("UserSubscription");
                    }
                    Response[i].Url = (string) oElement.Element("Url");
                    Response[i].UserScore = (int) oElement.Element("UserScore");

                    i++;
                }
            }
        }
예제 #2
0
        private void LoadRemainingStruct()
        {
            XDocument doc = XDocument.Parse(SavedResponseFromDatabase);

            if (doc.Element("Code") != null)
            {
                Code = (int)doc.Element("Code");
            }

            if (doc.Element("Cursor") != null)
            {
                Cursor = new DisqusCursorInfo();

                Cursor.HasNext = (bool)doc.Element("Cursor/HasNext");
                Cursor.HasPrev = (bool)doc.Element("Cursor/HasPrev");
                Cursor.Id      = (string)doc.Element("Cursor/Id");
                Cursor.More    = (bool)doc.Element("Cursor/More");
                Cursor.Next    = (string)doc.Element("Cursor/Next");
                Cursor.Prev    = (string)doc.Element("Cursor/Prev");
                Cursor.Total   = (string)doc.Element("Cursor/Total");
            }

            if (doc.Element("Response") != null)
            {
                Response = new DisqusResponseInfo[doc.Elements("Response").Count() - 1];

                int i = 0;

                foreach (XElement oElement in doc.Elements("Response"))
                {
                    Response[i] = new DisqusResponseInfo();

                    if (oElement.Element("Author") != null)
                    {
                        Response[i].Author = new DisqusAuthorInfo();

                        Response[i].Author.About = (string)oElement.Element("Author/About");
                        if (oElement.Element("Author/Avatar") != null)
                        {
                            Response[i].Author.Avatar           = new DisqusAvatarInfo();
                            Response[i].Author.Avatar.Cache     = (string)oElement.Element("Author/Avatar/Cache");
                            Response[i].Author.Avatar.IsCustom  = (bool)oElement.Element("Author/Avatar/IsCustom");
                            Response[i].Author.Avatar.Permalink = (string)oElement.Element("Author/Avatar/Permalink");
                        }
                        Response[i].Author.EmailHash   = (string)oElement.Element("Author/EmailHash");
                        Response[i].Author.Id          = (int)oElement.Element("Author/Id");
                        Response[i].Author.IsAnonymous = (bool)oElement.Element("Author/IsAnonymous");
                        Response[i].Author.IsPrimary   = (bool)oElement.Element("Author/IsPrimary");
                        Response[i].Author.JoinedAt    = (DateTime)oElement.Element("Author/JoinedAt");
                        Response[i].Author.Location    = (string)oElement.Element("Author/Location");
                        Response[i].Author.Name        = (string)oElement.Element("Author/Name");
                        Response[i].Author.ProfileUrl  = (string)oElement.Element("Author/ProfileUrl");
                        Response[i].Author.Reputation  = (long)oElement.Element("Author/Reputation");
                        Response[i].Author.Url         = (string)oElement.Element("Author/Url");
                        Response[i].Author.Username    = (string)oElement.Element("Author/Username");
                    }

                    Response[i].CreatedAt      = (DateTime)oElement.Element("CreatedAt");
                    Response[i].Dislikes       = (int)oElement.Element("Dislikes");
                    Response[i].Id             = (string)oElement.Element("Id");
                    Response[i].IsApproved     = (bool)oElement.Element("IsApproved");
                    Response[i].IsDeleted      = (bool)oElement.Element("IsDeleted");
                    Response[i].IsEdited       = (bool)oElement.Element("IsEdited");
                    Response[i].IsFlagged      = (bool)oElement.Element("IsFlagged");
                    Response[i].IsHighlighted  = (bool)oElement.Element("IsHighlighted");
                    Response[i].IsJuliaFlagged = (bool)oElement.Element("IsJuliaFlagged");
                    Response[i].IsSpam         = (bool)oElement.Element("IsSpam");
                    Response[i].Likes          = (int)oElement.Element("Likes");
                    if (oElement.Element("Media") != null)
                    {
                        Response[i].Media = new string[oElement.Elements("Media").Descendants().Count() - 1];
                        int iMedia = 0;
                        foreach (XElement oMedia in oElement.Element("Media").Descendants())
                        {
                            Response[i].Media[iMedia] = (string)oMedia;
                            iMedia++;
                        }
                    }
                    Response[i].Message    = (string)oElement.Element("Message");
                    Response[i].NumReports = (int)oElement.Element("NumReports");
                    Response[i].Parent     = (string)oElement.Element("Parent");
                    Response[i].Points     = (int)oElement.Element("Points");
                    Response[i].RawMessage = (string)oElement.Element("RawMessage");
                    if (oElement.Element("Thread") != null)
                    {
                        Response[i].Thread           = new DisqusThreadInfo();
                        Response[i].Thread.Author    = (string)oElement.Element("Thread/Author");
                        Response[i].Thread.Category  = (string)oElement.Element("Thread/Category");
                        Response[i].Thread.CreatedAt = (DateTime)oElement.Element("Thread/CreatedAt");
                        Response[i].Thread.Dislikes  = (int)oElement.Element("Thread/Dislikes");
                        Response[i].Thread.Forum     = (string)oElement.Element("Thread/Forum");
                        Response[i].Thread.Id        = (string)oElement.Element("Thread/Id");
                        if (oElement.Element("Thread/Identifiers") != null)
                        {
                            Response[i].Thread.Identifiers = new string[oElement.Elements("Thread/Identifiers").Descendants().Count() - 1];

                            int iIdent = 0;
                            foreach (XElement oIdent in oElement.Element("Thread/Identifiers").Descendants())
                            {
                                Response[i].Thread.Identifiers[iIdent] = (string)oIdent;
                                iIdent++;
                            }
                        }
                        Response[i].Thread.IsClosed         = (bool)oElement.Element("IsClosed");
                        Response[i].Thread.IsDeleted        = (bool)oElement.Element("IsDeleted");
                        Response[i].Thread.Likes            = (int)oElement.Element("Likes");
                        Response[i].Thread.Link             = (string)oElement.Element("Link");
                        Response[i].Thread.Message          = (string)oElement.Element("Message");
                        Response[i].Thread.Posts            = (int)oElement.Element("Posts");
                        Response[i].Thread.Reactions        = (int)oElement.Element("Reactions");
                        Response[i].Thread.Slug             = (string)oElement.Element("Slug");
                        Response[i].Thread.Title            = (string)oElement.Element("Title");
                        Response[i].Thread.UserScore        = (int)oElement.Element("UserScore");
                        Response[i].Thread.UserSubscription = (bool)oElement.Element("UserSubscription");
                    }
                    Response[i].Url       = (string)oElement.Element("Url");
                    Response[i].UserScore = (int)oElement.Element("UserScore");

                    i++;
                }
            }
        }
예제 #3
0
        private void SaveResponse(FeatureController ctlModule, int PortalId, DisqusInfo oHeader, DisqusResponseInfo oResponse, int ItemId)
        {
            // assign the response to the header record
            oHeader.Response[0] = oResponse;

            // get a identity reference
            ScheduleHistoryItem.AddLogNote(Environment.NewLine + string.Format(MESSAGE_IDENTIFIER, oHeader.Response[0].Thread.Identifiers[0]));
            DisqusIdentifierInfo oIdentity = ctlModule.GetIdentifier(oHeader.Response[0].Thread.Identifiers[0]);

            try
            {
                // save the response object
                ctlModule.AddDisqus(PortalId,
                                    oIdentity.TabId,
                                    oIdentity.TabModuleId,
                                    oIdentity.RawUrl,
                                    SerializeToXML(oHeader),
                                    oHeader.Response[0].CreatedAt.ToString());
            }
            catch (Exception exSave)
            {
                ScheduleHistoryItem.AddLogNote(Environment.NewLine + string.Format(ERROR_MESSAGE_1, ItemId));
                ScheduleHistoryItem.AddLogNote(Environment.NewLine + string.Format(ERROR_MESSAGE_2, PortalId, oIdentity.TabId, oIdentity.TabModuleId, oIdentity.RawUrl, oHeader.Response[0].CreatedAt.ToString()));
                ScheduleHistoryItem.AddLogNote(Environment.NewLine + string.Format(ERROR_MESSAGE_3, exSave.Message, exSave.StackTrace));
            }
        }
예제 #4
0
        private void SaveResponse(FeatureController ctlModule, int PortalId, DisqusInfo oHeader, DisqusResponseInfo oResponse, int ItemId)
        {
            // assign the response to the header record
            oHeader.Response[0] = oResponse;

            // get a identity reference
            ScheduleHistoryItem.AddLogNote(Environment.NewLine + string.Format(MESSAGE_IDENTIFIER, oHeader.Response[0].Thread.Identifiers[0]));
            DisqusIdentifierInfo oIdentity = ctlModule.GetIdentifier(oHeader.Response[0].Thread.Identifiers[0]);

            try
            {
                // save the response object
                ctlModule.AddDisqus(PortalId,
                                    oIdentity.TabId,
                                    oIdentity.TabModuleId,
                                    oIdentity.RawUrl,
                                    SerializeToXML(oHeader),
                                    oHeader.Response[0].CreatedAt.ToString());
            }
            catch (Exception exSave)
            {
                ScheduleHistoryItem.AddLogNote(Environment.NewLine + string.Format(ERROR_MESSAGE_1, ItemId));
                ScheduleHistoryItem.AddLogNote(Environment.NewLine + string.Format(ERROR_MESSAGE_2, PortalId, oIdentity.TabId, oIdentity.TabModuleId, oIdentity.RawUrl, oHeader.Response[0].CreatedAt.ToString()));
                ScheduleHistoryItem.AddLogNote(Environment.NewLine + string.Format(ERROR_MESSAGE_3, exSave.Message, exSave.StackTrace));
            }
        }