public async Task <MessageOutputDataModel> SendMessage(MessageInputDataModel model) { var responseData = await SendMessageToAPI(model); if (responseData.IsSuccessStatusCode) { var responseContent = await responseData.Content.ReadAsStringAsync(); var messagesData = JsonConvert.DeserializeObject <MessageOutputDataModel>(responseContent); messagesData.Status = true; return(messagesData); } else { return(new MessageOutputDataModel { Status = false }); } }
public async Task <IActionResult> SendMessage(MessageInputDataModel model) { if (ModelState.IsValid) { var messageSend = await _messageServices.SendMessage(model); if (!messageSend.Status) { return(RedirectToAction("Create")); } string JsonContext = JsonConvert.SerializeObject(messageSend, Formatting.Indented, new JsonSerializerSettings() { ReferenceLoopHandling = ReferenceLoopHandling.Ignore }); await _hubContext.Clients.All.SendAsync("Message", JsonContext); return(Ok()); } return(BadRequest()); }
private async Task <HttpResponseMessage> SendMessageToAPI(MessageInputDataModel model) { HttpClient client = _api.Initial(); HttpResponseMessage response = new HttpResponseMessage(); try { HttpRequestMessage requestMessage = new HttpRequestMessage(HttpMethod.Post, $"" + client.BaseAddress + "api/Messages"); var stringData = JsonConvert.SerializeObject(model); var content = new StringContent(stringData, Encoding.UTF8, "application/json"); requestMessage.Content = new StringContent(stringData, Encoding.UTF8, "application/json"); response = await client.SendAsync(requestMessage); return(response); } catch (Exception ex) { response.StatusCode = HttpStatusCode.InternalServerError; Console.WriteLine(ex); return(response); } }