public async Task <IActionResult> Delete(LanguageModel model)
        {
            if (model.Id == 0)
            {
                return(RedirectToAction(nameof(Index)));
            }

            var result = await _languageService.DeleteLanguageAsync(model.ToEntity());

            if (result)
            {
                SuccessNotification(await _localizationService.GetResourceAsync("Language.Deleted"));
            }

            return(RedirectToAction(nameof(Index)));
        }
Example #2
0
        public virtual async Task <IActionResult> Delete(int id)
        {
            if (!await _permissionService.AuthorizeAsync(StandardPermissionProvider.ManageLanguages))
            {
                return(AccessDeniedView());
            }

            //try to get a language with the specified id
            var language = await _languageService.GetLanguageByIdAsync(id);

            if (language == null)
            {
                return(RedirectToAction("List"));
            }

            //ensure we have at least one published language
            var allLanguages = await _languageService.GetAllLanguagesAsync();

            if (allLanguages.Count == 1 && allLanguages[0].Id == language.Id)
            {
                _notificationService.ErrorNotification(await _localizationService.GetResourceAsync("Admin.Configuration.Languages.PublishedLanguageRequired"));
                return(RedirectToAction("Edit", new { id = language.Id }));
            }

            //delete
            await _languageService.DeleteLanguageAsync(language);

            //activity log
            await _customerActivityService.InsertActivityAsync("DeleteLanguage",
                                                               string.Format(await _localizationService.GetResourceAsync("ActivityLog.DeleteLanguage"), language.Id), language);

            //notification
            _notificationService.SuccessNotification(await _localizationService.GetResourceAsync("Admin.Configuration.Languages.Deleted"));
            _notificationService.WarningNotification(await _localizationService.GetResourceAsync("Admin.Configuration.Languages.NeedRestart"));

            return(RedirectToAction("List"));
        }