コード例 #1
0
        /// <summary>
        /// Makes a deep copy of the current DbContentStatus.
        /// </summary>
        /// <returns> A new DbContentStatus object reflecting the cloned DbContentStatus object.</returns>
        /// <param name="isolation">Placeholders are used to isolate the DbContentStatus from its children.</param>
        public DbContentStatus Copy(bool isolation)
        {
            DbContentStatus dbContentStatus = new DbContentStatus();

            CopyTo(dbContentStatus, isolation);
            return(dbContentStatus);
        }
コード例 #2
0
        /// <summary>
        /// Inserts a DbContentStatus into the database. All children should have been
        /// saved to the database before insertion. New children will not be
        /// related to this object in the database.
        /// </summary>
        /// <param name="_DbContentStatus">The DbContentStatus to insert into the database.</param>
        internal static int _insert(DbContentStatus dbContentStatus)
        {
            int       id;
            string    query;
            Database  database;
            DbCommand dbCommand;

            database = DatabaseFactory.CreateDatabase();

            query = "INSERT INTO kitCms_Statuses" +
                    "(," +
                    "Name," +
                    "IsDraft," +
                    "IsPublished," +
                    "FeeEnabled," +
                    "EditEnabled," +
                    "ArchiveEnabled," +
                    "ReviewEnabled," +
                    "Icon) VALUES (," +
                    "@Name," +
                    "@IsDraft," +
                    "@IsPublished," +
                    "@FeeEnabled," +
                    "@EditEnabled," +
                    "@ArchiveEnabled," +
                    "@ReviewEnabled," +
                    "@Icon);";

            dbCommand = database.GetSqlStringCommand(query);
            fillParameters(database, dbCommand, dbContentStatus);
            database.ExecuteNonQuery(dbCommand);
            dbCommand = database.GetSqlStringCommand("SELECT @@IDENTITY AS IDVal");
            id        = (int)database.ExecuteScalar(dbCommand);
            return(id);
        }
コード例 #3
0
        internal static int _update(DbContentStatus dbContentStatus)
        {
            Database  database;
            DbCommand dbCommand;

            database = DatabaseFactory.CreateDatabase();

            dbCommand = database.GetSqlStringCommand("UPDATE kitCms_Statuses SET Name=@Name," +
                                                     "IsDraft=@IsDraft," +
                                                     "IsPublished=@IsPublished," +
                                                     "FeeEnabled=@FeeEnabled," +
                                                     "EditEnabled=@EditEnabled," +
                                                     "ArchiveEnabled=@ArchiveEnabled," +
                                                     "ReviewEnabled=@ReviewEnabled," +
                                                     "Icon=@Icon WHERE DbContentStatusID=@DbContentStatusID;");

            fillParameters(database, dbCommand, dbContentStatus);
            database.AddInParameter(dbCommand, "DbContentStatusID", DbType.Int32, dbContentStatus.iD);
            // Abandon remaining updates if no rows have been updated by returning false immediately.
            if (database.ExecuteNonQuery(dbCommand) == 0)
            {
                return(-1);
            }

            return(dbContentStatus.iD);
        }
コード例 #4
0
        /// <summary>
        /// Makes a deep copy of the current DbContentStatus.
        /// </summary>
        /// <returns> A new DbContentStatus object reflecting the cloned DbContentStatus object.</returns>
        public DbContentStatus Copy()
        {
            DbContentStatus dbContentStatus = new DbContentStatus();

            CopyTo(dbContentStatus);
            return(dbContentStatus);
        }
コード例 #5
0
        internal static bool _fill(DbContentStatus dbContentStatus)
        {
            StringBuilder query;
            Database      database;
            DbCommand     dbCommand;

            query = new StringBuilder("SELECT ");
            query.Append(string.Join(",", InnerJoinFields));
            query.Append(" FROM kitCms_Statuses WHERE DbContentStatusID=");
            query.Append(dbContentStatus.iD);
            query.Append(";");

            database  = DatabaseFactory.CreateDatabase();
            dbCommand = database.GetSqlStringCommand(query.ToString());
            IDataReader r = database.ExecuteReader(dbCommand);

            if (!r.Read())
            {
                throw(new Exception(string.Format("Cannot find DbContentStatusID '{0}'.",
                                                  dbContentStatus.iD)));
            }

            FillFromReader(dbContentStatus, r, 0, 1);

            return(true);
        }
