public async Task <JsonResult> LoadChildrenFormularies(FormularyListSearchCriteria searchCriteria) { string token = HttpContext.Session.GetString("access_token"); var apiRequest = new GetFormularyDescendentForCodesAPIRequest() { Codes = new List <string> { searchCriteria.FormularyCode }, OnlyNonDeleted = false }; var formulariesResponse = await TerminologyAPIService.GetFormularyDescendentForCodes(apiRequest, token); var recordStatusDictionary = HttpContext.Session.GetObject <Dictionary <string, string> >(SynapseSession.FormularyRecStatusLkpKey); if (formulariesResponse.StatusCode != DataService.APIModel.StatusCode.Success) { string errors = "Error getting the Formularies data."; if (formulariesResponse.ErrorMessages.IsCollectionValid()) { errors = errors + string.Join('\n', formulariesResponse.ErrorMessages.ToArray()); } _toastNotification.AddErrorToastMessage(errors); return(Json(null)); } if (formulariesResponse == null || !formulariesResponse.Data.IsCollectionValid()) { return(Json(new List <FormularyTreeModel>())); } var formularyData = formulariesResponse.Data; if (searchCriteria.HideArchived == true) { formularyData = formularyData.Where(rec => rec.RecStatusCode != TerminologyConstants.ARCHIEVED_STATUS_CD).ToList(); } var vm = ConvertToFormularyTreeModel(formularyData, recordStatusDictionary); return(Json(vm)); }