public ActionResult Index(MailChimpSettingsModel model) { string saveResult = ""; if (ModelState.IsValid) { _settings.DefaultListId = model.DefaultListId; _settings.ApiKey = model.ApiKey; _settings.WebHookKey = model.WebHookKey; _settingService.SaveSetting(_settings); } // Update the task var task = FindScheduledTask(); if (task != null) { task.Enabled = model.AutoSync; task.Seconds = model.AutoSyncEachMinutes*60; _scheduleTaskService.UpdateTask(task); saveResult = _localizationService.GetResource("Plugin.Misc.MailChimp.AutoSyncRestart"); } model = PrepareModel(); //set result text model.SaveResult = saveResult; return View(VIEW_PATH, model); }
private void MapListOptions(MailChimpSettingsModel model) { NameValueCollection listOptions = _mailChimpApiService.RetrieveLists(); //Ensure there will not be duplicates model.ListOptions.Clear(); foreach (string key in listOptions.AllKeys) { model.ListOptions.Add(new SelectListItem { Text = key, Value = listOptions[key] }); } }
private MailChimpSettingsModel PrepareModel() { var model = new MailChimpSettingsModel(); //Set the properties model.ApiKey = _settings.ApiKey; model.DefaultListId = _settings.DefaultListId; model.WebHookKey = _settings.WebHookKey; ScheduleTask task = FindScheduledTask(); if (task != null) { model.AutoSyncEachMinutes = task.Seconds / 60; model.AutoSync = task.Enabled; } //Maps the list options MapListOptions(model); return model; }