public async Task <IActionResult> SendMessage([FromBody] SendFirstMessageViewModel sendMessageViewModel)
        {
            try
            {
                UserIds receiver, caller;
                FindCallerReceiverByIds(sendMessageViewModel.ReceiverId, out caller, out receiver);
                bool chatExist = await chatService.ExistChat(caller.userId, sendMessageViewModel.ReceiverId);

                if (chatExist)
                {
                    var chat = await chatService.GetDialog(caller.userId, sendMessageViewModel.ReceiverId);

                    var newMessage = chatService.AddChatMessage(caller.userId, sendMessageViewModel.Message, chat.ChatID);
                    await chatHub.Clients.Client(receiver.connId).SendAsync("Send", sendMessageViewModel.Message, caller.userId);
                }
                else
                {
                    var chat       = chatService.AddChat(sendMessageViewModel.ReceiverId, caller.userId);
                    var newMessage = chatService.AddChatMessage(caller.userId, sendMessageViewModel.Message, chat.ChatID);
                    await chatHub.Clients.Client(receiver.connId).SendAsync("Send", sendMessageViewModel.Message, caller.userId);
                }
                return(Ok());
            }
            catch (Exception e)
            {
                throw e;
            }
        }