public async Task <IActionResult> OnPostAsync(int id) { //判断是否已授权 var isAuthorized = User.IsInRole(Constants.ContactAdministratorsRole); if (!isAuthorized) { return(new ChallengeResult()); } //确认对应代码 sourceCodeForDisplay = _sourceCodeManager.FindSourceCode(id); if (sourceCodeForDisplay == null) { return(NotFound()); } //删除FileList中的记录 _detectManager.DeleteItemFromInitList(sourceCodeForDisplay.GetFileName()); //删除文件 FileInfo file = new FileInfo("SourceCodeData//" + sourceCodeForDisplay.GetFileName()); if (file.Exists) { file.Delete(); } //删除对应的数据库记录 await _sourceCodeManager.RemoveSourceCode(sourceCodeForDisplay); return(RedirectToPage("./Index")); }
public async Task GetSourceCodeForDisPlayAsync() { var SourceCodes = _sourceCodeManager.GetSourceCodeForDisPlays(); foreach (var item in SourceCodes) { if (item.ifExist) { sourceCodes_ForDisPlay.Add(item); } else { //如果对应的.cs文件不存在的话: 删除数据库记录,并且删除对应的FileList记录项 await _sourceCodeManager.RemoveSourceCode(item); _detectManager.DeleteItemFromInitList(item.GetFileName()); } } }