using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace PayRollDAL.Query.Measure { public static class MeasureQB { // ── Picklist (paged, dual-dialect) ────────────────────────────────── // Indexes recommended: // MMEASURE: IX_MMEASURE_NAME (NAME), IX_MMEASURE_DESCRIPTION (DESCRIPTION) public const string GET_SELECTLIST_MEASURE_SQL = @" WITH Paged AS ( SELECT A.MEASUREID AS Id, A.NAME AS Name, A.DESCRIPTION AS Description, ROW_NUMBER() OVER (ORDER BY A.NAME) AS RowNum FROM MMEASURE A WHERE 1 = 1 /*FILTER*/ ) SELECT Id, Name, Description FROM Paged WHERE (@firstnumber = -1 AND @maxresult = -1) OR (RowNum BETWEEN @firstnumber AND @maxresult);"; public const string GET_SELECTLIST_MEASURE_PG = @" WITH Paged AS ( SELECT A.MEASUREID AS ""Id"", A.NAME AS ""Name"", A.DESCRIPTION AS ""Description"", ROW_NUMBER() OVER (ORDER BY A.NAME) AS ""RowNum"" FROM MMEASURE A WHERE 1 = 1 /*FILTER*/ ) SELECT ""Id"", ""Name"", ""Description"" FROM Paged WHERE (:firstnumber = -1 AND :maxresult = -1) OR (""RowNum"" BETWEEN :firstnumber AND :maxresult);"; public const string GET_SELECTLIST_MEASURE_COUNT_SQL = @" SELECT COUNT(*) FROM MMEASURE A WHERE 1 = 1 /*FILTER*/;"; public const string GET_SELECTLIST_MEASURE_COUNT_PG = @" SELECT COUNT(*) FROM MMEASURE A WHERE 1 = 1 /*FILTER*/;"; } }