public JsonResult SaveIndexers(IndexerSettingsModel data) { if (ModelState.IsValid) { _configProvider.Retention = data.Retention; var nzbsRUsSettings = _indexerProvider.GetSettings(typeof(NzbsRUs)); nzbsRUsSettings.Enable = data.NzbsRUsEnabled; _indexerProvider.SaveSettings(nzbsRUsSettings); var newznabSettings = _indexerProvider.GetSettings(typeof(Newznab)); newznabSettings.Enable = data.NewznabEnabled; _indexerProvider.SaveSettings(newznabSettings); var womblesSettings = _indexerProvider.GetSettings(typeof(Wombles)); womblesSettings.Enable = data.WomblesEnabled; _indexerProvider.SaveSettings(womblesSettings); var fileSharingTalkSettings = _indexerProvider.GetSettings(typeof(FileSharingTalk)); fileSharingTalkSettings.Enable = data.FileSharingTalkEnabled; _indexerProvider.SaveSettings(fileSharingTalkSettings); var nzbIndexSettings = _indexerProvider.GetSettings(typeof(NzbIndex)); nzbIndexSettings.Enable = data.NzbIndexEnabled; _indexerProvider.SaveSettings(nzbIndexSettings); var nzbClubSettings = _indexerProvider.GetSettings(typeof(NzbClub)); nzbClubSettings.Enable = data.NzbClubEnabled; _indexerProvider.SaveSettings(nzbClubSettings); var omgwtfnzbsSettings = _indexerProvider.GetSettings(typeof(Omgwtfnzbs)); omgwtfnzbsSettings.Enable = data.OmgwtfnzbsEnabled; _indexerProvider.SaveSettings(omgwtfnzbsSettings); var nzbxSettings = _indexerProvider.GetSettings(typeof(Nzbx)); nzbxSettings.Enable = data.NzbxEnabled; _indexerProvider.SaveSettings(nzbxSettings); _configProvider.NzbsrusUId = data.NzbsrusUId; _configProvider.NzbsrusHash = data.NzbsrusHash; _configProvider.FileSharingTalkUid = data.FileSharingTalkUid; _configProvider.FileSharingTalkSecret = data.FileSharingTalkSecret; _configProvider.OmgwtfnzbsUsername = data.OmgwtfnzbsUsername; _configProvider.OmgwtfnzbsApiKey = data.OmgwtfnzbsApiKey; //Save the interval to config and immediately apply it the the job (to avoid a restart) _configProvider.RssSyncInterval = data.RssSyncInterval; var rssSyncJob = _jobProvider.GetDefinition(typeof(RssSyncJob)); rssSyncJob.Interval = data.RssSyncInterval; _jobProvider.SaveDefinition(rssSyncJob); try { if (data.NewznabDefinitions != null) { _newznabProvider.SaveAll(data.NewznabDefinitions); } } catch (Exception) { return(JsonNotificationResult.Oops("Invalid Nzbnab Indexer found, please check your settings")); } return(GetSuccessResult()); } return(GetInvalidModelResult()); }