public async Task <Chat_MemberInfo> AddMembers(Chat_AddMembers add) { List <string> members = new List <string>(); members = add.Members; foreach (var member in members) { var filter = Builders <User> .Filter.Eq(x => x.uID, add.uID); var update = Builders <User> .Update.AddToSet(x => x.Chatrooms, add.chatroomID); _users.UpdateOne(filter, update); } Chatroom chat = new Chatroom(); chat = _chatrooms.Find <Chatroom>(x => x.chatroomID == add.chatroomID).FirstOrDefault(); var filter_chat = Builders <Chatroom> .Filter.Eq(x => x.chatroomID, add.chatroomID); var update_chat = Builders <Chatroom> .Update.AddToSet(x => x.Participants, add.uID); var status = await _chatrooms.UpdateOneAsync(filter_chat, update_chat); Chat_MemberInfo info = new Chat_MemberInfo(); info = GetMembersInfo_Single(add.chatroomID); return(info); }
public async Task <ActionResult <Chatroom> > AddMember([FromBody] Chat_AddMembers add) { Chat_MemberInfo chatroom = new Chat_MemberInfo(); Task <Chat_MemberInfo> task = _ChatService.AddMembers(add); chatroom = await task; if (chatroom == null) { return(BadRequest()); } return(Ok(chatroom)); }