public async Task <IActionResult> Edit(LicenseModel model, bool continueEditing) { if (!await _permissionService.AuthorizeAsync(StandardPermissionProvider.ManagePlugins)) { return(AccessDeniedView()); } var license = await _licenseService.GetLicenseById(model.Id); if (license == null) { return(RedirectToAction("Configure")); } if (ModelState.IsValid) { try { license = model.ToEntity(license); await _licenseService.UpdateLicense(license); await _userActivityService.InsertActivityAsync("EditLicense", $"Edited license (ID = {model.Id})"); _notificationService.SuccessNotification("License has been updated successfully."); if (!continueEditing) { return(RedirectToAction("Configure")); } return(RedirectToAction("Edit", new { id = model.Id })); } catch (Exception ex) { _notificationService.ErrorNotification(ex.Message); } } model = await _licenseModelFactory.PrepareLicenseModel(model, license, true); return(View(ViewNames.Edit, model)); }
public async Task <IActionResult> Create(LicenseModel model, bool continueEditing) { if (!await _permissionService.AuthorizeAsync(StandardPermissionProvider.ManagePlugins)) { return(AccessDeniedView()); } var licenseError = await ValidateLicense(model); if (!string.IsNullOrEmpty(licenseError)) { ModelState.AddModelError(string.Empty, licenseError); _notificationService.ErrorNotification(licenseError); } if (ModelState.IsValid) { try { var license = model.ToEntity <License>(); await _licenseService.InsertLicense(license); await _userActivityService.InsertActivityAsync("AddNewLicense", $"Added a new license (ID = {license.Id})"); _notificationService.SuccessNotification("The new license has been added successfully."); if (!continueEditing) { return(RedirectToAction("Configure")); } return(RedirectToAction("Edit", new { id = license.Id })); } catch (Exception ex) { _notificationService.ErrorNotification(ex.Message); } } model = await _licenseModelFactory.PrepareLicenseModel(model, null, true); return(View(ViewNames.Create, model)); }