/// <summary>
        /// Creates a new Announcement record
        /// </summary>
        public static int Create(AnnouncementDO DO)
        {
            SqlParameter _Description = new SqlParameter("Description", SqlDbType.VarChar);

            _Description.Value = DO.Description;

            SqlParameter[] _params = new SqlParameter[] {
                _Description
            };

            return DataCommon.ExecuteScalar("[dbo].[Announcement_Insert]", _params, "dbo");
        }
        /// <summary>
        /// Deletes a Announcement record
        /// </summary>
        public static int Delete(AnnouncementDO DO)
        {
            SqlParameter _AnnouncementID = new SqlParameter("AnnouncementID", SqlDbType.Int);

            _AnnouncementID.Value = DO.AnnouncementID;

            SqlParameter[] _params = new SqlParameter[] {
                _AnnouncementID
            };

            return DataCommon.ExecuteScalar("[dbo].[Announcement_Delete]", _params, "dbo");
        }
        /// <summary>
        /// Gets all Announcement records
        /// </summary>
        public static AnnouncementDO[] GetAll()
        {
            SafeReader sr = DataCommon.ExecuteSafeReader("[dbo].[Announcement_GetAll]", new SqlParameter[] { }, "dbo");

            List<AnnouncementDO> objs = new List<AnnouncementDO>();

            while(sr.Read()){

                AnnouncementDO obj = new AnnouncementDO();

                obj.AnnouncementID = sr.GetInt32(sr.GetOrdinal("AnnouncementID"));
                obj.Description = sr.GetString(sr.GetOrdinal("Description"));

                objs.Add(obj);
            }

            return objs.ToArray();
        }
        /// <summary>
        /// Selects Announcement records by PK
        /// </summary>
        public static AnnouncementDO[] GetByPK(Int32 AnnouncementID)
        {
            SqlParameter _AnnouncementID = new SqlParameter("AnnouncementID", SqlDbType.Int);

            _AnnouncementID.Value = AnnouncementID;

            SqlParameter[] _params = new SqlParameter[] {
                _AnnouncementID
            };

            SafeReader sr = DataCommon.ExecuteSafeReader("[dbo].[Announcement_GetByPK]", _params, "dbo");

            List<AnnouncementDO> objs = new List<AnnouncementDO>();

            while(sr.Read())
            {
                AnnouncementDO obj = new AnnouncementDO();

                obj.AnnouncementID = sr.GetInt32(sr.GetOrdinal("AnnouncementID"));
                obj.Description = sr.GetString(sr.GetOrdinal("Description"));

                objs.Add(obj);
            }

            return objs.ToArray();
        }
        /// <summary>
        /// Updates a Announcement record and returns the number of records affected
        /// </summary>
        public static int Update(AnnouncementDO DO)
        {
            SqlParameter _AnnouncementID = new SqlParameter("AnnouncementID", SqlDbType.Int);
            SqlParameter _Description = new SqlParameter("Description", SqlDbType.VarChar);

            _AnnouncementID.Value = DO.AnnouncementID;
            _Description.Value = DO.Description;

            SqlParameter[] _params = new SqlParameter[] {
                _AnnouncementID,
                _Description
            };

            return DataCommon.ExecuteScalar("[dbo].[Announcement_Update]", _params, "dbo");
        }