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