From a768be9e9cf496d1bde389f280ad8b17294dd68d Mon Sep 17 00:00:00 2001 From: "chris.watts90@outlook.com" Date: Tue, 25 Apr 2017 14:39:16 +0100 Subject: [PATCH] update GET_ALL_USERS and GET_ALL_USERS_PAGINATE to retrieve users not archived. #67 --- .../SQLiteRepository/SQLiteProcedures.cs | 33 ++++++++++++++++--- 1 file changed, 29 insertions(+), 4 deletions(-) diff --git a/DataCenter_Windows/WindowsDataCenter/SQLiteRepository/SQLiteProcedures.cs b/DataCenter_Windows/WindowsDataCenter/SQLiteRepository/SQLiteProcedures.cs index b38588e..9b810f8 100644 --- a/DataCenter_Windows/WindowsDataCenter/SQLiteRepository/SQLiteProcedures.cs +++ b/DataCenter_Windows/WindowsDataCenter/SQLiteRepository/SQLiteProcedures.cs @@ -11,12 +11,37 @@ namespace SQLiteRepository nameof(TimeLogDb.CalendarWeek) + "=? and " + nameof(TimeLogDb.Year) + "=?)"; public const string GET_ALL_USERS = - "select * from " + nameof(UserIdentity) + " order by " + nameof(UserIdentity.LastName) + " collate nocase, " + - nameof(UserIdentity.FirstName) + " collate nocase"; + "select * from " + nameof(UserIdentity) + " ut " + + "where " + + "EXISTS( select " + nameof(GroupDb.GroupId) + + " from " + nameof(GroupDb) + + " where " + nameof(GroupDb.GroupName) + " = 'Archived') AND " + + "NOT EXISTS( select * from " + nameof(UserGroupJoinDb) + " ugp where " + + nameof(UserGroupJoinDb.UserId_FK) + " = ut.Id" + + " and " + nameof(UserGroupJoinDb.GroupId_FK) + " = ( " + + "select " + nameof(GroupDb.GroupId) + + " from " + nameof(GroupDb) + + " where " + nameof(GroupDb.GroupName) + " = 'Archived') )" + + "order by " + + nameof(UserIdentity.LastName) + " collate nocase, " + + nameof(UserIdentity.FirstName) + " collate nocase"; public const string GET_ALL_USERS_PAGINATE = - "select * from " + nameof(UserIdentity) + " order by " + nameof(UserIdentity.LastName) + " collate nocase, " + - nameof(UserIdentity.FirstName) + " collate nocase limit ? offset ?"; + "select * from " + nameof(UserIdentity) + " ut " + + "where " + + "EXISTS( select " + nameof(GroupDb.GroupId) + + " from " + nameof(GroupDb) + + " where " + nameof(GroupDb.GroupName) + " = 'Archived') AND " + + "NOT EXISTS( select * from " + nameof(UserGroupJoinDb) + " ugp where " + + nameof(UserGroupJoinDb.UserId_FK) + " = ut.Id" + + " and " + nameof(UserGroupJoinDb.GroupId_FK) + " = ( " + + "select " + nameof(GroupDb.GroupId) + + " from " + nameof(GroupDb) + + " where " + nameof(GroupDb.GroupName) + " = 'Archived') )" + + "order by " + + nameof(UserIdentity.LastName) + " collate nocase, " + + nameof(UserIdentity.FirstName) + " collate nocase " + + "limit ? offset ?"; public const string GET_ALL_USERS_BY_GROUP = "select u." + nameof(UserIdentity.Id) + ", u." + nameof(UserIdentity.FirstName) + ", u." +