コード例 #6
0
        public static DbContentStatus ParseFromReader(IDataReader r, int idOffset, int dataOffset)
        {
            DbContentStatus dbContentStatus = new DbContentStatus();

            FillFromReader(dbContentStatus, r, idOffset, dataOffset);
            return(dbContentStatus);
        }
コード例 #7
0
        public bool Equals(DbContentStatus dbContentStatus)
        {
            if (dbContentStatus == null)
            {
                return(false);
            }

            return(this.iD == dbContentStatus.iD);
        }
コード例 #8
0
        /// <summary>
        /// Duplicates DbContentStatus object into a database; may or may not be the same database
        /// as the parent object.
        /// </summary>
        /// <returns> A new DbContentStatus object reflecting the replicated DbContentStatus object.</returns>
        public DbContentStatus Duplicate()
        {
            DbContentStatus clonedDbContentStatus = this.Clone();

            // Insert must be called after children are replicated!
            clonedDbContentStatus.iD       = DbContentStatusManager._insert(clonedDbContentStatus);
            clonedDbContentStatus.isSynced = true;
            return(clonedDbContentStatus);
        }
コード例 #9
0
        public static DbContentStatus NewPlaceHolder(int iD)
        {
            DbContentStatus dbContentStatus = new DbContentStatus();

            dbContentStatus.iD            = iD;
            dbContentStatus.isPlaceHolder = true;
            dbContentStatus.isSynced      = true;
            return(dbContentStatus);
        }
コード例 #10
0
        public void Remove(DbContentStatus value)
        {
            OnCollectionChanged(EventArgs.Empty);
            int index = IndexOf(value);

            if (index == -1)
            {
                throw(new Exception("DbContentStatus not found in collection."));
            }
            RemoveAt(index);
        }
コード例 #11
0
        /// <summary>
        /// Inserts a DbContentStatus into the database. All children should have been
        /// saved to the database before insertion. New children will not be
        /// related to this object in the database.
        /// </summary>
        /// <param name="_DbContentStatus">The DbContentStatus to insert into the database.</param>
        internal static int _insert(DbContentStatus dbContentStatus)
        {
            int       id;
            string    query;
            Database  database;
            DbCommand dbCommand;

            database = DatabaseFactory.CreateDatabase();

            query = "INSERT INTO kitCms_Statuses " +
                    "(" +
                    "Name," +
                    "IsDraft," +
                    "IsPublished," +
                    "FeeEnabled," +
                    "EditEnabled," +
                    "ArchiveEnabled," +
                    "ReviewEnabled," +
                    "Icon) VALUES (" +
                    "@Name," +
                    "@IsDraft," +
                    "@IsPublished," +
                    "@FeeEnabled," +
                    "@EditEnabled," +
                    "@ArchiveEnabled," +
                    "@ReviewEnabled," +
                    "@Icon);";

            if (database.ConnectionStringWithoutCredentials.StartsWith("provider=microsoft.jet.oledb.4.0"))
            {
                // Microsoft Access
                // Connection must remain open for IDENTITY to return correct value,
                // therefore use the dbCommand object's Connection directly to control
                // connection state.
                dbCommand = database.GetSqlStringCommand(query);
                fillParameters(database, dbCommand, dbContentStatus);
                dbCommand.Connection = database.CreateConnection();
                dbCommand.Connection.Open();
                dbCommand.ExecuteNonQuery();
                dbCommand.CommandText = "SELECT @@IDENTITY AS LastID";
                id = (int)dbCommand.ExecuteScalar();
                dbCommand.Connection.Close();
            }
            else
            {
                //// Microsoft SQL Server
                dbCommand = database.GetSqlStringCommand(query + " SELECT @LastID = SCOPE_IDENTITY();");
                fillParameters(database, dbCommand, dbContentStatus);
                database.AddOutParameter(dbCommand, "@LastID", DbType.Int32, 10);
                database.ExecuteNonQuery(dbCommand);
                id = (int)dbCommand.Parameters["@LastID"].Value;
            }
            return(id);
        }
