Beispiel #1
0
        public async Task CreateChatRoom(CreateChatRoomRequest roomRequest)
        {
            try
            {
                var room = _chatRoomService.CreateChatRoom(roomRequest.UserCreatorId, roomRequest.UserInvitedId, roomRequest.Name);

                var result = _mapper.Map <ChatRoomModel>(room);

                // create group
                await this.Groups.AddToGroupAsync(this.Context.ConnectionId, room.Id.ToString());

                //3. return room id to those tow users
                await this.Clients.Caller.ChatRoomCreated(result);

                var invitedUserConnected = _userConnectionService.GetConnectionForUser(roomRequest.UserInvitedId);
                if (invitedUserConnected != null)
                {
                    await this.Groups.AddToGroupAsync(invitedUserConnected.ConnectionId, room.Id.ToString());

                    await this.Clients.Client(invitedUserConnected.ConnectionId).ChatRoomCreated(result);
                }
            }
            catch (Exception ex)
            {
                throw;
            }
        }
Beispiel #2
0
        public CreateChatRoomRespond CreateChatRoom(CreateChatRoomRequest r)
        {
            _chatRoomRepository.Insert(new ChatRoom {
                NumOfMember  = 2,
                ChatRoomName = r.User1Id + "and" + r.User2Id,
                CreatedAt    = DateTime.Now
            });
            ChatRoom i = _chatRoomRepository.GetChatRoomByName(r.User1Id + "and" + r.User2Id);

            _userChatRoomRepository.Insert(new UserChatRoom {
                ChatRoomId = i.Id,
                NickName   = r.User1NickName,
                User       = r.User1Id
            });
            _userChatRoomRepository.Insert(new UserChatRoom {
                ChatRoomId = i.Id,
                NickName   = r.User2NickName,
                User       = r.User2Id
            });
            i.ChatRoomName = r.User1NickName + " and " + r.User2NickName;
            _chatRoomRepository.Update(i);
            return(new CreateChatRoomRespond {
                RoomId = i.Id,
                RoomName = i.ChatRoomName,
            });
        }
Beispiel #3
0
        public async Task <CreateChatRoomResponse> CreateChatRoomAsync(CreateChatRoomRequest request)
        {
            AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime = new AlibabaCloud.TeaUtil.Models.RuntimeOptions();
            CreateChatRoomHeaders headers = new CreateChatRoomHeaders();

            return(await CreateChatRoomWithOptionsAsync(request, headers, runtime));
        }
Beispiel #4
0
        public CreateChatRoomResponse CreateChatRoom(CreateChatRoomRequest request)
        {
            AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime = new AlibabaCloud.TeaUtil.Models.RuntimeOptions();
            CreateChatRoomHeaders headers = new CreateChatRoomHeaders();

            return(CreateChatRoomWithOptions(request, headers, runtime));
        }
Beispiel #5
0
        public override async Task <JoinChatResponse> CreateRoom(CreateChatRoomRequest request, ServerCallContext context)
        {
            JoinChatResponse resp = new JoinChatResponse();
            var keys = _chatRooms.Keys;

            if (keys.Any(i => i.Name == request.RoomName))
            {
                resp.RoomId = -1;
            }
            else
            {
                var mId  = keys.Any() ? keys.Max(i => i.Id) : 0;
                var room = new ChatRoom(mId + 1, request.RoomName);

                if (!_chatRooms.TryAdd(room, new List <ChatUser>()))
                {
                    resp.RoomId = -1;
                }
                else
                {
                    resp.RoomId = room.Id;
                }
            }
            return(resp);
        }
 /// <summary>
 /// 创建群,调用完成,可以用返回的信息,通过GetBatchGetContact去获取群信息
 /// </summary>
 /// <param name="memberList">UserName的list</param>
 /// <returns></returns>
 public CreateChatRoomResponse CreateChatRoom(List<MemberItem> memberList)
 {
     string url = host + "/cgi-bin/mmwebwx-bin/webwxupdatechatroom?fun=addmember&lang=zh_CN";
     CreateChatRoomRequest request = new CreateChatRoomRequest()
     {
         BaseRequest = baseRequest,
         MemberList = memberList,
     };
     return httpClient.PostJson<CreateChatRoomResponse>(url, request);
 }
 public ActionResult Create(CreateChatRoomRequest createChatRoom)
 {
     try{
         CheckId(createChatRoom.User1Id);
         CreateChatRoomRespond respond = _service.CreateChatRoom(createChatRoom);
         return(Ok(respond));
     }catch (Exception e) {
         Console.WriteLine(e.ToString() + "createchatroom err");
         return(BadRequest(e.Message));
     }
 }
Beispiel #8
0
 public async Task <HttpResponseMessage> CreateChatRoom(int this_UserID, int that_UserID, string this_UserIDNickName, string that_UserIDNickName, string token)
 {
     using (var client = new HttpClient())
     {
         CreateChatRoomRequest chatroom = new CreateChatRoomRequest()
         {
             User1Id       = this_UserID,
             User2Id       = that_UserID,
             User1NickName = this_UserIDNickName,
             User2NickName = that_UserIDNickName
         };
         client.BaseAddress = new Uri(UriString);
         client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token);
         return(await client.PostAsJsonAsync("CreateChatRoom", chatroom));
     }
 }
Beispiel #9
0
        public async Task <CreateChatRoomResponse> CreateChatRoomWithOptionsAsync(CreateChatRoomRequest request, CreateChatRoomHeaders headers, AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime)
        {
            AlibabaCloud.TeaUtil.Common.ValidateModel(request);
            Dictionary <string, object> body = new Dictionary <string, object>()
            {
            };

            if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.ChatGroupName))
            {
                body["chatGroupName"] = request.ChatGroupName;
            }
            if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.DeviceCodes))
            {
                body["deviceCodes"] = request.DeviceCodes;
            }
            if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.DeviceTypeId))
            {
                body["deviceTypeId"] = request.DeviceTypeId;
            }
            if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.OwnerUserId))
            {
                body["ownerUserId"] = request.OwnerUserId;
            }
            if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.RoleList))
            {
                body["roleList"] = request.RoleList;
            }
            Dictionary <string, string> realHeaders = new Dictionary <string, string>()
            {
            };

            if (!AlibabaCloud.TeaUtil.Common.IsUnset(headers.CommonHeaders))
            {
                realHeaders = headers.CommonHeaders;
            }
            if (!AlibabaCloud.TeaUtil.Common.IsUnset(headers.XAcsDingtalkAccessToken))
            {
                realHeaders["x-acs-dingtalk-access-token"] = AlibabaCloud.TeaUtil.Common.ToJSONString(headers.XAcsDingtalkAccessToken);
            }
            AlibabaCloud.OpenApiClient.Models.OpenApiRequest req = new AlibabaCloud.OpenApiClient.Models.OpenApiRequest
            {
                Headers = realHeaders,
                Body    = AlibabaCloud.OpenApiUtil.Client.ParseToMap(body),
            };
            return(TeaModel.ToObject <CreateChatRoomResponse>(await DoROARequestAsync("CreateChatRoom", "devicemng_1.0", "HTTP", "POST", "AK", "/v1.0/devicemng/customers/chatRoom", "json", req, runtime)));
        }