public IActionResult DeleteProjectVersion(Guid projectId, string version) { ViewData["Section"] = "Admin"; var project = _context.DocumentationProjects.FirstOrDefault(p => p.Id == projectId); if (project == null) { return(NotFound()); } var model = new DeleteProjectVersionViewModel { ConfirmDelete = false, ProjectId = projectId, ProjectName = project.Name, Version = version }; return(View(model)); }
public async Task <IActionResult> DeleteProjectVersion(Guid projectId, string version, DeleteProjectVersionViewModel model) { ViewData["Section"] = "Admin"; if (!model.ConfirmDelete) { ModelState.AddModelError(nameof(model.ConfirmDelete), "Please confirm the deletion by checking the checkbox."); } if (!ModelState.IsValid) { return(View(model)); } var documentationProject = _context.DocumentationProjects.FirstOrDefault(project => project.Id == model.ProjectId); if (documentationProject == null) { return(NotFound()); } var deletionResult = await _projectFilesService.DeleteProjectVersionPackageAsync(documentationProject.Id, model.Version); if (!deletionResult) { ModelState.AddModelError("Error", "Could not delete project version."); return(View(model)); } ViewBag.SuccessMessage = $"Deleted project version {documentationProject.Name}."; return(RedirectToAction(nameof(Index))); }