private static KnowledgebasesSectionsArticlesSeeAlsoData GetDataObjectFromReader(SqlDataReader dataReader)
        {
            KnowledgebasesSectionsArticlesSeeAlsoData data = new KnowledgebasesSectionsArticlesSeeAlsoData();

            if (dataReader.IsDBNull(dataReader.GetOrdinal("Id")))
            {
                data.Id = IdType.UNSET;
            }
            else
            {
                data.Id = new IdType(dataReader.GetInt32(dataReader.GetOrdinal("Id")));
            }
            if (dataReader.IsDBNull(dataReader.GetOrdinal("KnowledgebasesSectionsArticlesID")))
            {
                data.KnowledgebasesSectionsArticlesID = IntegerType.UNSET;
            }
            else
            {
                data.KnowledgebasesSectionsArticlesID = new IntegerType(dataReader.GetInt32(dataReader.GetOrdinal("KnowledgebasesSectionsArticlesID")));
            }
            if (dataReader.IsDBNull(dataReader.GetOrdinal("SeeAlsoID")))
            {
                data.SeeAlsoID = IntegerType.UNSET;
            }
            else
            {
                data.SeeAlsoID = new IntegerType(dataReader.GetInt32(dataReader.GetOrdinal("SeeAlsoID")));
            }

            return(data);
        }
        public static IdType Insert(KnowledgebasesSectionsArticlesSeeAlsoData data)
        {
            // Create and execute the command
            string sql = "Insert Into " + TABLE + "("
                         + "KnowledgebasesSectionsArticlesID,"
                         + "SeeAlsoID,"
            ;

            sql = sql.Substring(0, sql.Length - 1) + ") values("
                  + "@KnowledgebasesSectionsArticlesID,"
                  + "@SeeAlsoID,"
            ;
            sql = sql.Substring(0, sql.Length - 1) + ");select Scope_Identity() Id";
            SqlCommand cmd = GetSqlCommand(DatabaseEnum.INTRANET, sql, CommandType.Text, COMMAND_TIMEOUT);

            //Create the parameters and append them to the command object
            cmd.Parameters.Add(new SqlParameter("@KnowledgebasesSectionsArticlesID", SqlDbType.Int, 0, ParameterDirection.Input, false, 10, 0, "KnowledgebasesSectionsArticlesID", DataRowVersion.Proposed, data.KnowledgebasesSectionsArticlesID.DBValue));
            cmd.Parameters.Add(new SqlParameter("@SeeAlsoID", SqlDbType.Int, 0, ParameterDirection.Input, false, 10, 0, "SeeAlsoID", DataRowVersion.Proposed, data.SeeAlsoID.DBValue));

            // Execute the query
            SqlDataReader returnValue = cmd.ExecuteReader();

            returnValue.Read();
            int returnId = (int)(returnValue.GetDecimal(0));

            returnValue.Close();
            // Set the output paramter value(s)
            return(new IdType(returnId));
        }
        public static KnowledgebasesSectionsArticlesSeeAlsoData Load(IdType id)
        {
            WhereClause w = new WhereClause();

            w.And("Id", id.DBValue);
            SqlDataReader dataReader = GetListReader(DatabaseEnum.INTRANET, TABLE, w, null, true);

            if (!dataReader.Read())
            {
                dataReader.Close();
                throw new FinderException("Load found no rows for KnowledgebasesSectionsArticlesSeeAlso.");
            }
            KnowledgebasesSectionsArticlesSeeAlsoData data = GetDataObjectFromReader(dataReader);

            dataReader.Close();
            return(data);
        }
        public static void Update(KnowledgebasesSectionsArticlesSeeAlsoData data)
        {
            // Create and execute the command
            KnowledgebasesSectionsArticlesSeeAlsoData oldData = Load(data.Id);
            string sql = "Update " + TABLE + " set ";

            if (!oldData.KnowledgebasesSectionsArticlesID.Equals(data.KnowledgebasesSectionsArticlesID))
            {
                sql = sql + "KnowledgebasesSectionsArticlesID=@KnowledgebasesSectionsArticlesID,";
            }
            if (!oldData.SeeAlsoID.Equals(data.SeeAlsoID))
            {
                sql = sql + "SeeAlsoID=@SeeAlsoID,";
            }
            WhereClause w = new WhereClause();

            w.And("Id", data.Id.DBValue);
            sql = sql.Substring(0, sql.Length - 1) + w.FormatSql();
            SqlCommand cmd = GetSqlCommand(DatabaseEnum.INTRANET, sql, CommandType.Text, COMMAND_TIMEOUT);

            //Create the parameters and append them to the command object
            if (!oldData.Id.Equals(data.Id))
            {
                cmd.Parameters.Add(new SqlParameter("@Id", SqlDbType.Int, 0, ParameterDirection.Input, false, 10, 0, "Id", DataRowVersion.Proposed, data.Id.DBValue));
            }
            if (!oldData.KnowledgebasesSectionsArticlesID.Equals(data.KnowledgebasesSectionsArticlesID))
            {
                cmd.Parameters.Add(new SqlParameter("@KnowledgebasesSectionsArticlesID", SqlDbType.Int, 0, ParameterDirection.Input, false, 10, 0, "KnowledgebasesSectionsArticlesID", DataRowVersion.Proposed, data.KnowledgebasesSectionsArticlesID.DBValue));
            }
            if (!oldData.SeeAlsoID.Equals(data.SeeAlsoID))
            {
                cmd.Parameters.Add(new SqlParameter("@SeeAlsoID", SqlDbType.Int, 0, ParameterDirection.Input, false, 10, 0, "SeeAlsoID", DataRowVersion.Proposed, data.SeeAlsoID.DBValue));
            }

            // Execute the query
            if (cmd.Parameters.Count > 0)
            {
                cmd.ExecuteNonQuery();
            }
        }