// GET api/<controller>/5 public string Get(string value) { var rawValue = JsonConvert.DeserializeObject<Dictionary<string, object>>(value); var parameters = new Dictionary<string, object>(); if (rawValue.ContainsKey("ctry_codes")) { parameters.Add("@ctry_codes", rawValue["ctry_codes"]); } else parameters.Add("@ctry_codes", string.Empty); if (rawValue.ContainsKey("flu_years")) { parameters.Add("@flu_years", rawValue["flu_years"]); } else parameters.Add("@flu_years", string.Empty); var id = Convert.ToInt32(rawValue.ContainsKey("id")); var result = dataBL.GetTable(StoredProcedure.EpiData, parameters); var table = new JSEpidata().ConvertToTableToList(result.Tables[0]) .Where(e => e.epi_wide_id == id); var response = JsonConvert.SerializeObject(table); return response; }
public List<JSEpidata> ConvertToTableToList(DataTable table) { try { var list = new List<JSEpidata>(); foreach (DataRow i in table.Rows) { var sdate = i["flu_start_date"].ToString(); var edate = i["flu_end_date"].ToString(); var forcedParse = new DateTime(); CultureInfo ci = new CultureInfo("en-GB"); if (!String.IsNullOrEmpty(i["flu_start_date"].ToString())) { var start = DateTime.Parse(i["flu_start_date"].ToString()); forcedParse = new DateTime(start.Year, start.Month, start.Day); sdate = forcedParse.ToString("dd MMM yyyy", ci); } if (!String.IsNullOrEmpty(i["flu_start_date"].ToString())) { var end = DateTime.Parse(i["flu_end_date"].ToString()); forcedParse = new DateTime(end.Year, end.Month, end.Day); edate = forcedParse.ToString("dd MMM yyyy", ci); } var item = new JSEpidata { epi_wide_id = Convert.ToInt32(i["epi_wide_id"].ToString()), ctry_code = i["ctry_code"].ToString(), reporting_site = i["reporting_site"].ToString(), flu_year = i["flu_year"].ToString(), flu_week = i["flu_week"].ToString(), flu_start_date = sdate, flu_end_date = edate, geospread = i["geospread"].ToString(), geospread_comments = i["geospread_comments"].ToString(), intensity = i["intensity"].ToString(), impact = i["impact"].ToString(), trend = i["trend"].ToString(), age_group = i["age_group"].ToString(), ili_cases = i["ili_cases"].ToString(), ili_pop_cov = i["ili_pop_cov"].ToString(), ili_outpatients = i["ili_outpatients"].ToString(), ili_nb_sites = i["ili_nb_sites"].ToString(), ari_cases = i["ari_cases"].ToString(), ari_pop_cov = i["ari_pop_cov"].ToString(), ari_outpatients = i["ari_outpatients"].ToString(), ari_nb_sites = i["ari_nb_sites"].ToString(), sari_cases = i["sari_cases"].ToString(), sari_deaths = i["sari_deaths"].ToString(), sari_pop_cov = i["sari_pop_cov"].ToString(), sari_inpatients = i["sari_inpatients"].ToString(), sari_nb_sites = i["sari_nb_sites"].ToString(), pneu_cases = i["pneu_cases"].ToString(), pneu_deaths = i["pneu_deaths"].ToString(), pneu_pop_cov = i["pneu_pop_cov"].ToString(), pneu_inpatients = i["pneu_inpatients"].ToString(), pneu_nb_sites = i["pneu_nb_sites"].ToString() }; list.Add(item); } return list; } catch (Exception e) { throw e; } }
// GET api/<controller> public string Get(string value) { var rawValue = JsonConvert.DeserializeObject<Dictionary<string, object>>(value); var tableSource = rawValue["ListType"].ToString(); var parameters = new Dictionary<string,object>(); if (tableSource == "avian") { if(rawValue.ContainsKey("pathogen_ids")) { parameters.Add("@pathogen_ids", rawValue["pathogen_ids"]); } else parameters.Add("@pathogen_ids", string.Empty); if (rawValue.ContainsKey("ctry_code")) { parameters.Add("@ctry_codes", rawValue["ctry_code"]); } else parameters.Add("@ctry_codes", string.Empty); if(rawValue.ContainsKey("flu_years")) { parameters.Add("@flu_years", rawValue["flu_years"]); } else parameters.Add("@flu_years", string.Empty); var result = dataBL.GetTable(StoredProcedure.TLinelist, parameters); var table = JsonConvert.SerializeObject(result.Tables[0]); var columns = dataBL.GetColumns(StoredProcedure.TLinelist); var data = new Dictionary<string, string>(); data.Add("table", table); data.Add("columns", JsonConvert.SerializeObject(columns)); return JsonConvert.SerializeObject(data); } else if (tableSource == "avian2") { if (rawValue.ContainsKey("pathogen_ids")) { parameters.Add("@pathogen_ids", rawValue["pathogen_ids"]); } else parameters.Add("@pathogen_ids", string.Empty); if (rawValue.ContainsKey("ctry_code")) { parameters.Add("@ctry_codes", rawValue["ctry_code"]); } else parameters.Add("@ctry_codes", string.Empty); if (rawValue.ContainsKey("flu_years")) { parameters.Add("@flu_years", rawValue["flu_years"]); } else parameters.Add("@flu_years", string.Empty); var result = dataBL.GetTable(StoredProcedure.Linelist, parameters); var table = JsonConvert.SerializeObject(result.Tables[0]); var columns = dataBL.GetColumns(StoredProcedure.Linelist); var data = new Dictionary<string, string>(); data.Add("table", table); data.Add("columns", JsonConvert.SerializeObject(columns)); return JsonConvert.SerializeObject(data); } else if (tableSource == "avian_country") { var result = dataBL.GetTable(StoredProcedure.Linelist_Ctry_Ddl); var table = JsonConvert.SerializeObject(result.Tables[0]); return JsonConvert.SerializeObject(table); } else if (tableSource == "avian_year") { var result = dataBL.GetTable(StoredProcedure.Linelist_Year_Ddl); var table = JsonConvert.SerializeObject(result.Tables[0]); return JsonConvert.SerializeObject(table); } else if (tableSource == "avian_pathogen") { var result = dataBL.GetTable(StoredProcedure.Linelist_Pathogen_Ddl); var table = JsonConvert.SerializeObject(result.Tables[0]); return JsonConvert.SerializeObject(table); } else if (tableSource == "Virological") { if (rawValue.ContainsKey("ctry_codes")) { parameters.Add("@ctry_codes", rawValue["ctry_codes"]); } else parameters.Add("@ctry_codes", string.Empty); if (rawValue.ContainsKey("flu_years")) { parameters.Add("@flu_years", rawValue["flu_years"]); } else parameters.Add("@flu_years", string.Empty); var tableRaw = new JSVirodata().ConvertToTableToList(dataBL.GetTable(StoredProcedure.ViroList, parameters).Tables[0]).Take(4000); var serializer = new JavaScriptSerializer() { MaxJsonLength = 86753090 }; var table = serializer.Serialize(tableRaw); var columns = dataBL.GetColumns(StoredProcedure.ViroList); var data = new Dictionary<string, string>(); data.Add("table", table); data.Add("columns", JsonConvert.SerializeObject(columns)); return JsonConvert.SerializeObject(data); } else if (tableSource == "viro_country") { var result = dataBL.GetTable(StoredProcedure.Viro_Ctry_Ddl); var table = JsonConvert.SerializeObject(result.Tables[0]); return JsonConvert.SerializeObject(table); } else if (tableSource == "viro_year") { var result = dataBL.GetTable(StoredProcedure.Viro_Year_Ddl); var table = JsonConvert.SerializeObject(result.Tables[0]); return JsonConvert.SerializeObject(table); } else if (tableSource == "Epidemiological") { if (rawValue.ContainsKey("ctry_codes")) { parameters.Add("@ctry_codes", rawValue["ctry_codes"]); } else parameters.Add("@ctry_codes", string.Empty); if (rawValue.ContainsKey("flu_years")) { parameters.Add("@flu_years", rawValue["flu_years"]); } else parameters.Add("@flu_years", string.Empty); var result = dataBL.GetTable(StoredProcedure.EpiData, parameters); //var table = JsonConvert.SerializeObject(result.Tables[0]); var tableRaw = new JSEpidata().ConvertToTableToList(result.Tables[0]).Take(4000); var serializer = new JavaScriptSerializer() { MaxJsonLength = 86753090 }; var table = serializer.Serialize(tableRaw); var columns = dataBL.GetColumns(StoredProcedure.EpiData); var data = new Dictionary<string, string>(); data.Add("table", table); data.Add("columns", JsonConvert.SerializeObject(columns)); return JsonConvert.SerializeObject(data); } else if (tableSource == "epi_country") { var result = dataBL.GetTable(StoredProcedure.EpiData_Ctry_Ddl); var table = JsonConvert.SerializeObject(result.Tables[0]); return JsonConvert.SerializeObject(table); } else if (tableSource == "epi_year") { var result = dataBL.GetTable(StoredProcedure.EpiData_Year_Ddl); var table = JsonConvert.SerializeObject(result.Tables[0]); return JsonConvert.SerializeObject(table); } else if (tableSource == "epi_data") { if (rawValue.ContainsKey("ctry_codes")) { parameters.Add("@ctry_codes", rawValue["ctry_codes"]); } else parameters.Add("@ctry_codes", string.Empty); if (rawValue.ContainsKey("flu_years")) { parameters.Add("@flu_years", rawValue["flu_years"]); } else parameters.Add("@flu_years", string.Empty); var id = Convert.ToInt32(rawValue.ContainsKey("id")); var result = dataBL.GetTable(StoredProcedure.EpiData, parameters); var table = new JSEpidata().ConvertToTableToList(result.Tables[0]) .Where(e => e.epi_wide_id == id); var response = JsonConvert.SerializeObject(table); return response; } else if (tableSource == "recent_update") { var result = ActionHelper.GetActions(ActionsLog.Publish.ToString(), ActionModule.Linelist.ToString()); var response = JsonConvert.SerializeObject(result.Rows[0].Table); return response; } return string.Empty; }