示例#1
0
        public async Task <IHttpActionResult> AddUserMessage([FromBody] MessageDto message)
        {
            message.CreatedAt = message.CreatedAt.ToUniversalTime();
            message.EditedAt  = message.EditedAt.ToUniversalTime();
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            var currentUserId = GetCurrentUserId();

            if (currentUserId == message.SenderId && !message.IsGroup)
            {
                int id = await _messageService.AddUserMessage(message);

                if (message.ReceiverId == _messageService.ChatBotIdInDb)
                {
                    var responseMessage = await _messageService.SendMessageToBot(message);

                    await _messageService.AddUserMessage(responseMessage);
                }
                return(Ok(id));
            }
            else
            {
                return(StatusCode(HttpStatusCode.MethodNotAllowed));
            }
        }