コード例 #1
0
        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
                });
            }
        }
コード例 #2
0
        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());
        }
コード例 #3
0
        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);
            }
        }