Пример #1
0
//		Menu clipContextMenu	= new Menu();

        /// <summary>
        /// Ensures that the catalogs are loaded.
        /// </summary>
        private void EnsureCatalogs()
        {
            if (catalogs == null)
            {
                DbContentCatalogManager m = new DbContentCatalogManager();
                catalogs = m.GetCollection(string.Empty, string.Empty, null);
                catalogs.Sort(ContentCompareKey.MenuOrder);
            }
        }
Пример #2
0
        /// <summary>
        /// Duplicates DbContentCatalog object into a database; may or may not be the same database
        /// as the parent object.
        /// </summary>
        /// <returns> A new DbContentCatalog object reflecting the replicated DbContentCatalog object.</returns>
        public DbContentCatalog Duplicate()
        {
            DbContentCatalog clonedDbContentCatalog = this.Clone();

            // Insert must be called after children are replicated!
            clonedDbContentCatalog.iD       = DbContentCatalogManager._insert(clonedDbContentCatalog);
            clonedDbContentCatalog.isSynced = true;
            return(clonedDbContentCatalog);
        }
Пример #3
0
        /// <summary>
        /// Ensures that the object's fields and children are
        /// pre-loaded before any updates or reads.
        /// </summary>
        public void EnsurePreLoad()
        {
            if (!isPlaceHolder)
            {
                return;
            }

            DbContentCatalogManager._fill(this);
            isPlaceHolder = false;
        }
Пример #4
0
        private void bind()
        {
            #region Bind General Child Data

            DbContentCatalogManager    parentCatalogManager    = new DbContentCatalogManager();
            DbContentCatalogCollection parentCatalogCollection = parentCatalogManager.GetCollection(string.Empty, string.Empty, null);
            foreach (DbContentCatalog parentCatalog in parentCatalogCollection)
            {
                ListItem i = new ListItem(parentCatalog.ToString(), parentCatalog.ID.ToString());
                msParentCatalog.Items.Add(i);
            }

            DbContentRatingManager    ratingManager    = new DbContentRatingManager();
            DbContentRatingCollection ratingCollection = ratingManager.GetCollection(string.Empty, string.Empty, null);
            foreach (DbContentRating rating in ratingCollection)
            {
                ComboBoxItem i = new ComboBoxItem();
                i.Text  = rating.Name;
                i.Value = rating.ID.ToString();
                ratingComboBox.Items.Add(i);
            }

            DbContentStatusManager    statusManager    = new DbContentStatusManager();
            DbContentStatusCollection statusCollection = statusManager.GetCollection(string.Empty, string.Empty);
            foreach (DbContentStatus status in statusCollection)
            {
                ListItem i = new ListItem(status.ToString(), status.ID.ToString());
                msStatus.Items.Add(i);
            }

            DbContentClipManager    clipManager = new DbContentClipManager();
            DbContentClipCollection clips       = clipManager.GetCollection(string.Empty, "Title", null);
            foreach (DbContentClip clip in clips)
            {
                referenceComboBox.Items.Add(
                    new ComboBoxItem(
                        Regex.Replace(clip.Title, "<[^>]*>", "")));
            }

            #endregion
        }
Пример #5
0
        /// <summary>
        /// Saves the DbContentCatalog object state to the database.
        /// </summary>
        public int Save()
        {
            if (isSynced)
            {
                return(iD);
            }

            if (iD == -1)
            {
                throw (new Exception("Invalid record; cannot be saved."));
            }
            if (iD == 0)
            {
                iD = DbContentCatalogManager._insert(this);
            }
            else
            {
                DbContentCatalogManager._update(this);
            }
            isSynced = iD != -1;
            return(iD);
        }
