// 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;
           
        }
Example #2
0
        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;
        }