public async Task <IActionResult> AddMessageToSession(AuthorizedMessageViewModel viewModel) { if (ModelState.IsValid) { var fromEmail = await Services.AuthorizationServices.VerifyToken(clientFactory, viewModel.JwtFrom); if (fromEmail != null) { try { var session = await sessionRepository.AddMessageToSessionAsync( viewModel.SessionId, fromEmail, new Message() { MessageSessionId = viewModel.SessionId, Email = fromEmail, Type = viewModel.Type, Content = viewModel.Content, } ); return(Ok(JsonConvert.SerializeObject(session))); } catch (EmailNotAssociatedWithMessageSessionException) { return(BadRequest("User cannot add message to session they're not associated with")); } } } return(BadRequest(ModelState)); }
public static async Task <ResponseResult> AddMessageToSession(string jwt, int sessionId, string content) { using (var request = new HttpRequestMessage(HttpMethod.Post, $"{URI}/AddMessage")) { var viewModel = new AuthorizedMessageViewModel { JwtFrom = jwt, Content = content, SessionId = sessionId, Type = MessageType.Text }; request.Content = new StringContent(JsonConvert.SerializeObject(viewModel), Encoding.UTF8, "application/json"); var response = await _client.SendAsync(request); if (response.IsSuccessStatusCode) { return(new ResponseResult(true)); } return(new ResponseResult(false)); } }