コード例 #12
0
 public int IndexOf(DbContentStatus value)
 {
     lock (this)
     {
         for (int x = 0; x < count; x++)
         {
             if (DbContentStatusArray[x].Equals(value))
             {
                 return(x);
             }
         }
         return(-1);
     }
 }
コード例 #13
0
 /// <summary>
 /// Deep copies the current DbContentStatus to another instance of DbContentStatus.
 /// </summary>
 /// <param name="DbContentStatus">The DbContentStatus to copy to.</param>
 /// <param name="isolation">Placeholders are used to isolate the DbContentStatus from its children.</param>
 public void CopyTo(DbContentStatus dbContentStatus, bool isolation)
 {
     dbContentStatus.iD             = iD;
     dbContentStatus.isPlaceHolder  = isPlaceHolder;
     dbContentStatus.isSynced       = isSynced;
     dbContentStatus.name           = name;
     dbContentStatus.isDraft        = isDraft;
     dbContentStatus.isPublished    = isPublished;
     dbContentStatus.feeEnabled     = feeEnabled;
     dbContentStatus.editEnabled    = editEnabled;
     dbContentStatus.archiveEnabled = archiveEnabled;
     dbContentStatus.reviewEnabled  = reviewEnabled;
     dbContentStatus.icon           = icon;
 }
コード例 #14
0
        /// <summary>
        /// Fills the {0} from a OleIDataReader.
        /// </summary>
        public static void FillFromReader(DbContentStatus dbContentStatus, IDataReader r, int idOffset, int dataOffset)
        {
            dbContentStatus.iD            = r.GetInt32(idOffset);
            dbContentStatus.isSynced      = true;
            dbContentStatus.isPlaceHolder = false;

            dbContentStatus.name           = r.GetString(0 + dataOffset);
            dbContentStatus.isDraft        = r.GetBoolean(1 + dataOffset);
            dbContentStatus.isPublished    = r.GetBoolean(2 + dataOffset);
            dbContentStatus.feeEnabled     = r.GetBoolean(3 + dataOffset);
            dbContentStatus.editEnabled    = r.GetBoolean(4 + dataOffset);
            dbContentStatus.archiveEnabled = r.GetBoolean(5 + dataOffset);
            dbContentStatus.reviewEnabled  = r.GetBoolean(6 + dataOffset);
            dbContentStatus.icon           = r.GetString(7 + dataOffset);
        }
コード例 #15
0
        private static void fillParameters(Database database, DbCommand dbCommand, DbContentStatus dbContentStatus)
        {
            #region System

            addParameter(database, dbCommand, "Name", DbType.String, dbContentStatus.name);
            addParameter(database, dbCommand, "IsDraft", DbType.Boolean, dbContentStatus.isDraft);
            addParameter(database, dbCommand, "IsPublished", DbType.Boolean, dbContentStatus.isPublished);
            addParameter(database, dbCommand, "FeeEnabled", DbType.Boolean, dbContentStatus.feeEnabled);
            addParameter(database, dbCommand, "EditEnabled", DbType.Boolean, dbContentStatus.editEnabled);
            addParameter(database, dbCommand, "ArchiveEnabled", DbType.Boolean, dbContentStatus.archiveEnabled);
            addParameter(database, dbCommand, "ReviewEnabled", DbType.Boolean, dbContentStatus.reviewEnabled);
            addParameter(database, dbCommand, "Icon", DbType.String, dbContentStatus.icon);

            #endregion
        }
