public LandslideRecordViewModel() { GeoCoordinateWatcher watcher; watcher = new GeoCoordinateWatcher(); watcher.PositionChanged += new EventHandler <GeoPositionChangedEventArgs <GeoCoordinate> >(watcher_PositionChanged); watcher.TryStart(false, TimeSpan.FromMilliseconds(2000)); landslideCondition = new ObservableCollection <string> { "House was buried", "Farm was buried", "Road was buried", "River siltation", "Ground cracked" }; checkedLandslideCondition = new ObservableCollection <string>(); startclock(); SaveCommand = new RelayCommand(DoSaveRecord); UploadCommand = new RelayCommand(LoadClick); SelectionChanged = new RelayCommand(ItemSelectionChanged); currentDateTime = DateTime.Now; Layer = new Microsoft.Maps.MapControl.WPF.MapLayer(); deathToll = -1; injuryToll = -1; houseDamage = false; houseSelected = null; riverDamage = false; riverSelected = null; farmDamage = false; farmSelected = null; groundDamage = false; groundSelected = null; roadDamage = false; roadSelected = null; }
void Save_PropertyChanged(object sender, PropertyChangedEventArgs e) { switch (e.PropertyName) { case "saveRecord": Debug.WriteLine("clear layer"); mapView.Children.Remove(layer); mapView.Children.Add(otherViewModel.Layer); layer = otherViewModel.Layer; break; } }
public OtherView() { otherViewModel = new OtherViewModel(); InitializeComponent(); this.DataContext = otherViewModel; otherViewModel.PropertyChanged += Save_PropertyChanged; isFirstPress = true; layer = otherViewModel.Layer; mapView.Children.Add(otherViewModel.Layer); }
private void DoSaveRecord(object obj) { Debug.WriteLine("Save~~~"); photoUploaded = null; Layer = new Microsoft.Maps.MapControl.WPF.MapLayer(); for (int i = 0; i < conditions.Count(); i++) { conditions[i] = false; } deathTroll = 0; injuryTroll = 0; RaisePropertyChanged("deathTroll"); RaisePropertyChanged("injuryTroll"); RaisePropertyChanged("photoUploaded"); RaisePropertyChanged("saveRecord"); RaisePropertyChanged("conditions"); }
public OtherViewModel() { GeoCoordinateWatcher watcher; watcher = new GeoCoordinateWatcher(); watcher.PositionChanged += new EventHandler <GeoPositionChangedEventArgs <GeoCoordinate> >(watcher_PositionChanged); watcher.TryStart(false, TimeSpan.FromMilliseconds(2000)); conditions = new ObservableCollection <bool>() { false, false, false, false, false }; startclock(); SaveCommand = new RelayCommand(DoSaveRecord); UploadCommand = new RelayCommand(LoadClick); currentDateTime = DateTime.Now; Layer = new Microsoft.Maps.MapControl.WPF.MapLayer(); deathTroll = 0; injuryTroll = 0; }
private void DoSaveRecord(object obj) { LandslideRecord record = new LandslideRecord(); record.Time = currentDateTime.ToString(); record.Latitude = currentLatitude.ToString(); record.Longitude = currentLongitude.ToString(); record.deathToll = deathToll.ToString(); record.injuryToll = injuryToll.ToString(); record.conditions = new ObservableCollection <string>() { null, null, null, null, null }; photoUploaded = null; Layer = new Microsoft.Maps.MapControl.WPF.MapLayer(); foreach (var e in checkedLandslideCondition.ToList()) { if (e.Contains("House")) { record.conditions[0] = e; } else if (e.Contains("Farm")) { record.conditions[1] = e; } else if (e.Contains("Road")) { record.conditions[2] = e; } else if (e.Contains("River")) { record.conditions[3] = e; } else { record.conditions[4] = e; } checkedLandslideCondition.Remove(e); } deathToll = -1; injuryToll = -1; houseDamage = false; houseSelected = null; riverDamage = false; riverSelected = null; farmDamage = false; farmSelected = null; groundDamage = false; groundSelected = null; roadDamage = false; roadSelected = null; RaisePropertyChanged("deathToll"); RaisePropertyChanged("injuryToll"); RaisePropertyChanged("photoUploaded"); RaisePropertyChanged("saveRecord"); RaisePropertyChanged("checkedLandslideCondition"); RaisePropertyChanged("houseDamage"); RaisePropertyChanged("riverDamage"); RaisePropertyChanged("farmDamage"); RaisePropertyChanged("roadDamage"); RaisePropertyChanged("groundDamage"); RaisePropertyChanged("houseSelected"); RaisePropertyChanged("riverSelected"); RaisePropertyChanged("farmSelected"); RaisePropertyChanged("roadSelected"); RaisePropertyChanged("groundSelected"); MenuViewBase recordView = HomeScreenViewModel.GetInstance().ShowOtherView(); recordView.RaiseUserInputReadyEvent(new SaveButtonClickedEventArgs(record)); }