示例#1
0
        /// <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");
        }
示例#2
0
        /// <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");
        }
示例#3
0
        /// <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();
        }