Пример #1
0
        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);
        }
Пример #4
0
 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");
 }
Пример #5
0
        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;
        }
Пример #6
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));
        }