Пример #1
0
        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));
        }
        public ActionResult ConfigurePost(MailChimpSettingsModel model)
        {
            string saveResult = "";

            if (ModelState.IsValid)
            {
                _settings.DefaultListId = model.DefaultListId;
                _settings.ApiKey        = model.ApiKey.TrimSafe();
                _settings.WebHookKey    = model.WebHookKey.TrimSafe();

                _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("Plugins.Misc.MailChimp.AutoSyncRestart");
            }

            model = PrepareModel();
            //set result text
            model.SaveResult = saveResult;

            return(RedirectToConfiguration("SmartStore.MailChimp"));
        }
Пример #3
0
        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]
                });
            }
        }
Пример #4
0
        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);
        }