public async Task <int> Do(string memberId, string supportUsername)
        {
            var support = await _chatManager.GetUserByUsername(supportUsername);

            var member = await _chatManager.GetUserWithChatsById(memberId);

            if (member.Chats.Count > 0)
            {
                return(member.Chats.First().Id);
            }

            var chatId = await _chatManager.CreateChat(new Chat
            {
                Name = member.Username
            });

            if (chatId <= 0)
            {
                throw new ArgumentException("Failed to create chat.");
            }

            await _chatManager.AddUserToChat(chatId, member.Id);

            await _chatManager.AddUserToChat(chatId, support.Id);

            return(chatId);
        }
Beispiel #2
0
        public async Task <ActionResult <Guid> > CreateChat([FromBody] ChatParticipants chatParticipants)
        {
            if (ModelState.ErrorCount > 0)
            {
                return(BadRequest(new Response {
                    Status = "Error!", Message = "Something went wrong"
                }));
            }
            var chatGD = await _chatManager.CreateChat(chatParticipants);

            return(Ok(chatGD));
        }
Beispiel #3
0
 public void CreateChat(string chatName) => _chatManager.CreateChat(chatName);