Beispiel #1
0
        public override async Task <IViewProviderResult> BuildUpdateAsync(WebApiSettings emailSettings, IViewProviderContext context)
        {
            var model = new WebApiSettingsViewModel();

            // Validate model
            if (!await context.Updater.TryUpdateModelAsync(model))
            {
                return(await BuildEditAsync(emailSettings, context));
            }

            // Update settings
            if (context.Updater.ModelState.IsValid)
            {
                // Update existing settings
                var settings = await _siteSettingsStore.GetAsync();

                if (settings != null)
                {
                    settings.ApiKey = model.ApiKey;
                }
                else
                {
                    // Create new settings
                    settings = new SiteSettings()
                    {
                        ApiKey = model.ApiKey
                    };
                }

                // Update settings
                var result = await _siteSettingsStore.SaveAsync(settings);
            }

            return(await BuildEditAsync(emailSettings, context));
        }
Beispiel #2
0
        public async Task <IActionResult> IndexPost(WebApiSettingsViewModel viewModel)
        {
            // Execute view providers ProvideUpdateAsync method
            await _viewProvider.ProvideUpdateAsync(new WebApiSettings(), this);

            // Add alert
            _alerter.Success(T["Settings Updated Successfully!"]);

            return(RedirectToAction(nameof(Index)));
        }