/// <returns>A task that represents the asynchronous operation</returns> public virtual async Task <IActionResult> Create(EmailAccountModel model, bool continueEditing) { if (!await _permissionService.AuthorizeAsync(StandardPermissionProvider.ManageEmailAccounts)) { return(AccessDeniedView()); } if (ModelState.IsValid) { var emailAccount = model.ToEntity <EmailAccount>(); //set password manually emailAccount.Password = model.Password; await _emailAccountService.InsertEmailAccountAsync(emailAccount); //activity log await _customerActivityService.InsertActivityAsync("AddNewEmailAccount", string.Format(await _localizationService.GetResourceAsync("ActivityLog.AddNewEmailAccount"), emailAccount.Id), emailAccount); _notificationService.SuccessNotification(await _localizationService.GetResourceAsync("Admin.Configuration.EmailAccounts.Added")); return(continueEditing ? RedirectToAction("Edit", new { id = emailAccount.Id }) : RedirectToAction("List")); } //prepare model model = await _emailAccountModelFactory.PrepareEmailAccountModelAsync(model, null, true); //if we got this far, something failed, redisplay form return(View(model)); }