public HttpResponseMessage Language(string searchText = "")
        {
            HttpWebRequest httpWebRequest = System.Net.WebRequest.Create("https://restcountries.eu/rest/v2/all?fields=name;languages") as HttpWebRequest;

            using (HttpWebResponse httpWebResponse = httpWebRequest.GetResponse() as HttpWebResponse)
            {
                if (httpWebResponse.StatusCode != HttpStatusCode.OK)
                {
                    throw new Exception(string.Format("Sunucu Hatası (HTTP {0}: {1}).",
                                                      httpWebResponse.StatusCode, httpWebResponse.StatusDescription));
                }
                Stream stream = httpWebResponse.GetResponseStream();
                DataContractJsonSerializer dataContractJsonSerializer = new DataContractJsonSerializer(typeof(FilteredCountry[]));
                PagerFilteredCountry       Pfc    = new PagerFilteredCountry();
                FilteredCountry[]          result = (FilteredCountry[])dataContractJsonSerializer.ReadObject(stream);

                if (result == null)
                {
                    return(Request.CreateErrorResponse(HttpStatusCode.NotFound, " Ülke Bulunamadı."));
                }
                else
                {
                    string[] langs = result.Where(a => a.name.ToLower() == searchText.ToLower()).FirstOrDefault().languages.Select(a => a.name).ToArray();

                    return(Request.CreateResponse <string>(HttpStatusCode.OK, string.Join(",", langs)));
                }
            }
        }
        public HttpResponseMessage Countries(string searchText = "", int take = 10, int page = 1)
        {
            HttpWebRequest httpWebRequest = System.Net.WebRequest.Create("https://restcountries.eu/rest/v2/all?fields=name;languages") as HttpWebRequest;

            using (HttpWebResponse httpWebResponse = httpWebRequest.GetResponse() as HttpWebResponse)
            {
                if (httpWebResponse.StatusCode != HttpStatusCode.OK)
                {
                    throw new Exception(string.Format("Sunucu Hatası (HTTP {0}: {1}).",
                                                      httpWebResponse.StatusCode, httpWebResponse.StatusDescription));
                }
                Stream stream = httpWebResponse.GetResponseStream();
                DataContractJsonSerializer     dataContractJsonSerializer = new DataContractJsonSerializer(typeof(FilteredCountry[]));
                PagerFilteredCountry           Pfc     = new PagerFilteredCountry();
                FilteredCountry[]              result  = (FilteredCountry[])dataContractJsonSerializer.ReadObject(stream);
                List <NumberedFilteredCountry> NfcList = new List <NumberedFilteredCountry>();
                int id = 0;
                foreach (var item in result)
                {
                    id++;
                    NumberedFilteredCountry Nfc = new NumberedFilteredCountry();
                    Nfc.Id        = id;
                    Nfc.Name      = item.name;
                    Nfc.Languages = string.Join(",", item.languages.Select(a => a.name).ToArray());
                    NfcList.Add(Nfc);
                }
                if (result == null)
                {
                    return(Request.CreateErrorResponse(HttpStatusCode.NotFound, " Ülke Bulunamadı."));
                }
                else
                {
                    int sNum = 0;
                    if (result.Length >= (page - 1) * take)
                    {
                        sNum = (page - 1) * take;
                    }
                    else
                    {
                        sNum = result.Length;
                    }
                    Pfc.NumberedFilteredCountry = NfcList.Skip(sNum).Take(take).ToArray();
                    Pfc.TotalPage = result.Count() / take;
                    return(Request.CreateResponse <PagerFilteredCountry>(HttpStatusCode.OK, Pfc));
                }
            }
        }