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

            if (dataReader.IsDBNull(dataReader.GetOrdinal("KnowledgebasesID")))
            {
                data.KnowledgebasesID = IdType.UNSET;
            }
            else
            {
                data.KnowledgebasesID = new IdType(dataReader.GetInt32(dataReader.GetOrdinal("KnowledgebasesID")));
            }
            if (dataReader.IsDBNull(dataReader.GetOrdinal("Description")))
            {
                data.Description = StringType.UNSET;
            }
            else
            {
                data.Description = StringType.Parse(dataReader.GetString(dataReader.GetOrdinal("Description")));
            }
            if (dataReader.IsDBNull(dataReader.GetOrdinal("DateStart")))
            {
                data.DateStart = DateType.UNSET;
            }
            else
            {
                data.DateStart = new DateType(dataReader.GetDateTime(dataReader.GetOrdinal("DateStart")));
            }
            if (dataReader.IsDBNull(dataReader.GetOrdinal("DateEnd")))
            {
                data.DateEnd = DateType.UNSET;
            }
            else
            {
                data.DateEnd = new DateType(dataReader.GetDateTime(dataReader.GetOrdinal("DateEnd")));
            }
            if (dataReader.IsDBNull(dataReader.GetOrdinal("IsPublic")))
            {
                data.IsPublic = BooleanType.UNSET;
            }
            else
            {
                data.IsPublic = BooleanType.GetInstance(dataReader.GetBoolean(dataReader.GetOrdinal("IsPublic")));
            }
            if (dataReader.IsDBNull(dataReader.GetOrdinal("OrgGroupsID")))
            {
                data.OrgGroupsID = IntegerType.UNSET;
            }
            else
            {
                data.OrgGroupsID = new IntegerType(dataReader.GetInt32(dataReader.GetOrdinal("OrgGroupsID")));
            }

            return(data);
        }
        public static KnowledgebasesData Load(IdType knowledgebasesID)
        {
            WhereClause w = new WhereClause();

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

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

            dataReader.Close();
            return(data);
        }
        public static IdType Insert(KnowledgebasesData data)
        {
            // Create and execute the command
            string sql = "Insert Into " + TABLE + "("
                         + "Description,"
                         + "DateStart,"
                         + "DateEnd,"
                         + "IsPublic,"
                         + "OrgGroupsID,"
            ;

            sql = sql.Substring(0, sql.Length - 1) + ") values("
                  + "@Description,"
                  + "@DateStart,"
                  + "@DateEnd,"
                  + "@IsPublic,"
                  + "@OrgGroupsID,"
            ;
            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("@Description", SqlDbType.VarChar, 150, ParameterDirection.Input, false, 0, 0, "Description", DataRowVersion.Proposed, data.Description.DBValue));
            cmd.Parameters.Add(new SqlParameter("@DateStart", SqlDbType.SmallDateTime, 0, ParameterDirection.Input, false, 0, 0, "DateStart", DataRowVersion.Proposed, data.DateStart.DBValue));
            cmd.Parameters.Add(new SqlParameter("@DateEnd", SqlDbType.SmallDateTime, 0, ParameterDirection.Input, false, 0, 0, "DateEnd", DataRowVersion.Proposed, data.DateEnd.DBValue));
            cmd.Parameters.Add(new SqlParameter("@IsPublic", SqlDbType.Bit, 0, ParameterDirection.Input, false, 0, 0, "IsPublic", DataRowVersion.Proposed, !data.IsPublic.IsValid ? data.IsPublic.DBValue : data.IsPublic.DBValue.Equals("Y") ? 1 : 0));
            cmd.Parameters.Add(new SqlParameter("@OrgGroupsID", SqlDbType.Int, 0, ParameterDirection.Input, false, 10, 0, "OrgGroupsID", DataRowVersion.Proposed, data.OrgGroupsID.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 void Update(KnowledgebasesData data)
        {
            // Create and execute the command
            KnowledgebasesData oldData = Load(data.KnowledgebasesID);
            string             sql     = "Update " + TABLE + " set ";

            if (!oldData.Description.Equals(data.Description))
            {
                sql = sql + "Description=@Description,";
            }
            if (!oldData.DateStart.Equals(data.DateStart))
            {
                sql = sql + "DateStart=@DateStart,";
            }
            if (!oldData.DateEnd.Equals(data.DateEnd))
            {
                sql = sql + "DateEnd=@DateEnd,";
            }
            if (!oldData.IsPublic.Equals(data.IsPublic))
            {
                sql = sql + "IsPublic=@IsPublic,";
            }
            if (!oldData.OrgGroupsID.Equals(data.OrgGroupsID))
            {
                sql = sql + "OrgGroupsID=@OrgGroupsID,";
            }
            WhereClause w = new WhereClause();

            w.And("KnowledgebasesID", data.KnowledgebasesID.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.KnowledgebasesID.Equals(data.KnowledgebasesID))
            {
                cmd.Parameters.Add(new SqlParameter("@KnowledgebasesID", SqlDbType.Int, 0, ParameterDirection.Input, false, 10, 0, "KnowledgebasesID", DataRowVersion.Proposed, data.KnowledgebasesID.DBValue));
            }
            if (!oldData.Description.Equals(data.Description))
            {
                cmd.Parameters.Add(new SqlParameter("@Description", SqlDbType.VarChar, 150, ParameterDirection.Input, false, 0, 0, "Description", DataRowVersion.Proposed, data.Description.DBValue));
            }
            if (!oldData.DateStart.Equals(data.DateStart))
            {
                cmd.Parameters.Add(new SqlParameter("@DateStart", SqlDbType.SmallDateTime, 0, ParameterDirection.Input, false, 0, 0, "DateStart", DataRowVersion.Proposed, data.DateStart.DBValue));
            }
            if (!oldData.DateEnd.Equals(data.DateEnd))
            {
                cmd.Parameters.Add(new SqlParameter("@DateEnd", SqlDbType.SmallDateTime, 0, ParameterDirection.Input, false, 0, 0, "DateEnd", DataRowVersion.Proposed, data.DateEnd.DBValue));
            }
            if (!oldData.IsPublic.Equals(data.IsPublic))
            {
                cmd.Parameters.Add(new SqlParameter("@IsPublic", SqlDbType.Bit, 0, ParameterDirection.Input, false, 0, 0, "IsPublic", DataRowVersion.Proposed, !data.IsPublic.IsValid ? data.IsPublic.DBValue : data.IsPublic.DBValue.Equals("Y") ? 1 : 0));
            }
            if (!oldData.OrgGroupsID.Equals(data.OrgGroupsID))
            {
                cmd.Parameters.Add(new SqlParameter("@OrgGroupsID", SqlDbType.Int, 0, ParameterDirection.Input, false, 10, 0, "OrgGroupsID", DataRowVersion.Proposed, data.OrgGroupsID.DBValue));
            }

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