/// <summary> /// Remove and image from a gallery. /// Delete the Image and GalleryImage record from database. /// Remove the image from the azure storage blob. /// </summary> public async Task OnPostDeleteImage() { await _art.RemoveImageFromGallery(PageToggles.GalleryId, PageToggles.ImageId); await _art.DeleteImage(PageToggles.ImageId); PageToggles.ActiveGalleryAdmin = true; await Refresh(); Redirect("/Art/ScottFalboArt"); }
/// <summary> /// Removes an image from a project and deletes the Image and ProjectImage records. /// Using BindProperties from view. /// </summary> public async Task OnPostDeleteImage() { await _admin.RemoveImageFromProject(PageToggles.ProjectId, PageToggles.ImageId); await _art.DeleteImage(PageToggles.ImageId); PageToggles.ActiveProjectAdmin = true; await Refresh(); Redirect("/Code/ScottFalboCode"); }
/// <summary> /// Delete a project from the database and remove image from azure blob storage /// </summary> /// <param name="id"> project id </param> /// <returns> no return </returns> public async Task DeleteProject(int id) { Project project = await _context.Projects.FindAsync(id); if (project.ProjectImages != null) { foreach (var image in project.ProjectImages) { await RemoveImageFromProject(id, image.Image.Id); await _art.DeleteImage(image.Image.Id); } foreach (var tech in project.Technologies) { await RemoveTechFromProject(id, tech.Technology.Id); } } _context.Entry(project).State = EntityState.Deleted; await _context.SaveChangesAsync(); }