/*
         *  Search butonuna tıklandığında bu action çalışır.GetCityInfos() metodunu kullanarak
         *  CitiesInfo model classına şehir detay bilgilerini çektim ve model ile view'e gönderdim.
         */
        public ActionResult GetCityDetails(string CityName)
        {
            /*
             *  cities.json'da bulunan double enlem ve boylam sayıları virgülle ayrılmış olarak deil de
             *  noktayla ayrılmış olarak gelmesi için sistemin sayı ayracını ',' den '.' ya dönüştürdüm.
             *  Bu işlemi yaparak haritayı gösteren javascript fonksiyonuna enlem ve boylam bilgilerini
             *  doğru formatta göndermiş oldum.
             */
            CultureInfo culture = (CultureInfo)System.Threading.Thread.CurrentThread.CurrentCulture.Clone();

            culture.NumberFormat.NumberDecimalSeparator          = ".";
            System.Threading.Thread.CurrentThread.CurrentCulture = culture;

            var cities = GetCityInfos();

            if (IsCityExistInDatabase(cities, CityName))
            {
                CitiesInfo model = new CitiesInfo();
                foreach (var city in cities)
                {
                    if (city.CityName.ToLower(culture) == CityName.ToLower(culture))
                    {
                        model = city;
                    }
                }
                return(View("CityDetails", model));
            }
            else
            {
                return(View("CityNotFound"));
            }
        }
示例#2
0
        public CitiesSettingViewModel()
        {
            lockable = new object();
            var p = SettingsModel.Current.Preferences;

            Theme = p.GetTheme();
            var task = ThreadPool.RunAsync(async(work) =>
            {
                Cities = SettingsModel.Current.Cities;
                Info   = new CitiesInfo();
                if (!Cities.SavedCities.IsNullorEmpty())
                {
                    foreach (var city in Cities.SavedCities)
                    {
                        Info.Add(new CitySettingsViewModel(city.City, city.Id, city.IsCurrent));
                    }
                }
                await CoreApplication.MainView.CoreWindow.Dispatcher.RunAsync(CoreDispatcherPriority.High, new DispatchedHandler(() =>
                {
                    EnablePosition = Cities.EnableLocate;
                    if (Cities.CurrentIndex == -1)
                    {
                        Is_Located_Current = true;
                    }
                }));
                OnRefreshComplete();
            });
        }