コード例 #16
0
 public int Add(DbContentStatus value)
 {
     OnCollectionChanged(EventArgs.Empty);
     lock (this)
     {
         count++;
         // Resize the array if the count is greater than the length
         // of the array.
         if (count > DbContentStatusArray.GetUpperBound(0) + 1)
         {
             DbContentStatus[] tempDbContentStatusArray = new DbContentStatus[count * 2];
             Array.Copy(DbContentStatusArray, tempDbContentStatusArray, count - 1);
             DbContentStatusArray = tempDbContentStatusArray;
         }
         DbContentStatusArray[count - 1] = value;
     }
     return(count - 1);
 }
コード例 #17
0
        /// <summary>
        /// Clones DbContentStatus object and clones child objects with cloning or replication.
        /// as the parent object.
        /// </summary>
        /// <returns> A new DbContentStatus object reflecting the replicated DbContentStatus object.</returns>
        public DbContentStatus Clone()
        {
            DbContentStatus clonedDbContentStatus = new DbContentStatus();

            clonedDbContentStatus.iD             = iD;
            clonedDbContentStatus.isSynced       = isSynced;
            clonedDbContentStatus.name           = name;
            clonedDbContentStatus.isDraft        = isDraft;
            clonedDbContentStatus.isPublished    = isPublished;
            clonedDbContentStatus.feeEnabled     = feeEnabled;
            clonedDbContentStatus.editEnabled    = editEnabled;
            clonedDbContentStatus.archiveEnabled = archiveEnabled;
            clonedDbContentStatus.reviewEnabled  = reviewEnabled;
            clonedDbContentStatus.icon           = icon;


            return(clonedDbContentStatus);
        }
コード例 #18
0
 public void Insert(int index, DbContentStatus value)
 {
     OnCollectionChanged(EventArgs.Empty);
     lock (this)
     {
         count++;
         // Resize the array if the count is greater than the length
         // of the array.
         if (count > DbContentStatusArray.GetUpperBound(0) + 1)
         {
             DbContentStatus[] tempDbContentStatusArray = new DbContentStatus[count * 2];
             Array.Copy(DbContentStatusArray, tempDbContentStatusArray, count - 1);
             DbContentStatusArray = tempDbContentStatusArray;
         }
         for (int x = index + 1; x == count - 2; x++)
         {
             DbContentStatusArray[x] = DbContentStatusArray[x - 1];
         }
         DbContentStatusArray[index] = value;
     }
 }
コード例 #19
0
        public DbContentStatusCollection GetCollection(int topCount, string whereClause, string sortClause)
        {
            StringBuilder             query;
            Database                  database;
            DbCommand                 dbCommand;
            IDataReader               r;
            DbContentStatusCollection dbContentStatusCollection;


            query = new StringBuilder("SELECT ");

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

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

            //
            // Remove trailing comma
            //
            query.Length--;
            query.Append(" FROM kitCms_Statuses AS DbContentStatus");
            //
            // 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

            dbContentStatusCollection = new DbContentStatusCollection();

            while (r.Read())
            {
                DbContentStatus dbContentStatus = ParseFromReader(r, 0, 1);

                dbContentStatusCollection.Add(dbContentStatus);
            }

            return(dbContentStatusCollection);
        }
コード例 #20
0
 /// <summary>
 /// Deep copies the current DbContentStatus to another instance of DbContentStatus.
 /// This method does not provide isolated copies; use overriden method for this feature.
 /// </summary>
 /// <param name="DbContentStatus">The DbContentStatus to copy to.</param>
 public void CopyTo(DbContentStatus dbContentStatus)
 {
     CopyTo(dbContentStatus, false);
 }
コード例 #21
0
 public bool Contains(DbContentStatus value)
 {
     return(IndexOf(value) != -1);
 }
コード例 #22
0
 /// <summary>
 /// Compares the object's ID to another object's ID.
 /// </summary>
 public int CompareTo(DbContentStatus dbContentStatus)
 {
     return(this.iD - dbContentStatus.iD);
 }
コード例 #23
0
        /// <summary>
        /// Compares the object's ID to another object's ID.
        /// </summary>
        int IComparable.CompareTo(object obj)
        {
            DbContentStatus dbContentStatus = (DbContentStatus)obj;

            return(this.iD - dbContentStatus.iD);
        }