public void ApplySettings(ColumnManager cm)
 {
     foreach (var col in cm.ColumnSettings)
     {
         var settings = Settings.FirstOrDefault(x => x.Id == col.Id);
         if (settings == null) continue;
         col.Order = settings.Order;
         col.Visible = settings.Visible;
     }
 }
        public GridSettingsViewModel(ColumnManager cm)
        {
            Settings = new ReactiveCollection<ColumnSettingsViewModel>();
            SettingsView = (CollectionView)CollectionViewSource.GetDefaultView(Settings);
            SettingsView.SortDescriptions.Add(new SortDescription {PropertyName = "Order", Direction = ListSortDirection.Ascending});

            foreach (var csvm in cm.ColumnSettings)
                Settings.Add(csvm.Copy());
        }