//Cập nhật thành viên của nhóm public async Task updateUserGroup(List <string> listChecked, string groupName, List <string> listUnCheck = null) { listUnCheck = listUnCheck ?? new List <String>(); if (!string.IsNullOrEmpty(groupName)) { Group group = null; using (var _db = new OZChatDbContext()) { // Kiem tra group da ton tai chua group = _db.Groups.FirstOrDefault(p => p.Name == groupName); // Neu chua thi tao moi if (group == null) { await Clients.Caller.alertMessage("Nhóm " + groupName + " không tồn tại!", false); } else { // Thêm danh sách user đc chọn vào nhóm foreach (var item in listChecked) { var user = _db.Users.FirstOrDefault(p => p.UserName == item); if (user != null) { HubUserGroup groupUser = _db.HubUserGroups.FirstOrDefault(p => p.GroupID == group.ID && p.UserID == user.Id); if (groupUser == null) { _db.HubUserGroups.Add(new HubUserGroup { GroupID = group.ID, UserID = user.Id, IsCreater = false }); } } } foreach (var item in listUnCheck) { var user = _db.Users.FirstOrDefault(p => p.UserName == item); if (user != null) { HubUserGroup groupUser = _db.HubUserGroups.FirstOrDefault(p => p.GroupID == group.ID && p.UserID == user.Id); if (groupUser != null) { _db.HubUserGroups.Remove(groupUser); } } } _db.SaveChanges(); await GetUserOfGroup(group.ID); await Clients.Caller.alertMessage("Thêm mới thành viên thành công!", true); } } } }
// -------- GROUP ---------------- //Hàm thêm mới 1 nhóm private Group createGroup(string groupName) { string userId = Context.User.Identity.GetUserId(); using (var _db = new OZChatDbContext()) { var newGroup = new Group { Name = groupName }; _db.Groups.Add(newGroup); var groupUser = new HubUserGroup { GroupID = newGroup.ID, UserID = userId, IsCreater = true }; _db.HubUserGroups.Add(groupUser); _db.SaveChanges(); return(newGroup); } }