public async Task SetActiveZoneViewModel(string zoneUdn) { if (string.IsNullOrEmpty(zoneUdn)) { zoneUdn = await ApplicationData.Current.LocalSettings.ReadAsync <string>("ACTIVEZONE"); zoneUdn = ZoneViewModels.Select(z => z).Where(z => z.Udn == zoneUdn).FirstOrDefault()?.Udn; if (string.IsNullOrEmpty(zoneUdn)) { zoneUdn = ZoneViewModels.First().Udn; await ApplicationData.Current.LocalSettings.SaveAsync("ACTIVEZONE", zoneUdn); } } foreach (var zone in ZoneViewModels) { if (zone.Udn == zoneUdn) { zone.IsActive = true; (SecondaryItems.Select(i => i).Where(i => i.GetType() == typeof(ManageZonesNavigationViewModel)).FirstOrDefault()).Label = zone.Name; ActiveZoneViewModel = zone; await ApplicationData.Current.LocalSettings.SaveAsync("ACTIVEZONE", zone.Udn); } else { zone.IsActive = false; } } }
public async Task DeleteZone(object obj) { if (NotNetOrConnection) { return; } try { ZoneViewModel zvm = (ZoneViewModel)obj; State = ModelState.Loading; Zone zone = new Zone(); zvm.SaveFields(zone); await NAV.DeleteZone(zone, ACD.Default).ConfigureAwait(true); ZoneViewModels.Remove(zvm); } catch (Exception e) { System.Diagnostics.Debug.WriteLine(e.Message); ErrorText = e.Message; State = ModelState.Error; } finally { State = ModelState.Normal; LoadAnimation = false; } }
public override async void SaveChangesAsync() { if (NotNetOrConnection) { return; } List <ZoneViewModel> list = ZoneViewModels.ToList().FindAll(x => x.IsSelected == true); foreach (ZoneViewModel zvm in list) { try { Zone zone = new Zone(); zvm.SaveFields(zone); await NAV.ModifyZone(zone, ACD.Default).ConfigureAwait(true); } catch (Exception e) { System.Diagnostics.Debug.WriteLine(e.Message); State = ModelState.Error; ErrorText = e.Message; } } UpdateMinSizes(); }
public void ClearAll() { foreach (ZoneViewModel zvm in ZoneViewModels) { zvm.DisposeModel(); } ZoneViewModels.Clear(); }
public async void OnZonesFound(object sender, EventArgs <ObservableCollection <ZoneViewModel> > e) { await DispatcherHelper.ExecuteOnUIThreadAsync(async() => { if ((ZoneViewModels?.Count() ?? 0) > 0) { ZoneViewModels.Clear(); } //Get saved settings ApplicationDataContainer localSettings = ApplicationData.Current.LocalSettings; string udn = localSettings.Values["ACTIVEZONE"] as string; //Check is there were settings //If not, get UDN from active Renderer if (string.IsNullOrEmpty(udn)) { udn = PivotItemViewModel.ActiveRenderer?.UDN ?? string.Empty; } bool notChecked = true; ZoneViewModel zone = null; if ((e?.Value?.Count() ?? 0) > 0) { foreach (var vm in e.Value) { vm.IsActive = false; //Save pointer to previous selected zone if (notChecked) { zone = vm; if (udn == vm.Udn) { notChecked = false; } } ZoneViewModels.Add(vm); } if (zone.MediaRenderer != null) { zone.IsActive = true; } await Task.Delay(TimeSpan.FromMilliseconds(500)); foreach (var vm in ZoneViewModels) { await vm.InitVolumes(); } } }); }
public async Task DeleteZone(object obj) { if (NotNetOrConnection) { return; } ZoneViewModel zvm = (ZoneViewModel)obj; //string request = String.Format(AppResources.ZonesPlanViewModel_DeleteZone, zvm.Name); string variant1 = String.Format(AppResources.ZonesPlanViewModel_DeleteZone, zvm.Code); string variant2 = String.Format(AppResources.ZonesPlanViewModel_DeleteZone2, zvm.Code); var action = await App.Current.MainPage.DisplayActionSheet( AppResources.ZonesPlanViewModel_DeleteQuestion, AppResources.ZonesPlanViewModel_DeleteCancel, null, variant1, variant2); if ((action != null) && (action != AppResources.ZonesPlanViewModel_DeleteCancel)) { if (action == variant1) { await zvm.SaveToZoneSchemeVisible(false); } if (action == variant2) { try { State = ModelState.Loading; Zone zone = new Zone(); zvm.SaveFields(zone); await NAV.DeleteZone(zone, ACD.Default).ConfigureAwait(true); ZoneViewModels.Remove(zvm); State = ModelState.Normal; } catch (Exception e) { System.Diagnostics.Debug.WriteLine(e.Message); ErrorText = e.Message; State = ModelState.Error; } finally { LoadAnimation = false; } } await Load(); } }
public async Task InitViewModel() { await DispatcherHelper.ExecuteOnUIThreadAsync(async() => { ZoneViewModels.Clear(); foreach (var vm in Shell.Instance.ViewModel.ZoneViewModels) { ZoneViewModels.Add(vm); await vm.InitVolumes(); } }); App.UpnpBaseUnit.ZoneLoaded += OnZonesFound; }
private void FillModel(List <Zone> zones) { if (zones.Count > 0) { ClearAll(); foreach (Zone zone in zones) { ZoneViewModel zvm = new ZoneViewModel(Navigation, zone); ZoneViewModels.Add(zvm); } State = ModelState.Normal; } else { State = ModelState.NoData; } }
public void ComboBoxLoaded(ComboBox obj) { bool handled = false; for (int i = 0; i < (ZoneViewModels?.Count() ?? 0); i++) { if (ZoneViewModels[0].IsActive) { obj.SelectedIndex = i; handled = true; break; } } if (!handled && (ZoneViewModels?.Count ?? 0) > 0) { obj.SelectedIndex = 0; ZoneViewModels[0].IsActive = true; } }
private void FillModel(List <Zone> zones) { if (zones.Count > 0) { ClearAll(); foreach (Zone zone in zones) { SetDefaultSizes(zone); ZoneViewModel zvm = new ZoneViewModel(Navigation, zone); zvm.OnTap += Zvm_OnTap; ZoneViewModels.Add(zvm); } State = ModelState.Normal; UpdateMinSizes(); Rebuild(true); } else { State = ModelState.NoData; } }