using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace PayRollDAL.Query.Goal { public static class GoalQB { // ── Picklist (paged, dual-dialect) ────────────────────────────────── // Indexes recommended: // MGOAL: IX_MGOAL_NAME (GOALNAME) public const string GET_SELECTLIST_GOAL_SQL = @" WITH Paged AS ( SELECT A.GOALID AS Id, A.GOALNAME AS Name, A.DESCRIPTION AS Description, ROW_NUMBER() OVER (ORDER BY A.GOALNAME) AS RowNum FROM MGOAL 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_GOAL_PG = @" WITH Paged AS ( SELECT A.GOALID AS ""Id"", A.GOALNAME AS ""Name"", A.DESCRIPTION AS ""Description"", ROW_NUMBER() OVER (ORDER BY A.GOALNAME) AS ""RowNum"" FROM MGOAL 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_GOAL_COUNT_SQL = @" SELECT COUNT(*) FROM MGOAL A WHERE 1 = 1 /*FILTER*/;"; public const string GET_SELECTLIST_GOAL_COUNT_PG = @" SELECT COUNT(*) FROM MGOAL A WHERE 1 = 1 /*FILTER*/;"; } }