Beispiel #1
0
        //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);
                    }
                }
            }
        }
Beispiel #2
0
        // -------- 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);
            }
        }