Пример #6
0
        /// <summary>
        /// Render this control to the output parameter specified.
        /// </summary>
        /// <param name="output"> The HTML writer to write out to </param>
        protected override void RenderContent(HtmlTextWriter output)
        {
            DbContentCatalogManager    m = new DbContentCatalogManager();
            DbContentCatalogCollection dbContentCatalogCollection = m.GetCollection(string.Empty, string.Empty, null);

            // Render Header Row
            this.headerLockEnabled = true;
            RenderRow(this.HeaderRowCssClass, );

            bool   rowflag = false;
            string rowCssClass;

            //
            // Render Records
            //
            foreach (DbContentCatalog dbContentCatalog in dbContentCatalogCollection)
            {
                if (rowflag)
                {
                    rowCssClass = defaultRowCssClass;
                }
                else
                {
                    rowCssClass = alternateRowCssClass;
                }
                rowflag = !rowflag;
                output.WriteBeginTag("tr");
                output.WriteAttribute("i", dbContentCatalog.ID.ToString());
                output.WriteLine(HtmlTextWriter.TagRightChar);
                output.Indent++;

                output.Indent--;
                output.WriteEndTag("tr");
                output.WriteLine();
            }
        }
Пример #7
0
 /// <summary>
 /// Overwrites and existing DbContentCatalog object in the database.
 /// </summary>
 public void Overwrite(int id)
 {
     iD = id;
     DbContentCatalogManager._update(this);
     isSynced = true;
 }
Пример #8
0
 public void Delete()
 {
     DbContentCatalogManager._delete(this.iD);
 }
Пример #9
0
 public DbContentCatalog(int id)
 {
     this.iD  = id;
     isSynced = DbContentCatalogManager._fill(this);
 }
Пример #10
0
        protected override void itemCommand(object sender, ToolBarItemEventArgs e)
        {
            base.itemCommand(sender, e);

            switch (e.Item.Value)
            {
            case "Up":
                if (IsCatalogSelected)
                {
                    DbContentCatalogManager.PeerMove(new DbContentCatalog(this.SelectedID), -1, true, false);
                }
                else
                {
                    DbContentClipManager.PeerMove(new DbContentClip(this.SelectedClipID), -1, true, false);
                }
                break;

            case "Down":
                if (IsCatalogSelected)
                {
                    DbContentCatalogManager.PeerMove(new DbContentCatalog(this.SelectedID), -1, true, false);
                }
                else
                {
                    DbContentClipManager.PeerMove(new DbContentClip(this.SelectedClipID), 1, true, false);
                }
                break;

            case "Copy":
                if (isCatalogSelected)
                {
                    copyCatalogID = selectedID;
                    copyClipID    = -1;
                }
                else
                {
                    copyCatalogID = -1;
                    copyClipID    = selectedClipID;
                }
                break;

            case "Paste":
                if (copyCatalogID != -1)
                {
                    DbContentCatalog srcCatalog;
                    DbContentCatalog destCatalog;

                    srcCatalog = new DbContentCatalog(copyCatalogID);

                    if (isCatalogSelected)
                    {
                        destCatalog = DbContentCatalog.NewPlaceHolder(selectedID);
                    }
                    else
                    {
                        destCatalog = new DbContentClip(selectedClipID).ParentCatalog;
                    }

                    pasteCatalog(srcCatalog, destCatalog, false, false);
                }
                else if (copyClipID != -1)
                {
                    DbContentClip copyClip = new DbContentClip(selectedClipID);
                    DbContentClip newClip  = new DbContentClip();
                    newClip.ArchiveDate       = copyClip.ArchiveDate;
                    newClip.Authors           = copyClip.Authors;
                    newClip.Body              = copyClip.Body;
                    newClip.CommentsEnabled   = copyClip.CommentsEnabled;
                    newClip.CreateDate        = DateTime.Now;
                    newClip.Description       = copyClip.Description;
                    newClip.Editors           = copyClip.Editors;
                    newClip.ExpirationDate    = copyClip.ExpirationDate;
                    newClip.Icon              = copyClip.Icon;
                    newClip.Keywords          = copyClip.Keywords;
                    newClip.MenuBreak         = copyClip.MenuBreak;
                    newClip.MenuEnabled       = copyClip.MenuEnabled;
                    newClip.MenuLabel         = copyClip.MenuLabel;
                    newClip.MenuLeftIcon      = copyClip.MenuLeftIcon;
                    newClip.MenuLeftIconOver  = copyClip.MenuLeftIconOver;
                    newClip.MenuRightIcon     = copyClip.MenuRightIcon;
                    newClip.MenuRightIconOver = copyClip.MenuRightIconOver;
                    newClip.MenuTooltip       = copyClip.MenuTooltip;
                    newClip.ModifyDate        = DateTime.Now;
                    newClip.NotifyOnComments  = copyClip.NotifyOnComments;
                    newClip.OverrideUrl       = copyClip.OverrideUrl;
                    if (isCatalogSelected)
                    {
                        newClip.ParentCatalog = DbContentCatalog.NewPlaceHolder(selectedID);
                    }
                    else
                    {
                        newClip.ParentCatalog = new DbContentClip(selectedClipID).ParentCatalog;
                    }
                    newClip.Priority     = copyClip.Priority;
                    newClip.PublishDate  = copyClip.PublishDate;
                    newClip.Rating       = copyClip.Rating;
                    newClip.References   = copyClip.References;
                    newClip.SortOrder    = copyClip.SortOrder;
                    newClip.Status       = copyClip.Status;
                    newClip.Title        = copyClip.Title;
                    newClip.WorkingDraft = copyClip.WorkingDraft;
                    newClip.Save();
                }
                break;

            case "rPaste":
                if (copyCatalogID != -1)
                {
                    DbContentCatalog srcCatalog;
                    DbContentCatalog destCatalog;

                    srcCatalog = new DbContentCatalog(copyCatalogID);

                    if (isCatalogSelected)
                    {
                        destCatalog = DbContentCatalog.NewPlaceHolder(selectedID);
                    }
                    else
                    {
                        destCatalog = new DbContentClip(selectedClipID).ParentCatalog;
                    }

                    pasteCatalog(srcCatalog, destCatalog, true, true);
                }
                break;
            }
        }
