public async Task <IActionResult> ValidateChapterDetailDelete(string id) { if (string.IsNullOrEmpty(id)) { return(StatusCode((int)HttpStatusCode.BadRequest)); } AikaChapterDetail detail = await _chapterDetailDbAccess.GetChapterDetailById(id); ChapterDetailDeleteValidationResult validationResult = new ChapterDetailDeleteValidationResult(); validationResult.CanBeDeleted = true; if ((detail.Finish != null && detail.Finish.Count > 0) || (detail.Detail != null && detail.Detail.Count > 0) || (detail.Quest != null && detail.Quest.Count > 0) || (detail.AllDone != null && detail.AllDone.Count > 0)) { bool isDetailView = string.IsNullOrEmpty(detail.ChapterId); bool canBeDeleted = false; if (isDetailView) { canBeDeleted = await _chapterDetailDbAccess.DetailUsedInNodesCount(id, string.Empty) > 1; } if (!canBeDeleted) { validationResult.CanBeDeleted = false; validationResult.ErrorMessage = isDetailView ? _localizer["CanNotDeleteNonEmptyChapterDetail"].Value : _localizer["CanNotDeleteNonEmptyChapter"].Value; } } return(Ok(validationResult)); }