private async Task <JustToBeSafeViewModel> DoWorkPreviouslyDoneInQuestionBuilder(JustToBeSafeViewModel model) { var businessApiPathwayUrl = _configuration.GetBusinessApiPathwayUrl(model.PathwayId); var response = await _restfulHelper.GetAsync(businessApiPathwayUrl); var pathway = JsonConvert.DeserializeObject <Pathway>(response); if (pathway == null) { return(null); } var derivedAge = model.UserInfo.Demography.Age == -1 ? pathway.MinimumAgeInclusive : model.UserInfo.Demography.Age; var newModel = new JustToBeSafeViewModel { PathwayId = pathway.Id, PathwayNo = pathway.PathwayNo, PathwayTitle = pathway.Title, DigitalTitle = string.IsNullOrEmpty(model.DigitalTitle) ? pathway.Title : model.DigitalTitle, UserInfo = new UserInfo { Demography = new AgeGenderViewModel { Age = derivedAge, Gender = pathway.Gender } }, JourneyJson = model.JourneyJson, SymptomDiscriminatorCode = model.SymptomDiscriminatorCode, State = JourneyViewModelStateBuilder.BuildState(pathway.Gender, derivedAge), SessionId = model.SessionId, FilterServices = model.FilterServices }; newModel.StateJson = JourneyViewModelStateBuilder.BuildStateJson(newModel.State); return(newModel); }
private async Task <JustToBeSafeViewModel> BuildIdentifiedModel(JustToBeSafeViewModel model) { var pathway = JsonConvert.DeserializeObject <Pathway>(await _restfulHelper.GetAsync(_configuration.GetBusinessApiPathwayIdUrl(model.PathwayNo, model.UserInfo.Demography.Gender, model.UserInfo.Demography.Age))); if (pathway == null) { return(null); } model.PathwayId = pathway.Id; model.PathwayTitle = pathway.Title; model.PathwayNo = pathway.PathwayNo; model.State = JourneyViewModelStateBuilder.BuildState(model.UserInfo.Demography.Gender, model.UserInfo.Demography.Age, model.State); model.StateJson = JourneyViewModelStateBuilder.BuildStateJson(model.State); model.CollectedKeywords = new KeywordBag(_keywordCollector.ParseKeywords(pathway.Keywords, false).ToList(), _keywordCollector.ParseKeywords(pathway.ExcludeKeywords, false).ToList()); return(model); }
private async Task <JustToBeSafeViewModel> DoWorkPreviouslyDoneInQuestionBuilder(JustToBeSafeViewModel model) { var businessApiPathwayUrl = _configuration.GetBusinessApiPathwayUrl(model.PathwayId); var response = await _restClient.ExecuteAsync <Pathway>(new JsonRestRequest(businessApiPathwayUrl, Method.GET)); CheckResponse(response); if (response.Data == null) { return(null); } var pathway = response.Data; var derivedAge = model.UserInfo.Demography.Age == -1 ? pathway.MinimumAgeInclusive : model.UserInfo.Demography.Age; var state = !string.IsNullOrEmpty(model.StateJson) ? JsonConvert.DeserializeObject <Dictionary <string, string> >(model.StateJson) : new Dictionary <string, string>(); var newModel = new JustToBeSafeViewModel { PathwayId = pathway.Id, PathwayNo = pathway.PathwayNo, PathwayTitle = pathway.Title, PathwayTraumaType = pathway.TraumaType, DigitalTitle = string.IsNullOrEmpty(model.DigitalTitle) ? pathway.Title : model.DigitalTitle, UserInfo = new UserInfo { Demography = new AgeGenderViewModel { Age = derivedAge, Gender = pathway.Gender } }, JourneyJson = model.JourneyJson, SymptomDiscriminatorCode = model.SymptomDiscriminatorCode, State = JourneyViewModelStateBuilder.BuildState(pathway.Gender, derivedAge, state), SessionId = model.SessionId, Campaign = model.Campaign, Source = model.Source, FilterServices = model.FilterServices, StartParameter = model.StartParameter }; newModel.StateJson = JourneyViewModelStateBuilder.BuildStateJson(newModel.State); return(newModel); }
private async Task <JustToBeSafeViewModel> BuildIdentifiedModel(JustToBeSafeViewModel model) { var response = await _restClient.ExecuteAsync <Pathway>(new JsonRestRequest(_configuration.GetBusinessApiPathwayIdUrl(model.PathwayNo, model.UserInfo.Demography.Gender, model.UserInfo.Demography.Age), Method.GET)); CheckResponse(response); if (response.Data == null) { return(null); } var pathway = response.Data; model.PathwayId = pathway.Id; model.PathwayTitle = pathway.Title; model.PathwayNo = pathway.PathwayNo; model.PathwayTraumaType = pathway.TraumaType; model.State = JourneyViewModelStateBuilder.BuildState(model.UserInfo.Demography.Gender, model.UserInfo.Demography.Age, model.State); model.StateJson = JourneyViewModelStateBuilder.BuildStateJson(model.State); model.CollectedKeywords = new KeywordBag(_keywordCollector.ParseKeywords(pathway.Keywords, false).ToList(), _keywordCollector.ParseKeywords(pathway.ExcludeKeywords, false).ToList()); return(model); }