implement sql to get the AssignedUserCounts from the db.
change UpdateGroup to convert Group object to GroupDb for database update. #30
This commit is contained in:
parent
7564127c18
commit
33f1769d66
@ -442,7 +442,12 @@ namespace SQLiteRepository
|
||||
List<GroupDb> query;
|
||||
if (userId == -1)
|
||||
{
|
||||
query = _connection.Query<GroupDb>("select * from GroupDb");
|
||||
query = _connection.Query<GroupDb>("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<GroupDb>("update GroupDb set GroupName=? where GroupId=?", group.Name, group.Id);
|
||||
//var resp = _connection.Update(groupDb);
|
||||
return OperationResponse.UPDATED;
|
||||
}
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user