コード例 #1
0
ファイル: NameSpaceTests.cs プロジェクト: rocketeerbkw/DNA
        public void TestGetNameSpacesForSite()
        {
            IInputContext context = DnaMockery.CreateDatabaseInputContext();

            // Create the namespace object and call the add namespace method
            NameSpaces testNameSpace = new NameSpaces(context);

            // Create the list of anmespace to add
            List<NameSpaceItem> namespaces = new List<NameSpaceItem>();
            namespaces.Add(AddNameSpaceToSite(1, "category"));
            namespaces.Add(AddNameSpaceToSite(1, "mood"));
            namespaces.Add(AddNameSpaceToSite(1, "people"));
            namespaces.Add(AddNameSpaceToSite(1, "places"));
            foreach (NameSpaceItem name in namespaces)
            {
                // check to make sure the name was added correctly
                Assert.IsTrue(name.ID > 0, "NameSpaceId is zero! Failed to create new name space. namespace being added = " + name.Name);
            }
           
            using (IDnaDataReader reader = context.CreateDnaDataReader("getnamespacesforsite"))
            {
                // Now get all the namespaces for the site and comparte the results with the known values.
                List<NameSpaceItem> foundNameSpaces = testNameSpace.GetNameSpacesForSite(1);
                for (int i = 0; i < foundNameSpaces.Count; i++)
                {
                    Assert.AreEqual(namespaces[i].Name, foundNameSpaces[i].Name, "The namespaces found are not the same as the ones added for Names");
                    Assert.AreEqual(namespaces[i].ID, foundNameSpaces[i].ID, "The namespaces found are not the same as the ones added for IDs");
                }
            }
        }
