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." +