/// <summary> /// 退出讨论组 /// </summary> public static bool ExitGroup(string groupId, string groupName, List <AntSdkGroupMember> Members) { ExitGroupInput input = new ExitGroupInput(); input.groupId = groupId; input.token = AntSdkService.AntSdkLoginOutput.token; input.userId = AntSdkService.AntSdkLoginOutput.userId; input.version = GlobalVariable.Version; BaseOutput output = new BaseOutput(); var errCode = 0; string errMsg = string.Empty; //TODO:AntSdk_Modify //DONE:AntSdk_Modify var isResult = AntSdkService.GroupExitor(AntSdkService.AntSdkLoginOutput.userId, groupId, ref errCode, ref errMsg); if (isResult) { string[] ThreadParams = new string[3]; ThreadParams[0] = groupId; ThreadParams[1] = ImageHandle.GetGroupPicture(Members.Where(c => c.userId != AntSdkService.AntSdkLoginOutput.userId).Select(c => c.picture).ToList()); ThreadParams[2] = string.IsNullOrEmpty(groupName) ? "" : groupName; Thread UpdateGroupPictureThread = new Thread(UpdateGroupPicture); UpdateGroupPictureThread.Start(ThreadParams); //OnDropOutGroupEvent(this); } else { MessageBoxWindow.Show(errMsg, GlobalVariable.WarnOrSuccess.Warn); } return(isResult); }
/// <summary> /// 退出讨论组 /// </summary> public bool DeleteGroup(ExitGroupInput input, ref BaseOutput output, ref string errMsg) { bool result = HttpCommonMethod <ExitGroupInput, BaseOutput>("/antuser/group.deleteGroup.do", GlobalVariable.RequestMethod.POST, input, ref output, ref errMsg); if (result && output.result == (int)GlobalVariable.Result.Failure) { errMsg = string.IsNullOrEmpty(output.errorCode) ? "解散讨论组失败" : resources.GetString("E_" + output.errorCode); return(false); } return(result); }
public async Task ExitGroup(string inputStr) { using (var uow = UnitOfWorkManager.Begin()) { ExitGroupInput input = JsonConvert.DeserializeObject <ExitGroupInput>(inputStr); var chatGroup = await _chatGroupManager.ExitGroupAsync(input.GroupId, input.UserId); await uow.CompleteAsync(); foreach (var onlineClient in _onlineClientManager.GetAllByUserId(new UserIdentifier(AbpSession.TenantId, input.UserId))) { Clients.Client(onlineClient.ConnectionId).deleteGroup(chatGroup.MapTo <ChatGroupDto>()); } Clients.Group(chatGroup.Name).deleteUser(input); } }
/// <summary> /// 解散讨论组 /// </summary> public static void DismissGroup(string groupId) { ExitGroupInput input = new ExitGroupInput(); input.groupId = groupId; input.token = AntSdkService.AntSdkLoginOutput.token; input.userId = AntSdkService.AntSdkLoginOutput.userId; input.version = GlobalVariable.Version; BaseOutput output = new BaseOutput(); var errCode = 0; var errMsg = string.Empty; var isResult = AntSdkService.DissolveGroup(AntSdkService.AntSdkLoginOutput.userId, groupId, ref errCode, ref errMsg); if (isResult) { //OnDropOutGroupEvent(this); } else { MessageBoxWindow.Show(errMsg, GlobalVariable.WarnOrSuccess.Warn); } }