public async Task <HttpResponseMessage> GetServices(HttpRequestMessage request, DosEndpoint?endpoint) { var url = _configuration.DomainDosApiCheckCapacitySummaryUrl; if (!endpoint.HasValue) { return(await _restfulHelper.PostAsync(url, request)); } var prefix = url.Contains("?") ? "&" : "?"; url = string.Format("{0}{1}{2}{3}", url, prefix, "endpoint=", endpoint); return(await _restfulHelper.PostAsync(url, request)); }
public async Task <HttpResponseMessage> CheckCapacitySummary(HttpRequestMessage request) { var values = HttpUtility.ParseQueryString(request.RequestUri.Query); var endpoint = _configuration.DOSIntegrationCheckCapacitySummaryUrl; if (values["endpoint"] == null) { return(await _restfulHelper.PostAsync(endpoint, request)); } var prefix = endpoint.Contains("?") ? "&" : "?"; endpoint = string.Format("{0}{1}{2}{3}", endpoint, prefix, "endpoint=", values["endpoint"]); return(await _restfulHelper.PostAsync(endpoint, request)); }
public async Task <FeedbackConfirmation> FeedbackBuilder(FeedbackViewModel feedback) { var model = new FeedbackConfirmation(); var request = new HttpRequestMessage { Content = new StringContent(JsonConvert.SerializeObject(feedback), Encoding.UTF8, "application/json") }; var httpHeaders = new Dictionary <string, string>(); httpHeaders.Add("Authorization", _configuration.FeedbackAuthorization); var response = await _restfulHelper.PostAsync(_configuration.FeedbackAddFeedbackUrl, request, httpHeaders); if (response.StatusCode == HttpStatusCode.OK || response.StatusCode == HttpStatusCode.Created) { model.Message = "Thank you for your time in helping to improve our service."; model.Success = true; } else { model.Message = "Feedback did not submit, please try again later"; model.Success = false; } return(model); }
public async Task <DosViewModel> DosResultsBuilder(OutcomeViewModel outcomeViewModel) { var model = _mappingEngine.Map <DosViewModel>(outcomeViewModel); var surgery = await GetSelectedSurgery(model); var capacitySummaryRequest = await BuildCheckCapacitySummaryRequest(outcomeViewModel, surgery); var request = new HttpRequestMessage { Content = new StringContent(JsonConvert.SerializeObject(capacitySummaryRequest), Encoding.UTF8, "application/json") }; var response = await _restfulHelper.PostAsync(_configuration.BusinessDosCheckCapacitySummaryUrl, request); if (response.StatusCode == HttpStatusCode.OK) { var val = await response.Content.ReadAsStringAsync(); model.CheckCapacitySummaryResultListJson = HttpUtility.HtmlDecode(val); var jObj = (JObject)JsonConvert.DeserializeObject(val); var result = jObj["CheckCapacitySummaryResult"]; model.CheckCapacitySummaryResultList = result.ToObject <CheckCapacitySummaryResult[]>(); } else { model.CheckCapacitySummaryResultList = new CheckCapacitySummaryResult[0]; } return(model); }
public async Task <HttpResponseMessage> GetNextQuestion(string id, string nodeLabel, string answer) { var request = new HttpRequestMessage { Content = new StringContent(JsonConvert.SerializeObject(answer), Encoding.UTF8, "application/json") }; return(await _restfulHelper.PostAsync(_configuration.GetDomainApiNextQuestionUrl(id, nodeLabel), request)); }
public void Notify(string url, string id) { var request = new HttpRequestMessage { Content = new StringContent(id, Encoding.UTF8, "application/json") }; _restfulHelper.PostAsync(url, request); }
private async Task <HttpResponseMessage> SendItkMessage(ITKDispatchRequest itkRequestData) { var request = new HttpRequestMessage { Content = new StringContent(JsonConvert.SerializeObject(itkRequestData), Encoding.UTF8, "application/json") }; var response = await _restfulHelper.PostAsync(_configuration.ItkDispatchApiUrl, request); return(response); }
private async Task <QuestionWithAnswers> GetNextNode(JourneyViewModel model) { var answer = JsonConvert.DeserializeObject <Answer>(model.SelectedAnswer); var request = new HttpRequestMessage { Content = new StringContent(JsonConvert.SerializeObject(answer.Title), Encoding.UTF8, "application/json") }; var serialisedState = HttpUtility.UrlEncode(JsonConvert.SerializeObject(model.State)); var businessApiNextNodeUrl = _configuration.GetBusinessApiNextNodeUrl(model.PathwayId, model.Id, serialisedState); var response = await _restfulHelper.PostAsync(businessApiNextNodeUrl, request); return(JsonConvert.DeserializeObject <QuestionWithAnswers>(await response.Content.ReadAsStringAsync())); }
public async Task <string> GetCareAdvice(string ageCategory, string gender, string keywords, string dxCode) { var request = new HttpRequestMessage { Content = new StringContent(JsonConvert.SerializeObject(keywords), Encoding.UTF8, "application/json") }; var domainApiCareAdviceUrl = _configuration.GetDomainApiCareAdviceUrl(dxCode, ageCategory, gender); var response = await _restfulHelper.PostAsync(domainApiCareAdviceUrl, request); if (!response.IsSuccessStatusCode) { throw new Exception(string.Format("A problem occured requesting {0}. {1}", domainApiCareAdviceUrl, await response.Content.ReadAsStringAsync())); } return(await response.Content.ReadAsStringAsync()); }
public async Task <DosCheckCapacitySummaryResult> FillCheckCapacitySummaryResult(DosViewModel dosViewModel, bool filterServices) { const int PHARMACY = 13; const int PHARMACY_EXT_HOURS = 116; var request = BuildRequestMessage(dosViewModel); var body = await request.Content.ReadAsStringAsync(); string checkCapacitySummaryUrl = string.Format("{0}?filterServices={1}", _configuration.BusinessDosCheckCapacitySummaryUrl, filterServices); _logger.Debug(string.Format("DOSBuilder.FillCheckCapacitySummaryResult(): URL: {0} BODY: {1}", checkCapacitySummaryUrl, body)); var response = await _restfulHelper.PostAsync(checkCapacitySummaryUrl, request); if (response.StatusCode != HttpStatusCode.OK) { return new DosCheckCapacitySummaryResult { Error = new ErrorObject() { Code = (int)response.StatusCode, Message = response.ReasonPhrase } } } ; var val = await response.Content.ReadAsStringAsync(); var jObj = (JObject)JsonConvert.DeserializeObject(val); var results = jObj["CheckCapacitySummaryResult"]; var services = results.ToObject <List <ServiceViewModel> >(); var checkCapacitySummaryResult = new DosCheckCapacitySummaryResult() { Success = new SuccessObject <ServiceViewModel>() { Code = (int)response.StatusCode, Services = DetermineCallbackEnabled(services) } }; var isPharmacy = new Func <DosService, bool>(s => s.ServiceType != null && (s.ServiceType.Id == PHARMACY || s.ServiceType.Id == PHARMACY_EXT_HOURS)); if (checkCapacitySummaryResult.Success.Services.Any(isPharmacy)) { checkCapacitySummaryResult.Success.Services = checkCapacitySummaryResult.Success.Services.Take(6).ToList(); } return(checkCapacitySummaryResult); }
public async Task <IEnumerable <CareAdvice> > FillCareAdviceBuilder(string dxCode, string ageGroup, string gender, IList <string> careAdviceKeywords) { if (!careAdviceKeywords.Any()) { return(Enumerable.Empty <CareAdvice>()); } var request = new HttpRequestMessage { Content = new StringContent(JsonConvert.SerializeObject(GenerateKeywordsList(careAdviceKeywords)), Encoding.UTF8, "application/json") }; var businessApiInterimCareAdviceUrl = _configuration.GetBusinessApiInterimCareAdviceUrl(dxCode, ageGroup, gender); var responseMessage = await _restfulHelper.PostAsync(businessApiInterimCareAdviceUrl, request); CheckResponse(responseMessage); var response = await responseMessage.Content.ReadAsStringAsync(); return(JsonConvert.DeserializeObject <List <CareAdvice> >(response)); }
public async Task <FeedbackConfirmation> FeedbackBuilder(FeedbackViewModel feedback) { feedback.DateAdded = DateTime.Now; feedback.PageData = await _pageDateViewModelBuilder.PageDataBuilder(feedback.PageData); feedback.PageId = feedback.PageData.ToString(); try { var request = new HttpRequestMessage { Content = new StringContent(JsonConvert.SerializeObject(feedback), Encoding.UTF8, "application/json") }; var httpHeaders = new Dictionary <string, string> { { "Authorization", _configuration.FeedbackAuthorization } }; var response = await _restfulHelper.PostAsync(_configuration.FeedbackAddFeedbackUrl, request, httpHeaders); if (response.StatusCode == HttpStatusCode.OK || response.StatusCode == HttpStatusCode.Created) { return(FeedbackConfirmation.Success); } } catch { return(FeedbackConfirmation.Error); } return(FeedbackConfirmation.Error); }
public async Task <HttpResponseMessage> CheckCapacitySummary(HttpRequestMessage request) { return(await _restfulHelper.PostAsync(_configuration.DOSIntegrationCheckCapacitySummaryUrl, request)); }
public async Task <HttpResponseMessage> GetServices(HttpRequestMessage request) { return(await _restfulHelper.PostAsync(_configuration.DomainDosApiCheckCapacitySummaryUrl, request)); }