コード例 #2
0
        public override void OnPageLoad()
		{
            Context.Items["VirtualUrl"] = "EditDynamicListDefinition";
            //UseDotNetRendering = true;
			if ( Page.IsPostBack )
				return;

            CustomValidator.IsValid = true;
            if (!IsDnaUserAllowed())
            {
                CustomValidator.IsValid = false;
                return;
            }

			//Sort options
			cmbSort.Items.Add(new ListItem("Date Created","DATECREATED"));
			cmbSort.Items.Add(new ListItem("Date Updated","DATEUPDATED"));
			cmbSort.Items.Add(new ListItem("Rating","RATING"));
			cmbSort.Items.Add(new ListItem("Vote Count","VOTECOUNT"));
			cmbSort.Items.Add(new ListItem("Significance","SIGNIFICANCE"));
            cmbSort.Items.Add(new ListItem("Bookmark Count","BOOKMARKCOUNT"));
			cmbSort.Items.Add(new ListItem("Event Date","EVENTDATE"));
            cmbSort.Items.Add(new ListItem("PostCount (CommentForums)", "COMMENTCOUNT"));

			//Type 
			cmbType.Items.Add(new ListItem("Topics","TOPICFORUMS"));
			cmbType.Items.Add(new ListItem("Articles","ARTICLES"));
			cmbType.Items.Add(new ListItem("Forums","FORUMS"));
            cmbType.Items.Add(new ListItem("CommentForums","COMMENTFORUMS"));
			cmbType.Items.Add(new ListItem("Clubs","CLUBS"));
			cmbType.Items.Add(new ListItem("Threads","THREADS"));
			cmbType.Items.Add(new ListItem("Categories","CATEGORIES"));
			cmbType.Items.Add(new ListItem("Users","USERS"));
			cmbType.Items.Add(new ListItem("Campaign Diary Entries","CAMPAIGNDIARYENTRIES"));

			//Status options
			cmbStatus.Items.Add(new ListItem("All","ALL"));
			cmbStatus.Items.Add(new ListItem("Submittable - 1","1"));
			cmbStatus.Items.Add(new ListItem("Referred - 2","2"));
			cmbStatus.Items.Add(new ListItem("Pre-Moderation - 3","3"));
			cmbStatus.Items.Add(new ListItem("Considered/Submitted - 4","4"));
			cmbStatus.Items.Add(new ListItem("Locked by Editor - 5","5"));
			cmbStatus.Items.Add(new ListItem("Awaiting Approval - 6","6"));
			cmbStatus.Items.Add(new ListItem("Deleted - 7","7"));
			cmbStatus.Items.Add(new ListItem("User Entry Locked by Staff - 8","8"));
			cmbStatus.Items.Add(new ListItem("Key Article - 9","9"));
			cmbStatus.Items.Add(new ListItem("General Page - 10","10"));
			cmbStatus.Items.Add(new ListItem("Awaiting Rejection - 11","11"));
			cmbStatus.Items.Add(new ListItem("Awaiting Editors Decision - 12","12"));
			cmbStatus.Items.Add(new ListItem("Awaiting to go Official - 13","13"));

            int m = 1;
            foreach (string month in months)
            {
                cmbStartMonth.Items.Add(new ListItem(month, Convert.ToString(m)));
                cmbEndMonth.Items.Add(new ListItem(month, Convert.ToString(m)));
                ++m;
            }

            for (int i = 1900; i <= 2100; ++i)
            {
                cmbStartYear.Items.Add(new ListItem(Convert.ToString(i), Convert.ToString(i)));
                cmbEndYear.Items.Add(new ListItem(Convert.ToString(i), Convert.ToString(i)));
            }
            CalStartDate.VisibleDate = DateTime.Now;
            CalEndDate.VisibleDate = DateTime.Now;

            NameSpaces siteNameSpaces = new NameSpaces(_basePage);
            List<NameSpaceItem> namespaces = siteNameSpaces.GetNameSpacesForSite(_basePage.CurrentSite.SiteID);
            cmbNameSpaces.Items.Add(new ListItem("None",string.Empty));
            foreach (NameSpaceItem n in namespaces)
            {
                cmbNameSpaces.Items.Add(new ListItem(n.Name,n.Name));
            }

            //Record ID of List being edited.
            int id = Request.GetParamIntOrZero("id", "id");
            ViewState.Add("ID", id);

			// Get details for List Definition from DB
            using (IDnaDataReader dataReader = _basePage.CreateDnaDataReader("dynamiclistgetlist"))
            {
                dataReader.AddParameter("@listid", id);
                dataReader.Execute();
                
                if (dataReader.Read())
                {
                    string sXML = dataReader.GetString("XML");

                    //Parse XML 
                    XmlDocument xmldoc = new XmlDocument();
                    xmldoc.LoadXml(sXML);

                    //Name
                    XmlNode xmlNde;
                    if ((xmlNde = xmldoc.SelectSingleNode("LISTDEFINITION/NAME")) != null)
                        txtName.Text = xmlNde.InnerText;

                    //Rating
                    if ((xmlNde = xmldoc.SelectSingleNode("LISTDEFINITION/RATING")) != null)
                        txtRating.Text = xmlNde.InnerText;

                    //BookMarks
                    if ((xmlNde = xmldoc.SelectSingleNode("LISTDEFINITION/BOOKMARKCOUNT")) != null)
                        txtBookmarkCount.Text = xmlNde.InnerText;

                    //Status 
                    if ((xmlNde = xmldoc.SelectSingleNode("LISTDEFINITION/STATUS")) != null)
                        cmbStatus.SelectedValue = xmlNde.InnerText;

                    //Type
                    if ((xmlNde = xmldoc.SelectSingleNode("LISTDEFINITION/TYPE")) != null)
                        cmbType.SelectedValue = xmlNde.InnerText;

                    if ( (xmlNde = xmldoc.SelectSingleNode("LISTDEFINITION/COMMENTFORUMUIDPREFIX")) != null )
                        txtCommentForumUIDPrefix.Text = xmlNde.InnerText;

                    //ArticleType
                    if ((xmlNde = xmldoc.SelectSingleNode("LISTDEFINITION/ARTICLETYPE")) != null)
                        txtArticleType.Text = xmlNde.InnerText;

                    //Article Date Range Start
                    if ((xmlNde = xmldoc.SelectSingleNode("LISTDEFINITION/ARTICLESTARTDATE")) != null)
                    {
                        DateTime startdate = DateTime.Parse(xmlNde.InnerText);
                        CalStartDate.VisibleDate = startdate;
                        CalStartDate.SelectedDate = startdate;
                        lblStartDate.Text = startdate.ToString("dd/MM/yy");
                        cmbStartYear.SelectedValue = Convert.ToString(startdate.Year);
                        cmbStartMonth.SelectedValue = Convert.ToString(startdate.Month);
                    }
                    else
                    {
                        cmbStartYear.SelectedValue = Convert.ToString(DateTime.Now.Year);
                        cmbStartMonth.SelectedValue = Convert.ToString(DateTime.Now.Month);
                    }


                    //Article Date Range End
                    if ((xmlNde = xmldoc.SelectSingleNode("LISTDEFINITION/ARTICLEENDDATE")) != null)
                    {
                        DateTime enddate = DateTime.Parse(xmlNde.InnerText);

                        //The end date is midnight next day. 
                        //Date range is displayed inclusive so take off a day for display.
                        enddate = enddate.AddDays(-1);
                        CalEndDate.VisibleDate = enddate;
                        CalEndDate.SelectedDate = enddate;
                        lblEndDate.Text = enddate.ToString("dd/MM/yy");
                        cmbEndYear.SelectedValue = Convert.ToString(enddate.Year);
                        cmbEndMonth.SelectedValue = Convert.ToString(enddate.Month);
                    }
                    else
                    {
                        cmbEndYear.SelectedValue = Convert.ToString(DateTime.Now.Year);
                        cmbEndMonth.SelectedValue = Convert.ToString(DateTime.Now.Month);
                    }

                    //Significance
                    if ((xmlNde = xmldoc.SelectSingleNode("LISTDEFINITION/SIGNIFICANCE")) != null)
                        txtSignificance.Text = xmlNde.InnerText;

                    //Date Created
                    if ((xmlNde = xmldoc.SelectSingleNode("LISTDEFINITION/DATECREATED")) != null)
                        txtDateCreated.Text = xmlNde.InnerText;

                    //Last Updated
                    if ((xmlNde = xmldoc.SelectSingleNode("LISTDEFINITION/LASTUPDATED")) != null)
                        txtLastUpdated.Text = xmlNde.InnerText;

                    //Sort.
                    if ((xmlNde = xmldoc.SelectSingleNode("LISTDEFINITION/SORTBY")) != null)
                        cmbSort.SelectedValue = xmlNde.InnerText;

                    //ThreadType
                    if ((xmlNde = xmldoc.SelectSingleNode("LISTDEFINITION/THREADTYPE")) != null)
                        txtThreadType.Text = xmlNde.InnerText;

                    //Categories
                    XmlNode xmlCategories = xmldoc.SelectSingleNode("LISTDEFINITION/CATEGORIES");
                    if (xmlCategories != null)
                    {
                        for (int i = 0; i < xmlCategories.ChildNodes.Count; i++)
                        {
                            XmlNode category = xmlCategories.ChildNodes[i];
                            XmlNode nodeid = category.SelectSingleNode("ID");
                            XmlNode name = category.SelectSingleNode("NAME");
                            ListItem item = new ListItem(name.InnerText, nodeid.InnerText);
                            lstCategories.Items.Add(item);
                        }
                    }

                    //Key Phrases
                    XmlNodeList xmlKeyPhrases = xmldoc.SelectNodes("LISTDEFINITION/KEYPHRASES/PHRASE");
                    if (xmlKeyPhrases.Count > 0)
                    {
                        for (int i = 0; i < xmlKeyPhrases.Count; ++i)
                        {
                            XmlNode xmlName = xmlKeyPhrases[i].SelectSingleNode("NAME");
                            string name = string.Empty;
                            if (xmlName != null)
                            {
                                name = xmlName.InnerText;
                            }
                            else
                            {
                                //Legacy XML support.
                                name = xmlKeyPhrases[i].InnerText;
                            }

                            string nspace = string.Empty;
                            XmlNode xmlNameSpace = xmlKeyPhrases[i].SelectSingleNode("NAMESPACE");
                            if (xmlNameSpace != null)
                            {
                                nspace = xmlNameSpace.InnerText;
                            }
                            ListItem item = new ListItem( nspace == string.Empty ? name : nspace + ":" + name,nspace + "|" + name );
                            lstKeyPhrases.Items.Add(item);
                        }
                    }


                    // VoteCount
                    if ((xmlNde = xmldoc.SelectSingleNode("LISTDEFINITION/VOTECOUNT")) != null)
                        txtVoteCount.Text = xmlNde.InnerText;

                    // EventDate
                    if ((xmlNde = xmldoc.SelectSingleNode("LISTDEFINITION/EVENTDATE")) != null)
                        txtEventDate.Text = xmlNde.InnerText;

                }
            }
        }