protected void IgnoreFields(ModelStateDictionary dictionary, string[] propsToKeep) { foreach (var prop in SettingsProperties) { if (propsToKeep.Contains(prop)) { continue; } // set all props that are not marked for keeping to values from UnTrackedSettings var trackedProp = TrackedSettings.GetType().GetProperty(prop); var unTrackedProp = UnTrackedSettings.GetType().GetProperty(prop); trackedProp?.SetValue(TrackedSettings, unTrackedProp?.GetValue(UnTrackedSettings), null); // remove key from model so it doesn't get validated dictionary.Remove($"TrackedSettings.{prop}"); } }
public void LoadInto(TrackedSettings settings) => settings.LoadFrom(this);
public void LoadInto(TrackedSettings settings) { }