public async Task <List <Surgery> > SearchSurgeryBuilder(string input) { if (string.IsNullOrEmpty(input)) { return(new List <Surgery>()); } var surgeriers = JsonConvert.DeserializeObject <List <Surgery> >(await _restfulHelper.GetAsync(string.Format(_configuration.GPSearchApiUrl, input))); return(surgeriers); }
public async Task <OutcomeViewModel> SearchSurgeryBuilder(string input) { var model = new OutcomeViewModel(); if (!string.IsNullOrEmpty(input)) { var surgeriers = JsonConvert.DeserializeObject <List <Surgery> >(await _restfulHelper.GetAsync(string.Format(_configuration.GPSearchByIdUrl, input))); model.SurgeryViewModel.Surgeries = surgeriers; } return(model); }
public async Task <JourneyViewModel> BuildSlider(JourneyViewModel model) { var pathway = JsonConvert.DeserializeObject <Pathway>(await _restfulHelper.GetAsync(string.Format(_configuration.BusinessApiPathwayIdUrl, model.PathwayNo, model.UserInfo.Gender, model.UserInfo.Age))); model.PathwayId = pathway.Id; model.PathwayTitle = pathway.Title; model.PathwayNo = pathway.PathwayNo; model.State.Add("PATIENT_AGE", model.UserInfo.Age.ToString()); model.State.Add("PATIENT_GENDER", string.Format("\"{0}\"", model.UserInfo.Gender.First().ToString().ToUpper())); model.State.Add("PATIENT_PARTY", "1"); model.StateJson = JsonConvert.SerializeObject(model.State); return(model); }
public async Task <Tuple <string, QuestionViewModel> > JustToBeSafeFirstBuilder(JustToBeSafeViewModel model) { if (model.PathwayId != null) { model = await DoWorkPreviouslyDoneInQuestionBuilder(model); //todo refactor away } var identifiedModel = await BuildIdentifiedModel(model); var questionsJson = await _restfulHelper.GetAsync(_configuration.GetBusinessApiJustToBeSafePartOneUrl(identifiedModel.PathwayId)); var questionsWithAnswers = JsonConvert.DeserializeObject <List <QuestionWithAnswers> >(questionsJson); if (!questionsWithAnswers.Any()) { var questionViewModel = new QuestionViewModel { PathwayId = identifiedModel.PathwayId, PathwayNo = identifiedModel.PathwayNo, PathwayTitle = identifiedModel.PathwayTitle, DigitalTitle = string.IsNullOrEmpty(identifiedModel.DigitalTitle) ? identifiedModel.PathwayTitle : identifiedModel.DigitalTitle, UserInfo = identifiedModel.UserInfo, JourneyJson = identifiedModel.JourneyJson, State = JsonConvert.DeserializeObject <Dictionary <string, string> >(identifiedModel.StateJson), StateJson = identifiedModel.StateJson, CollectedKeywords = identifiedModel.CollectedKeywords, Journey = JsonConvert.DeserializeObject <Journey>(identifiedModel.JourneyJson), SessionId = model.SessionId, JourneyId = Guid.NewGuid(), FilterServices = model.FilterServices, Campaign = model.Campaign, Source = model.Source, CurrentPostcode = model.CurrentPostcode, EntrySearchTerm = model.EntrySearchTerm }; var question = JsonConvert.DeserializeObject <QuestionWithAnswers>(await _restfulHelper.GetAsync(_configuration.GetBusinessApiFirstQuestionUrl(identifiedModel.PathwayId, identifiedModel.StateJson))); _mappingEngine.Mapper.Map(question, questionViewModel); _userZoomDataBuilder.SetFieldsForQuestion(questionViewModel); return(new Tuple <string, QuestionViewModel>("../Question/Question", questionViewModel)); } identifiedModel.Part = 1; identifiedModel.JourneyId = Guid.NewGuid(); identifiedModel.Questions = questionsWithAnswers; identifiedModel.QuestionsJson = questionsJson; identifiedModel.JourneyJson = string.IsNullOrEmpty(identifiedModel.JourneyJson) ? JsonConvert.SerializeObject(new Journey()) : identifiedModel.JourneyJson; identifiedModel.FilterServices = model.FilterServices; return(new Tuple <string, QuestionViewModel>("../JustToBeSafe/JustToBeSafe", identifiedModel)); }
public async Task <IEnumerable <CareAdvice> > FillCareAdviceBuilder(int age, string gender, IList <string> careAdviceMarkers) { if (!careAdviceMarkers.Any()) { return(Enumerable.Empty <CareAdvice>()); } var businessApiCareAdviceUrl = _configuration.GetBusinessApiCareAdviceUrl(age, gender, string.Join(",", careAdviceMarkers)); var response = await _restfulHelper.GetAsync(businessApiCareAdviceUrl); var careAdvices = JsonConvert.DeserializeObject <List <CareAdvice> >(response); return(careAdvices); }
public async Task <Tuple <string, JourneyViewModel> > JustToBeSafeFirstBuilder(JustToBeSafeViewModel model) { var questionsJson = await _restfulHelper.GetAsync(string.Format(_configuration.BusinessApiJustToBeSafePartOneUrl, model.PathwayId)); var questionsWithAnswers = JsonConvert.DeserializeObject <List <QuestionWithAnswers> >(questionsJson); if (!questionsWithAnswers.Any()) { var journeyViewModel = new JourneyViewModel { PathwayId = model.PathwayId, PathwayNo = model.PathwayNo, PathwayTitle = model.PathwayTitle, UserInfo = model.UserInfo, JourneyJson = model.JourneyJson, State = JsonConvert.DeserializeObject <Dictionary <string, string> >(model.StateJson) }; var question = JsonConvert.DeserializeObject <QuestionWithAnswers>(await _restfulHelper.GetAsync(string.Format(_configuration.BusinessApiFirstQuestionUrl, model.PathwayId, model.StateJson))); _mappingEngine.Map(question, journeyViewModel); return(new Tuple <string, JourneyViewModel>("../Question/Question", journeyViewModel)); } model.Part = 1; model.Questions = questionsWithAnswers; model.QuestionsJson = questionsJson; model.JourneyJson = string.IsNullOrEmpty(model.JourneyJson) ? JsonConvert.SerializeObject(new Journey()) : model.JourneyJson; return(new Tuple <string, JourneyViewModel>("../JustToBeSafe/JustToBeSafe", model)); }
public async Task <List <AddressInfoViewModel> > SearchPostcodeBuilder(string input) { input = HttpUtility.UrlDecode(input); var listPaf = JsonConvert.DeserializeObject <List <PAF> >(await _restfulHelper.GetAsync(string.Format(_configuration.PostcodeSearchByIdApiUrl, input))); return(_mappingEngine.Mapper.Map <List <AddressInfoViewModel> >(listPaf)); }
public async Task <Tuple <string, JourneyViewModel> > JustToBeSafeNextBuilder(JustToBeSafeViewModel model) { model.State = JsonConvert.DeserializeObject <Dictionary <string, string> >(model.StateJson); var questionsWithAnswers = JsonConvert.DeserializeObject <List <QuestionWithAnswers> >(model.QuestionsJson); var selectedQuestion = questionsWithAnswers.FirstOrDefault(q => q.Question.Id == model.SelectedQuestionId); var selectedAnswer = model.SelectedNoneApply() ? new Answer() : selectedQuestion.Answers.FirstOrDefault(a => a.Title.ToLower().StartsWith("yes")) ?? new Answer(); var journey = JsonConvert.DeserializeObject <Journey>(model.JourneyJson).Add( new Journey { Steps = questionsWithAnswers. Select(q => new JourneyStep { QuestionId = q.Question.Id, QuestionNo = q.Question.QuestionNo, QuestionTitle = q.Question.Title, Answer = q.Question.Id == model.SelectedQuestionId ? selectedAnswer : q.Answers.First(a => a.Title.ToLower().StartsWith("no")), IsJustToBeSafe = true }).ToList() }); var questionsJson = await _restfulHelper.GetAsync(string.Format(_configuration.BusinessApiJustToBeSafePartTwoUrl, model.PathwayId, model.SelectedQuestionId ?? "", String.Join(",", questionsWithAnswers.Select(question => question.Question.Id)), selectedQuestion != null && selectedQuestion.Answers.Count > 3)); var questions = JsonConvert.DeserializeObject <List <QuestionWithAnswers> >(questionsJson); journey.Steps = journey.Steps.Where(step => !questions.Exists(question => question.Question.Id == step.QuestionId)).ToList(); return(await BuildNextAction(questions, journey, model, selectedAnswer, selectedQuestion, questionsJson)); }
public async Task <IEnumerable <CareAdvice> > FillCareAdviceBuilder(int age, string gender, IList <string> careAdviceMarkers) { var careAdvices = careAdviceMarkers.Any() ? JsonConvert.DeserializeObject <List <CareAdvice> >(await _restfulHelper.GetAsync(string.Format(_configuration.BusinessApiCareAdviceUrl, age, gender, string.Join(",", careAdviceMarkers)))) : Enumerable.Empty <CareAdvice>(); return(careAdvices); }
public override async Task <bool> Health() { try { return(JsonConvert.DeserializeObject <bool>(await _restfulHelper.GetAsync(_configuration.DOSIntegrationMonitorHealthUrl))); } catch (Exception ex) { return(false); } }
public async Task <HttpResponseMessage> ServicesByClinicalTerm(HttpRequestMessage request) { var requestObj = JsonConvert.DeserializeObject <DosServicesByClinicalTermRequest>(request.Content.ReadAsStringAsync().Result); var urlWithRequest = string.Format(_configuration.DOSMobileServicesByClinicalTermUrl, requestObj.CaseId, requestObj.Postcode, requestObj.SearchDistance, requestObj.GpPracticeId, requestObj.Age, requestObj.Gender, requestObj.Disposition, requestObj.SymptomGroupDiscriminatorCombos, requestObj.NumberPerType); var usernamePassword = Convert.ToBase64String(Encoding.ASCII.GetBytes(_configuration.DOSMobileUsername + ":" + _configuration.DOSMobilePassword)); var headers = new Dictionary <string, string>() { { HttpRequestHeader.Authorization.ToString(), string.Format("Basic {0}", usernamePassword) } }; var result = await _restfulHelper.GetAsync(urlWithRequest, headers); return(result.AsHttpResponse()); }
private async Task <Surgery> GetSelectedSurgery(DosViewModel model) { var surgery = new Surgery(); if (!string.IsNullOrEmpty(model.SelectedSurgery)) { surgery = JsonConvert.DeserializeObject <Surgery>( await _restfulHelper.GetAsync(string.Format(_configuration.GPSearchApiUrl, model.SelectedSurgery))); } else { surgery.SurgeryId = "UKN"; } return(surgery); }
public async Task <SurveyLinkViewModel> SurveyLinkBuilder(OutcomeViewModel model) { var jsonParser = new JourneyJsonParser(model.JourneyJson); var businessApiPathwayUrl = _configuration.GetBusinessApiPathwayIdUrl(jsonParser.LastPathwayNo, model.UserInfo.Demography.Gender, model.UserInfo.Demography.Age); var response = await _restfulHelper.GetAsync(businessApiPathwayUrl); var pathway = JsonConvert.DeserializeObject <Pathway>(response); return(new SurveyLinkViewModel() { DispositionCode = model.Id, DispositionDateTime = model.DispositionTime, EndPathwayNo = (pathway != null) ? pathway.PathwayNo : string.Empty, EndPathwayTitle = (pathway != null) ? pathway.Title : string.Empty, JourneyId = model.JourneyId.ToString(), PathwayNo = model.PathwayNo, DigitalTitle = model.DigitalTitle }); }
public async Task <PageDataViewModel> PageDataBuilder(PageDataViewModel model) { model.Date = DateTime.Now.Date.ToShortDateString(); model.Time = DateTime.Now.ToString("HH:mm:ss"); Pathway currentPathway = null; if (!string.IsNullOrEmpty(model.QuestionId) && model.QuestionId.Contains(".")) { var currentPathwayNo = model.QuestionId.Split('.')[0]; if (!currentPathwayNo.Equals(model.StartingPathwayNo)) { var businessApiPathwayUrl = _configuration.GetBusinessApiPathwayIdUrl(currentPathwayNo, model.Gender, new AgeCategory(model.Age).MinimumAge); var response = await _restfulHelper.GetAsync(businessApiPathwayUrl); currentPathway = JsonConvert.DeserializeObject <Pathway>(response); } } model.PathwayNo = (currentPathway != null) ? currentPathway.PathwayNo : string.Empty; model.PathwayTitle = (currentPathway != null) ? currentPathway.Title : string.Empty; return(model); }
public async Task <string> GetCategoriesWithPathways() { return(await _restfulHelper.GetAsync(_configuration.GetCategoriesWithPathwaysUrl())); }
public async Task <string> GetQuestion(string id) { return(await _restfulHelper.GetAsync(_configuration.GetDomainApiQuestionUrl(id))); }
public async Task <string> GetVersionInfo() { return(await _restfulHelper.GetAsync(_configuration.GetDomainApiVersionUrl())); }
public async Task <string> GetPathways(bool grouped, bool startingOnly) { return(await _restfulHelper.GetAsync(_configuration.GetDomainApiPathwaysUrl(grouped, startingOnly))); }
public async Task <string> GetCareAdvice(int age, string gender, IEnumerable <string> markers) { return(await _restfulHelper.GetAsync(_configuration.GetDomainApiCareAdviceUrl(age, gender, markers))); }
public async Task <List <LocationResult> > LocationResultByPostCodeBuilder(string postCode) { if (string.IsNullOrEmpty(postCode)) { return(new List <LocationResult>()); } var headers = new Dictionary <string, string>() { { SubscriptionKey, _configuration.PostcodeSubscriptionKey } }; var locationResults = JsonConvert.DeserializeObject <List <LocationResult> >(await _restfulHelper.GetAsync(string.Format(_configuration.PostcodeSearchByIdApiUrl, postCode), headers)); return(locationResults); }