Пример #11
0
        public DbContentHitCollection GetCollection(int topCount, string whereClause, string sortClause, params DbContentHitFlags[] optionFlags)
        {
            StringBuilder          query;
            Database               database;
            DbCommand              dbCommand;
            IDataReader            r;
            DbContentHitCollection dbContentHitCollection;

            int innerJoinOffset;

            query = new StringBuilder("SELECT ");

            if (topCount > 0)
            {
                query.Append("TOP ");
                query.Append(topCount);
                query.Append(" ");
            }

            foreach (string columnName in InnerJoinFields)
            {
                query.Append("DbContentHit.");
                query.Append(columnName);
                query.Append(",");
            }

            innerJoinOffset = InnerJoinFields.GetUpperBound(0) + 1;
            int userOffset                        = -1;
            int userContactOffset                 = -1;
            int requestContentOffset              = -1;
            int requestContentStatusOffset        = -1;
            int requestContentParentCatalogOffset = -1;
            int requestContentRatingOffset        = -1;
            int requestContentWorkingDraftOffset  = -1;

            //
            // Append Option Flag Fields
            //
            if (optionFlags != null)
            {
                for (int x = 0; x < optionFlags.Length; x++)
                {
                    switch (optionFlags[x])
                    {
                    case DbContentHitFlags.User:
                        for (int i = 0; i <= GreyFoxUserManager.InnerJoinFields.GetUpperBound(0); i++)
                        {
                            query.Append("User.");
                            query.Append(GreyFoxUserManager.InnerJoinFields[i]);
                            query.Append(",");
                        }
                        userOffset      = innerJoinOffset;
                        innerJoinOffset = userOffset + GreyFoxUserManager.InnerJoinFields.GetUpperBound(0) + 1;
                        break;

                    case DbContentHitFlags.UserContact:
                        for (int i = 0; i <= GreyFoxContactManager.InnerJoinFields.GetUpperBound(0); i++)
                        {
                            query.Append("User_Contact.");
                            query.Append(GreyFoxContactManager.InnerJoinFields[i]);
                            query.Append(",");
                        }
                        userContactOffset = innerJoinOffset;
                        innerJoinOffset   = userContactOffset + GreyFoxContactManager.InnerJoinFields.GetUpperBound(0) + 1;
                        break;

                    case DbContentHitFlags.RequestContent:
                        for (int i = 0; i <= DbContentClipManager.InnerJoinFields.GetUpperBound(0); i++)
                        {
                            query.Append("RequestContent.");
                            query.Append(DbContentClipManager.InnerJoinFields[i]);
                            query.Append(",");
                        }
                        requestContentOffset = innerJoinOffset;
                        innerJoinOffset      = requestContentOffset + DbContentClipManager.InnerJoinFields.GetUpperBound(0) + 1;
                        break;

                    case DbContentHitFlags.RequestContentStatus:
                        for (int i = 0; i <= DbContentStatusManager.InnerJoinFields.GetUpperBound(0); i++)
                        {
                            query.Append("RequestContent_Status.");
                            query.Append(DbContentStatusManager.InnerJoinFields[i]);
                            query.Append(",");
                        }
                        requestContentStatusOffset = innerJoinOffset;
                        innerJoinOffset            = requestContentStatusOffset + DbContentStatusManager.InnerJoinFields.GetUpperBound(0) + 1;
                        break;

                    case DbContentHitFlags.RequestContentParentCatalog:
                        for (int i = 0; i <= DbContentCatalogManager.InnerJoinFields.GetUpperBound(0); i++)
                        {
                            query.Append("RequestContent_ParentCatalog.");
                            query.Append(DbContentCatalogManager.InnerJoinFields[i]);
                            query.Append(",");
                        }
                        requestContentParentCatalogOffset = innerJoinOffset;
                        innerJoinOffset = requestContentParentCatalogOffset + DbContentCatalogManager.InnerJoinFields.GetUpperBound(0) + 1;
                        break;

                    case DbContentHitFlags.RequestContentRating:
                        for (int i = 0; i <= DbContentRatingManager.InnerJoinFields.GetUpperBound(0); i++)
                        {
                            query.Append("RequestContent_Rating.");
                            query.Append(DbContentRatingManager.InnerJoinFields[i]);
                            query.Append(",");
                        }
                        requestContentRatingOffset = innerJoinOffset;
                        innerJoinOffset            = requestContentRatingOffset + DbContentRatingManager.InnerJoinFields.GetUpperBound(0) + 1;
                        break;

                    case DbContentHitFlags.RequestContentWorkingDraft:
                        for (int i = 0; i <= DbContentClipManager.InnerJoinFields.GetUpperBound(0); i++)
                        {
                            query.Append("RequestContent_WorkingDraft.");
                            query.Append(DbContentClipManager.InnerJoinFields[i]);
                            query.Append(",");
                        }
                        requestContentWorkingDraftOffset = innerJoinOffset;
                        innerJoinOffset = requestContentWorkingDraftOffset + DbContentClipManager.InnerJoinFields.GetUpperBound(0) + 1;
                        break;
                    }
                }
            }

            //
            // Remove trailing comma
            //
            query.Length--;
            if (optionFlags != null)
            {
                query.Append(" FROM ");

                //
                // Start INNER JOIN expressions
                //
                for (int x = 0; x < optionFlags.Length; x++)
                {
                    query.Append("(");
                }

                query.Append("kitCms_Hits AS DbContentHit");
            }
            else
            {
                query.Append(" FROM kitCms_Hits AS DbContentHit");
            }
            //
            // Finish INNER JOIN expressions
            //
            if (optionFlags != null)
            {
                for (int x = 0; x < optionFlags.Length; x++)
                {
                    switch (optionFlags[x])
                    {
                    case DbContentHitFlags.User:
                        query.Append(" LEFT JOIN sysGlobal_Users AS User ON DbContentHit.UserID = User.GreyFoxUserID)");
                        break;

                    case DbContentHitFlags.UserContact:
                        query.Append(" LEFT JOIN sysGlobal_Contacts AS User_Contact ON User.ContactID = User_Contact.GreyFoxContactID)");
                        break;

                    case DbContentHitFlags.RequestContent:
                        query.Append(" LEFT JOIN kitCms_Clips AS RequestContent ON DbContentHit.RequestContentID = RequestContent.DbContentClipID)");
                        break;

                    case DbContentHitFlags.RequestContentStatus:
                        query.Append(" LEFT JOIN kitCms_Statuses AS RequestContent_Status ON RequestContent.StatusID = RequestContent_Status.DbContentStatusID)");
                        break;

                    case DbContentHitFlags.RequestContentParentCatalog:
                        query.Append(" LEFT JOIN kitCms_Catalogs AS RequestContent_ParentCatalog ON RequestContent.ParentCatalogID = RequestContent_ParentCatalog.DbContentCatalogID)");
                        break;

                    case DbContentHitFlags.RequestContentRating:
                        query.Append(" LEFT JOIN kitCms_Ratings AS RequestContent_Rating ON RequestContent.RatingID = RequestContent_Rating.DbContentRatingID)");
                        break;

                    case DbContentHitFlags.RequestContentWorkingDraft:
                        query.Append(" LEFT JOIN kitCms_Clips AS RequestContent_WorkingDraft ON RequestContent.WorkingDraftID = RequestContent_WorkingDraft.DbContentClipID)");
                        break;
                    }
                }
            }

            //
            // Render where clause
            //
            if (whereClause != string.Empty)
            {
                query.Append(" WHERE ");
                query.Append(whereClause);
            }

            //
            // Render sort clause
            //
            if (sortClause != string.Empty)
            {
                query.Append(" ORDER BY ");
                query.Append(sortClause);
            }

            //
            // Render final semicolon
            //
            query.Append(";");
            database  = DatabaseFactory.CreateDatabase();
            dbCommand = database.GetSqlStringCommand(query.ToString());
                        #if DEBUG
            try
            {
                r = database.ExecuteReader(dbCommand);
            }
            catch (Exception e)
            {
                string msg = e.Message;
                throw(new Exception(msg + " --- Query: " + query.ToString()));
            }
                        #else
            r = database.ExecuteReader(dbCommand);
                        #endif

            dbContentHitCollection = new DbContentHitCollection();

            while (r.Read())
            {
                DbContentHit dbContentHit = ParseFromReader(r, 0, 1);

                // Fill User
                if (userOffset != -1 && !r.IsDBNull(userOffset))
                {
                    GreyFoxUserManager.FillFromReader(dbContentHit.user, r, userOffset, userOffset + 1);

                    // Fill
                    if (userContactOffset != -1 && !r.IsDBNull(userContactOffset))
                    {
                        GreyFoxContactManager.FillFromReader(dbContentHit.user.Contact, "sysGlobal_Contacts", r, userContactOffset, userContactOffset + 1);
                    }
                }

                // Fill RequestContent
                if (requestContentOffset != -1 && !r.IsDBNull(requestContentOffset))
                {
                    DbContentClipManager.FillFromReader(dbContentHit.requestContent, r, requestContentOffset, requestContentOffset + 1);

                    // Fill
                    if (requestContentStatusOffset != -1 && !r.IsDBNull(requestContentStatusOffset))
                    {
                        DbContentStatusManager.FillFromReader(dbContentHit.requestContent.Status, r, requestContentStatusOffset, requestContentStatusOffset + 1);
                    }

                    // Fill Parent Catalog
                    if (requestContentParentCatalogOffset != -1 && !r.IsDBNull(requestContentParentCatalogOffset))
                    {
                        DbContentCatalogManager.FillFromReader(dbContentHit.requestContent.ParentCatalog, r, requestContentParentCatalogOffset, requestContentParentCatalogOffset + 1);
                    }

                    // Fill
                    if (requestContentRatingOffset != -1 && !r.IsDBNull(requestContentRatingOffset))
                    {
                        DbContentRatingManager.FillFromReader(dbContentHit.requestContent.Rating, r, requestContentRatingOffset, requestContentRatingOffset + 1);
                    }

                    // Fill
                    if (requestContentWorkingDraftOffset != -1 && !r.IsDBNull(requestContentWorkingDraftOffset))
                    {
                        DbContentClipManager.FillFromReader(dbContentHit.requestContent.WorkingDraft, r, requestContentWorkingDraftOffset, requestContentWorkingDraftOffset + 1);
                    }
                }

                dbContentHitCollection.Add(dbContentHit);
            }

            return(dbContentHitCollection);
        }
