public override async Task <IViewProviderResult> BuildUpdateAsync(PlatoSiteSettings settings, IViewProviderContext context) { var model = new PlatoSiteSettingsViewModel(); // Validate model if (!await context.Updater.TryUpdateModelAsync(model)) { return(await BuildEditAsync(settings, context)); } // Update settings if (context.Updater.ModelState.IsValid) { // Create the model settings = new PlatoSiteSettings() { HostUrl = model.HostUrl, DemoUrl = model.DemoUrl, PlatoDesktopUrl = model.PlatoDesktopUrl }; // Persist the settings var result = await _platoSiteSettingsStore.SaveAsync(settings); if (result != null) { // Recycle shell context to ensure changes take effect _platoHost.RecycleShell(_shellSettings); } } return(await BuildEditAsync(settings, context)); }
public async Task <IActionResult> IndexPost(PlatoSiteSettingsViewModel viewModel) { // Execute view providers ProvideUpdateAsync method await _viewProvider.ProvideUpdateAsync(new PlatoSiteSettings(), this); // Add alert _alerter.Success(T["Settings Updated Successfully!"]); // Redirect to success return(RedirectToAction(nameof(Index))); }
public async Task <IActionResult> IndexPost(PlatoSiteSettingsViewModel viewModel) { // Ensure we have permission //if (!await _authorizationService.AuthorizeAsync(User, Permissions.EditTwitterSettings)) //{ // return Unauthorized(); //} // Execute view providers ProvideUpdateAsync method await _viewProvider.ProvideUpdateAsync(new PlatoSiteSettings(), this); // Add alert _alerter.Success(T["Settings Updated Successfully!"]); // Reidrect to success return(RedirectToAction(nameof(Index))); }