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)); }
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); }
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 })); } }