Пример #12
0
        private void bindDropDownLists()
        {
            #region Bind General Child Data

            msStatus.Items.Add(new ListItem("Null", "Null"));
            DbContentStatusManager    statusManager    = new DbContentStatusManager();
            DbContentStatusCollection statusCollection = statusManager.GetCollection(string.Empty, string.Empty);
            foreach (DbContentStatus status in statusCollection)
            {
                ListItem i = new ListItem(status.ToString(), status.ID.ToString());
                msStatus.Items.Add(i);
            }

            #endregion

            #region Bind Publishing Child Data

            msParentCatalog.Items.Add(new ListItem("Null", "Null"));
            DbContentCatalogManager    parentCatalogManager    = new DbContentCatalogManager();
            DbContentCatalogCollection parentCatalogCollection = parentCatalogManager.GetCollection(string.Empty, string.Empty, null);
            foreach (DbContentCatalog parentCatalog in parentCatalogCollection)
            {
                ListItem i = new ListItem(parentCatalog.ToString(), parentCatalog.ID.ToString());
                msParentCatalog.Items.Add(i);
            }

            msRating.Items.Add(new ListItem("Null", "Null"));
            DbContentRatingManager    ratingManager    = new DbContentRatingManager();
            DbContentRatingCollection ratingCollection = ratingManager.GetCollection(string.Empty, string.Empty, null);
            foreach (DbContentRating rating in ratingCollection)
            {
                ListItem i = new ListItem(rating.ToString(), rating.ID.ToString());
                msRating.Items.Add(i);
            }

            msReferences.Items.Add(new ListItem("Null", "Null"));
            DbContentClipManager    referencesManager    = new DbContentClipManager();
            DbContentClipCollection referencesCollection = referencesManager.GetCollection(string.Empty, string.Empty, null);
            foreach (DbContentClip references in referencesCollection)
            {
                ListItem i = new ListItem(references.ToString(), references.ID.ToString());
                msReferences.Items.Add(i);
            }

            #endregion

            #region Bind Contributors Child Data

            msAuthors.Items.Add(new ListItem("Null", "Null"));
            GreyFoxUserManager    authorsManager    = new GreyFoxUserManager();
            GreyFoxUserCollection authorsCollection = authorsManager.GetCollection(string.Empty, string.Empty, null);
            foreach (GreyFoxUser authors in authorsCollection)
            {
                ListItem i = new ListItem(authors.ToString(), authors.ID.ToString());
                msAuthors.Items.Add(i);
            }

            msEditors.Items.Add(new ListItem("Null", "Null"));
            GreyFoxUserManager    editorsManager    = new GreyFoxUserManager();
            GreyFoxUserCollection editorsCollection = editorsManager.GetCollection(string.Empty, string.Empty, null);
            foreach (GreyFoxUser editors in editorsCollection)
            {
                ListItem i = new ListItem(editors.ToString(), editors.ID.ToString());
                msEditors.Items.Add(i);
            }

            #endregion
        }