public ActionResult Delete(long?parentId, long id) { var language = _languageRepository.GetById(id); //ensure we have at least one published language var allLanguages = _languageService.GetAllLanguages(); if (allLanguages.Count == 1 && allLanguages[0].Id == language.Id) { ModelState.AddModelError("Language", _localizationService.GetResource("Language.PublishedLanguageRequired")); } if (!_languageService.IsDeactivable(language)) { ModelState.AddModelError("Language", _localizationService.GetResource("Common.NotDeactivable")); } if (ModelState.IsValid) { //soft delete _languageService.Deactivate(language); _languageService.UpdateLanguage(language); //notification SuccessNotification(_localizationService.GetResource("Record.Deleted")); return(new NullJsonResult()); } else { return(Json(new { Errors = ModelState.SerializeErrors() })); } }