public UpdateTileTask() { userService = UserService.GetInstance(); weatherService = WeatherService.GetInstance(); userRespose = new GetUserRespose(); userCityRespose = new GetUserCityRespose(); weatherTypeRespose = new GetWeatherTypeRespose(); }
public async void Run(IBackgroundTaskInstance taskInstance) { BackgroundTaskDeferral _deferral = taskInstance.GetDeferral(); userRespose = await userService.GetUserAsync(); bool IsAutoUpdateTime = false; //是否处于停止更新时间 if (userRespose.UserConfig.IsAutoUpdateTimeSpan == 1) { IsAutoUpdateTime = IsAutoUpdateByTime(); } if (!IsAutoUpdateTime) { userCityRespose = await userService.GetUserCityAsync(); if (userCityRespose != null && userRespose != null) { //网络是否开启 if (NetHelper.IsNetworkAvailable()) { //无论使用移动数据还是WIFI都允许自动更新 if (userRespose.UserConfig.IsWifiAutoUpdate == 0) { await UpdateWeather(); } else { if (NetHelper.IsWifiConnection()) { await UpdateWeather(); } else { await UpdateWeatherByClientTask(); } } } else { await UpdateWeatherByClientTask(); } } } //表示完成任务 _deferral.Complete(); }
public AddCityPage() { this.InitializeComponent(); this.navigationHelper = new NavigationHelper(this); this.NavigationCacheMode = Windows.UI.Xaml.Navigation.NavigationCacheMode.Required; cityService = CityService.GetInstance(); userService = UserService.GetInstance(); resposeCities = new GetCityRespose(); resposeHotCities = new GetHotCityRespose(); resposeUserCity = new GetUserCityRespose(); }
public MyCityPage() { this.InitializeComponent(); this.navigationHelper = new NavigationHelper(this); this.navigationHelper.LoadState += this.NavigationHelper_LoadState; this.navigationHelper.SaveState += this.NavigationHelper_SaveState; userService = UserService.GetInstance(); weatherService = WeatherService.GetInstance(); userRespose = new GetUserRespose(); userCityRespose = new GetUserCityRespose(); weatherTypeRespose = new GetWeatherTypeRespose(); weatherRespose = new GetWeatherRespose(); myCityPage = new ViewModel.MyCityPage(); myCityPageModelList = new List<ViewModel.MyCityPageModel>(); }
public PivotPage() { this.InitializeComponent(); this.navigationHelper = new NavigationHelper(this); this.navigationHelper.LoadState += this.NavigationHelper_LoadState; this.navigationHelper.SaveState += this.NavigationHelper_SaveState; this.NavigationCacheMode = Windows.UI.Xaml.Navigation.NavigationCacheMode.Required; userService = UserService.GetInstance(); weatherService = WeatherService.GetInstance(); settingService = SettingService.GetInstance(); userRespose = new GetUserRespose(); userCityRespose = new GetUserCityRespose(); weatherRespose = new GetWeatherRespose(); weatherTypeRespose = new GetWeatherTypeRespose(); settingAutoUpdateTimeRepose = new GetSettingAutoUpdateTimeRepose(); }
public MainPage() { this.navigationHelper = new NavigationHelper(this); this.NavigationCacheMode = Windows.UI.Xaml.Navigation.NavigationCacheMode.Required; userService = UserService.GetInstance(); weatherService = WeatherService.GetInstance(); settingService = SettingService.GetInstance(); colorService = ColorService.GetInstance(); userRespose = new GetUserRespose(); userCityRespose = new GetUserCityRespose(); weatherRespose = new GetWeatherRespose(); weatherTypeRespose = new GetWeatherTypeRespose(); settingAutoUpdateTimeRepose = new GetSettingAutoUpdateTimeRepose(); colorResponse = new GetColorRespose(); homePageModel = new HomePageModel(); this.InitializeComponent(); Loaded += MainPage_Loaded; }
/// <summary> /// 常用城市磁贴排序 /// </summary> /// <param name="respose"></param> /// <returns></returns> private List<MyCityPageModel> SortCityPageModelList(GetUserCityRespose respose) { respose = SortUserCity(respose); List<MyCityPageModel> newList = new List<MyCityPageModel>(); foreach (var item in respose.UserCities) { MyCityPageModel model = myCityPageModelList.FirstOrDefault(x => x.CityId == item.CityId); newList.Add(model); } return newList; }
/// <summary> /// 常用城市排序 /// </summary> /// <param name="respose"></param> /// <returns></returns> private GetUserCityRespose SortUserCity(GetUserCityRespose respose) { var data = from c in respose.UserCities orderby c.IsDefault descending, c.AddTime descending select c; respose.UserCities = data.ToList(); return respose; }
/// <summary> /// 此部分中提供的方法只是用于使 /// NavigationHelper 可响应页面的导航方法。 /// <para> /// 应将页面特有的逻辑放入用于 /// <see cref="NavigationHelper.LoadState"/> /// 和 <see cref="NavigationHelper.SaveState"/> 的事件处理程序中。 /// 除了在会话期间保留的页面状态之外 /// LoadState 方法中还提供导航参数。 /// </para> /// </summary> /// <param name="e">提供导航方法数据和 /// 无法取消导航请求的事件处理程序。</param> protected async override void OnNavigatedTo(NavigationEventArgs e) { this.navigationHelper.OnNavigatedTo(e); try { userCityRespose = await userService.GetUserCityAsync(); userRespose = await userService.GetUserAsync(); weatherTypeRespose = await weatherService.GetWeatherTypeAsync(); if (userCityRespose != null && userRespose != null && weatherTypeRespose != null) { await GetWeather(0); } } catch (Exception) { throw; } }
/// <summary> /// 此部分中提供的方法只是用于使 /// NavigationHelper 可响应页面的导航方法。 /// <para> /// 应将页面特有的逻辑放入用于 /// <see cref="NavigationHelper.LoadState"/> /// 和 <see cref="NavigationHelper.SaveState"/> 的事件处理程序中。 /// 除了在会话期间保留的页面状态之外 /// LoadState 方法中还提供导航参数。 /// </para> /// </summary> /// <param name="e">提供导航方法数据和 /// 无法取消导航请求的事件处理程序。</param> protected async override void OnNavigatedTo(NavigationEventArgs e) { colorResponse = new GetColorRespose(); StatusBar sb = StatusBar.GetForCurrentView(); await sb.HideAsync(); VisualStateManager.GoToState(this, "MoreHide", false); cityId = e.Parameter == null ? "" : e.Parameter.ToString(); this.navigationHelper.OnNavigatedTo(e); userCityRespose = await userService.GetUserCityAsync(); if (userCityRespose == null) { Frame.Navigate(typeof(AddCityPage), 1); return; } else { if (cityId == "") { cityId = userCityRespose.UserCities.FirstOrDefault().CityId; } try { userRespose = await userService.GetUserAsync(); weatherTypeRespose = await weatherService.GetWeatherTypeAsync(); await GetWeather(cityId, 0); colorResponse = await colorService.GetColorAsync(); int timeSection = TimeHelper.GetNowSectionByWeight(); ChangeBgColor(timeSection); } catch (Exception) { } _timer = new DispatcherTimer(); _timer.Interval = TimeSpan.FromMinutes(1); _timer.Tick += _timer_Tick; _timer.Start(); } }
/// <summary> /// 此部分中提供的方法只是用于使 /// NavigationHelper 可响应页面的导航方法。 /// <para> /// 应将页面特有的逻辑放入用于 /// <see cref="NavigationHelper.LoadState"/> /// 和 <see cref="NavigationHelper.SaveState"/> 的事件处理程序中。 /// 除了在会话期间保留的页面状态之外 /// LoadState 方法中还提供导航参数。 /// </para> /// </summary> /// <param name="e">提供导航方法数据和 /// 无法取消导航请求的事件处理程序。</param> protected async override void OnNavigatedTo(NavigationEventArgs e) { cityId = e.Parameter == null ? "" : e.Parameter.ToString(); this.navigationHelper.OnNavigatedTo(e); userCityRespose = await userService.GetUserCityAsync(); if (userCityRespose == null) { Frame.Navigate(typeof(AddCityPage), 1); return; } else { userRespose = await userService.GetUserAsync(); weatherTypeRespose = await weatherService.GetWeatherTypeAsync(); await GetWeather(cityId, 0); } HardwareButtons.BackPressed += HardwareButtons_BackPressed; }
protected async override void OnNavigatedTo(NavigationEventArgs e) { this.navigationHelper.OnNavigatedTo(e); // 获取用户城市数据 resposeUserCity = await userService.GetUserCityAsync(); // 获取城市 resposeCities = await cityService.GetCityAsync(); // 获取人们城市 resposeHotCities = await cityService.GetHotCityAsync(); ; // 数据绑定 page = new ViewModel.SelectCityPage(); page.Cities = resposeCities.Cities; page.HotCities = resposeHotCities.Cities; LayoutRoot.DataContext = page; }
/// <summary> /// 更新 /// </summary> /// <param name="cityName"></param> /// <returns></returns> public async Task<bool> UpdateUserCity(string cityName) { bool isAdd = false; Model.UserCity userCity = new Model.UserCity() { CityId = (from c in page.Cities where c.DistrictZH == cityName select c.ID).FirstOrDefault(), AddTime = DateTime.Now, CityName = cityName.Trim(), IsDefault = 1 }; GetUserCityRespose respose = new GetUserCityRespose(); List<Model.UserCity> userCityList = new List<Model.UserCity>(); userCityList.Add(userCity); respose.UserCities = userCityList; await userService.SaveUserCity(respose); isAdd = true; return isAdd; }
public async Task<bool> UpdateUserCity(string cityName) { bool isAdd = false; Model.UserCity userCity = new Model.UserCity() { CityId = (from c in page.Cities where c.District == cityName select c.Id).FirstOrDefault(), AddTime = DateTime.Now, CityName = cityName.Trim(), IsDefault = isNotFirst == false ? 1 : 0 }; if (!isNotFirst) { GetUserCityRespose respose = new GetUserCityRespose(); List<Model.UserCity> userCityList = new List<Model.UserCity>(); userCityList.Add(userCity); respose.UserCities = userCityList; await userService.SaveUserCity(SortUserCity(respose)); isAdd = true; } else { if (resposeUserCity.UserCities.Count < 5) { var count = resposeUserCity.UserCities.Count(x => x.CityName.Contains(cityName.Trim())); if (count == 0) { resposeUserCity.UserCities.Add(userCity); await userService.SaveUserCity(SortUserCity(resposeUserCity)); isAdd = true; } else { NotifyUser("该城市已加入常用城市列表"); } } else { NotifyUser("因资源有限,每人最多拥有5座常用城市"); } } return isAdd; }
private async void HardwareButtons_BackPressed(object sender, BackPressedEventArgs e) { resposeUserCity = await userService.GetUserCityAsync(); if (resposeUserCity == null) { Application.Current.Exit(); } else { Frame.Navigate(typeof(PivotPage)); } }
/// <summary> /// 此部分中提供的方法只是用于使 /// NavigationHelper 可响应页面的导航方法。 /// <para> /// 应将页面特有的逻辑放入用于 /// <see cref="NavigationHelper.LoadState"/> /// 和 <see cref="NavigationHelper.SaveState"/> 的事件处理程序中。 /// 除了在会话期间保留的页面状态之外 /// LoadState 方法中还提供导航参数。 /// </para> /// </summary> /// <param name="e">提供导航方法数据和 /// 无法取消导航请求的事件处理程序。</param> protected async override void OnNavigatedTo(NavigationEventArgs e) { this.navigationHelper.OnNavigatedTo(e); resposeUserCity = await userService.GetUserCityAsync(); if (resposeUserCity == null) { isNotFirst = false; } else { isNotFirst = true; } resposeCities = await cityService.GetCityAsync(); resposeHotCities = await cityService.GetHotCityAsync(); ; page = new ViewModel.SelectCityPage(); page.Cities = resposeCities.Cities; page.HotCities = resposeHotCities.Cities; LayoutRoot.DataContext = page; HardwareButtons.BackPressed += HardwareButtons_BackPressed; }