public OtherSettingsViewModel(ConfigRepository configRepository, IOtherSettingsView view) { _view = view; _otherSettings = new ObservableCollection<SettingViewModel>(); foreach (var kv in configRepository.OtherSettings) { _otherSettings.Add(new SettingViewModel(kv.Key, kv.Value)); } SettingsView = CollectionViewSource.GetDefaultView(_otherSettings); SettingsView.SortDescriptions.Add(new SortDescription("Key", ListSortDirection.Ascending)); AddCmd = new RelayCommand(OnAdd); RemoveCmd = new RelayCommand<object>(OnRemove); }
public ChosenMeasurementViewModel(ConfigRepository configRepository, MeasRepository measRepository) { // there may be duplicate keys in "InputMeasurementKeys" // but for each key, there is only one Measurement related ChosenMeasurements = new ObservableCollection<MeasurementViewModel>( from key in configRepository.InputMeasurementKeys join meas in measRepository.Measurements on key equals meas.Key select new MeasurementViewModel(meas)); DeselectCmd = new RelayCommand(OnDeselect); SelectAllCmd = new RelayCommand(OnSelectAll); UpCmd = new RelayCommand(OnMoveUp, () => this.SelectedIndex > 0); DownCmd = new RelayCommand(OnMoveDown, () => this.SelectedIndex < ChosenMeasurements.Count - 1); }
public MainViewModel(IMainWindow view, IOtherSettingsView viewOtherSettings) { _view = view; _measRepository = new MeasRepository("data/measurements.csv"); _configRepository = new ConfigRepository("data/OmsLite.exe.config"); _vmOtherSettings = new OtherSettingsViewModel(_configRepository, viewOtherSettings); _vmChosenMeasurement = new ChosenMeasurementViewModel(_configRepository, _measRepository); _vmAllMeasurements = new AllMeasurementsViewModel(_measRepository, _vmChosenMeasurement); // ----------------- commands SaveCmd = new RelayCommand(Save, () => _dirty); // ----------------- messages Messenger.Default.Register<bool>(this, _ => { _dirty = true; }); }
public void Save(ConfigRepository configRepository) { configRepository.OtherSettings = from setting in _otherSettings select new KeyValuePair<string, string>(setting.Key, setting.Value); }
public void Save(ConfigRepository configRepository) { configRepository.InputMeasurementKeys = from mvm in ChosenMeasurements select mvm.Key; }