diff --git a/DataCenter_Windows/WindowsDataCenter/SQLiteRepository/SQLiteRepository.cs b/DataCenter_Windows/WindowsDataCenter/SQLiteRepository/SQLiteRepository.cs index 19a136a..19abb0a 100644 --- a/DataCenter_Windows/WindowsDataCenter/SQLiteRepository/SQLiteRepository.cs +++ b/DataCenter_Windows/WindowsDataCenter/SQLiteRepository/SQLiteRepository.cs @@ -442,7 +442,12 @@ namespace SQLiteRepository List query; if (userId == -1) { - query = _connection.Query("select * from GroupDb"); + query = _connection.Query("select gp.GroupId, gp.GroupName, " + + "sum(case when gp.GroupId = ujdb.GroupId_FK then 1 else 0 end) as AssignedUserCount " + + "from GroupDb gp " + + "left join UserGroupJoinDb ujdb " + + "on ujdb.GroupId_FK = gp.GroupId " + + "group by gp.GroupId"); } else { @@ -453,10 +458,7 @@ namespace SQLiteRepository " from GroupDb gdb"+ " left join UserGroupJoinDb ujdb"+ " on gdb.GroupId = ujdb.GroupId_FK"+ - //"left join UserIdentity ui"+ - //"on ujdb.UserId_FK = ui.Id"+ " where ujdb.UserId_FK = ?", - //"select * from GroupDb gdb left join UserGroupJoinDb ujdb on gdb.GroupId=ujdb.GroupId_FK where ujdb.UserId_FK = ?", userId); } foreach (var group in query) @@ -465,7 +467,7 @@ namespace SQLiteRepository { Id=group.GroupId, Name = group.GroupName, - UserCount = 0 + UserCount = int.Parse(group.AssignedUserCount??"0") }); } return ret; @@ -474,7 +476,13 @@ namespace SQLiteRepository public OperationResponse UpdateGroup(Group group) { //TODO: I would probably prefer to do this manually.... - var resp = _connection.Update(group); + var groupDb = new GroupDb + { + GroupId = group.Id, + GroupName = group.Name + }; + var resp = _connection.Query("update GroupDb set GroupName=? where GroupId=?", group.Name, group.Id); + //var resp = _connection.Update(groupDb); return OperationResponse.UPDATED; }