Beispiel #1
0
        public async Task <SendChatMessageResult> SendMessage(string topic, [FromBody] MessageCreationModel model)
        {
            Utils.IsNotNull(topic ?? model.Topic, nameof(model.Topic));
            Utils.IsNotNull(model.Content, nameof(model.Content));
            Utils.IsNotNull(model.CreatedBy, nameof(model.CreatedBy));
            var chatService = Service.GetCommunicationThreadClient(topic ?? model.Topic);

            return(await chatService.SendMessageAsync(model.Content, model.CreatedBy, model.Priority));
        }
Beispiel #2
0
        public async Task <bool> UpdateMessage(string topic, [FromBody] MessageCreationModel model)
        {
            Utils.IsNotNull(topic ?? model.Topic, nameof(topic));
            Utils.IsNotNull(model.Id, nameof(model.Id));
            Utils.IsNotNull(model.Content, nameof(model.Content));
            var chatService = Service.GetCommunicationThreadClient(topic ?? model.Topic);
            var result      = await chatService.UpdateMessageAsync(model.Id, model.Content);

            if (Utils.IsFailure(result))
            {
                throw new Exception("Could not update message");
            }
            return(true);
        }
Beispiel #3
0
        public IActionResult PostMessage([FromBody] MessageCreationModel model)
        {
            try
            {
                // Map model to entity
                var message = _mapper.Map <Message>(model);

                message.SenderId = Auth.GetUserIdFromClaims(this);

                // Create
                _messageService.Create(message);
                return(Ok());
            }
            catch (Exception ex)
            {
                return(BadRequest(new { message = ex.Message }));
            }
        }