/// <summary> /// 群主-加人 /// </summary> /// <param name="model"></param> /// <returns></returns> public object GM_AddUsers(IGM_AddUsers model) { var mOGM_AddUsers = new OGM_AddUsers(); var group = new IM_Group(); var users_add = new List <IM_User>(); var db_result = 0; using (var db = new ModelAC()) { #region db group = db.IM_Group.SingleOrDefault(p => p.App_Id == APP_GUID && p.GroupId == model.GroupId); users_add = db.IM_User.Where(p => p.App_Id == APP_GUID && model.Accounts.Contains(p.UserId)).ToList(); foreach (var user in users_add) { var mIm_UserGroup = new Im_UserGroup(); mIm_UserGroup.IM_User_Id = user.Id; mIm_UserGroup.IM_Group_Id = group.Id; mIm_UserGroup.GroupPosition = IM_GroupPosition.Memeber; db.Im_UserGroup.Add(mIm_UserGroup); } db_result = db.SaveChanges(); #endregion } if (db_result > 0) { mOGM_AddUsers.Success = true; mOGM_AddUsers.Msg = "添加群成员成功!"; #region 连接组维护 var app_accounts = users_add.Select(p => HubKey.App__Account(app: APP, account: p.UserId)).ToList(); var connectionIDs = Base_GetConnectionIds(app_accounts); foreach (var connectionId in connectionIDs) { //将连接添加到指定的组 Groups.Add(connectionId, group.Id.ToString()); } #endregion #region 更新相关群组聊表信息-发送系统通知 Update_GM_AddUsers(group); #endregion return(CommonJson.camelObject(mOGM_AddUsers)); } else { mOGM_AddUsers.Success = false; mOGM_AddUsers.Msg = "添加群成员失败!"; return(CommonJson.camelObject(mOGM_AddUsers)); } }
/// <summary> /// 群主-创建群 /// </summary> public object GM_Create(IGM_Create model) { var mOGM_Create = new OGM_Create(); if (ImGroupExists(model.GroupId)) { mOGM_Create.Success = false; mOGM_Create.Msg = "已存在该群组编号"; return(CommonJson.camelObject(mOGM_Create)); } var user = LOGIN_USER; var group = new IM_Group(); var mIm_UserGroup = new Im_UserGroup(); var db_result = 0; using (var db = new ModelAC()) { #region db group.App_Id = APP_GUID; group.GroupId = model.GroupId; group.GroupName = model.GroupName; mIm_UserGroup.IM_User_Id = user.Id; mIm_UserGroup.IM_Group_Id = group.Id; mIm_UserGroup.GroupPosition = IM_GroupPosition.Founder; db.IM_Group.Add(group); db.Im_UserGroup.Add(mIm_UserGroup); db_result = db.SaveChanges(); #endregion } if (db_result > 0) { mOGM_Create.Success = true; mOGM_Create.Msg = "群聊创建成功!"; //将连接添加到指定的组 Groups.Add(Context.ConnectionId, group.Id.ToString()); return(CommonJson.camelObject(mOGM_Create)); } else { mOGM_Create.Success = false; mOGM_Create.Msg = "服务器错误!"; return(CommonJson.camelObject(mOGM_Create)); } }