namespace KmsDAL.Query.KmContent { public static class KmContentQB { public const string SAVE_KMCONTENT = @" INSERT INTO KMS.MKMARTIFACTCONTENT (CONTENTID, ARTIFACTID, SLNO, CONTENTBODY, CONTENTTYPE, LANGUAGECODE, ISPRIMARY, CHUNKINDEX, CHUNKTOTAL, CREATEDON) VALUES (@ContentId, @ArtifactId, @Slno, @ContentBody, @ContentType, @LanguageCode, @IsPrimary, @ChunkIndex, @ChunkTotal, GETDATE())"; public const string DELETE_KMCONTENT_BY_ARTIFACT = @" DELETE FROM KMS.MKMARTIFACTCONTENT WHERE ARTIFACTID = @ArtifactId"; public const string GET_NEXT_SLNO = @" SELECT ISNULL(MAX(SLNO), 0) + 1 FROM KMS.MKMARTIFACTCONTENT WHERE ARTIFACTID = @ArtifactId"; // Primary chunk first (ISPRIMARY = 1), falling back to chunk order — needed by // KmGovernanceBLL.Publish to assemble the text sent to gbEAI for embedding. No existing // read path returned content at all before this (GetKmArtifact is header-only). public const string GET_PRIMARY_CONTENT_BY_ARTIFACT = @" SELECT TOP 1 CONTENTBODY FROM KMS.MKMARTIFACTCONTENT WHERE ARTIFACTID = @ArtifactId ORDER BY ISPRIMARY DESC, CHUNKINDEX ASC"; } }