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;
|
List<GroupDb> query;
|
||||||
if (userId == -1)
|
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
|
else
|
||||||
{
|
{
|
||||||
@ -453,10 +458,7 @@ namespace SQLiteRepository
|
|||||||
" from GroupDb gdb"+
|
" from GroupDb gdb"+
|
||||||
" left join UserGroupJoinDb ujdb"+
|
" left join UserGroupJoinDb ujdb"+
|
||||||
" on gdb.GroupId = ujdb.GroupId_FK"+
|
" on gdb.GroupId = ujdb.GroupId_FK"+
|
||||||
//"left join UserIdentity ui"+
|
|
||||||
//"on ujdb.UserId_FK = ui.Id"+
|
|
||||||
" where ujdb.UserId_FK = ?",
|
" where ujdb.UserId_FK = ?",
|
||||||
//"select * from GroupDb gdb left join UserGroupJoinDb ujdb on gdb.GroupId=ujdb.GroupId_FK where ujdb.UserId_FK = ?",
|
|
||||||
userId);
|
userId);
|
||||||
}
|
}
|
||||||
foreach (var group in query)
|
foreach (var group in query)
|
||||||
@ -465,7 +467,7 @@ namespace SQLiteRepository
|
|||||||
{
|
{
|
||||||
Id=group.GroupId,
|
Id=group.GroupId,
|
||||||
Name = group.GroupName,
|
Name = group.GroupName,
|
||||||
UserCount = 0
|
UserCount = int.Parse(group.AssignedUserCount??"0")
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
return ret;
|
return ret;
|
||||||
@ -474,7 +476,13 @@ namespace SQLiteRepository
|
|||||||
public OperationResponse UpdateGroup(Group group)
|
public OperationResponse UpdateGroup(Group group)
|
||||||
{
|
{
|
||||||
//TODO: I would probably prefer to do this manually....
|
//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;
|
return OperationResponse.UPDATED;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user