Beispiel #1
0
        public async Task DeleteImage(string id)
        {
            var res = await cloudinary.DeleteResourcesAsync(ResourceType.Image, id);

            if (res.DeletedCounts.Count == 0)
            {
                throw new Exception("Error on delete");
            }
        }
Beispiel #2
0
        public async Task <ActionResult> Delete(IFormCollection collection)
        {
            var id        = Convert.ToInt64(collection["ImageId"]);
            var image     = _databaseConnection.Images.Find(id);
            var imageFile = image.FilePath.Replace("/cloudmab/image/upload/v1517001994/", "");


            //upload image via Cloudinary API Call
            var account = new Account(
                new AppConfig().CloudinaryAccoutnName,
                new AppConfig().CloudinaryApiKey,
                new AppConfig().CloudinaryApiSecret);

            var cloudinary = new Cloudinary(account);
            var delParams  = new DelResParams
            {
                PublicIds = new List <string> {
                    imageFile
                },
                Invalidate = true
            };
            await cloudinary.DeleteResourcesAsync(delParams);

            var tags = _databaseConnection.ImageTags.Where(n => n.ImageId == image.ImageId);

            foreach (var item in tags)
            {
                _databaseConnection.ImageTags.RemoveRange(item);
            }
            var imageActions = _databaseConnection.ImageActions.Where(n => n.ImageId == image.ImageId);

            foreach (var item in imageActions)
            {
                _databaseConnection.ImageActions.RemoveRange(item);
            }
            var imageComments = _databaseConnection.ImageComments.Where(n => n.ImageId == image.ImageId);

            foreach (var item in imageComments)
            {
                _databaseConnection.ImageComments.RemoveRange(item);
            }
            var imageReports = _databaseConnection.ImageReports.Where(n => n.ImageId == image.ImageId);

            foreach (var item in imageReports)
            {
                _databaseConnection.ImageReports.RemoveRange(item);
            }

            _databaseConnection.Images.Remove(image);
            _databaseConnection.SaveChanges();


            //display notification
            TempData["display"]          = "You have successfully deleted the Image from your Library!";
            TempData["notificationtype"] = NotificationType.Success.ToString();
            return(RedirectToAction("Index"));
        }
        public async Task DeleteImages(params string[] publicIds)
        {
            var delParams = new DelResParams
            {
                PublicIds  = publicIds.ToList(),
                Invalidate = true
            };

            await cloudinary.DeleteResourcesAsync(delParams);
        }
Beispiel #4
0
        public async Task <string> DeleteImageAsync(string container, string fileName)
        {
            Cloudinary cloudinary = new Cloudinary();

            string publicId = String.Format("{0}/{1}", container, fileName);

            await cloudinary.DeleteResourcesAsync(publicId);

            return(fileName);
        }
Beispiel #5
0
 public async void DeleteImage(string publicId)
 {
     try
     {
         await _cloudinaryService.DeleteResourcesAsync(publicId);
     }
     catch (Exception e)
     {
         e.Message.ToString();
     }
 }
 public async Task DeleteAsync(string publicId)
 {
     var delParams = new DelResParams
     {
         ResourceType = ResourceType.Image,
         PublicIds    = new List <string>
         {
             publicId
         }
     };
     await cloudinary.DeleteResourcesAsync(delParams);
 }
Beispiel #7
0
    public async Task <DelResResult> DeleteResource(string publicId)
    {
        var delParams = new DelResParams()
        {
            PublicIds = new List <string>()
            {
                publicId
            },
            Invalidate = true
        };

        return(await _cloudinary.DeleteResourcesAsync(delParams));
    }
        public async Task DeleteImage(Cloudinary cloudinary, string name)
        {
            var delParams = new DelResParams()
            {
                PublicIds = new List <string>()
                {
                    name
                },
                Invalidate = true,
            };

            await cloudinary.DeleteResourcesAsync(delParams);
        }
Beispiel #9
0
        private async Task <bool> DeletePhotoAsync(PhotoModel photo)
        {
            try
            {
                await _cloudinary.DeleteResourcesAsync(photo.PublicId);

                _unitOfWork.Photos.Delete(photo);

                return(true);
            }
            catch (Exception)
            {
                return(false);
            }
        }
Beispiel #10
0
        public async Task <string> DeletePost(NewPostDTO deletePost)
        {
            Account account = new Account(
                "doua5pgdi",
                "696442329793211",
                "7eVrRtWC2xJ68tiNIAmBPb93bOU");

            Cloudinary   cloudinary = new Cloudinary(account);
            DelResParams delRes     = new DelResParams()
            {
                PublicIds = deletePost.Images.Where(i => i.Url != null).Select(i => i.Url.Split('/').Last()).ToList()
            };

            DelResResult results = await cloudinary.DeleteResourcesAsync(delRes);

            return(await postService.DeletePost(deletePost));
        }
Beispiel #11
0
        public async Task <Image> UploadProfilePictureAsync(string name, Stream stream, string publicIdToDelete)
        {
            // think a little how can make this method better
            var cloudinary   = new Cloudinary(account);
            var uploadParams = new ImageUploadParams()
            {
                File = new FileDescription(name, stream)
            };

            if (publicIdToDelete != "Facebook-no-profile-picture-icon-620x389_hwyvki")
            {
                await cloudinary.DeleteResourcesAsync(publicIdToDelete);
            }
            var img = await cloudinary.UploadAsync(uploadParams);

            var image = new Image
            {
                ProfilePictureUrl      = img.Uri.ToString(),
                ProfilePicturePublicId = img.PublicId
            };

            return(image);
        }
Beispiel #12
0
 /// <summary>
 /// Deletes file from Cloudinary
 /// </summary>
 /// <param name="publicId">Public identifier of resource</param>
 public async Task DeleteFileAsync(string publicId)
 {
     await _cloudinary.DeleteResourcesAsync(publicId);
 }
 public async Task DeleteImageAsync(string publicId) =>
 await _cloudinary.DeleteResourcesAsync(new DelResParams { PublicIds = new List <string>(new[] { publicId }) },
                                        _cancellationToken);
        public async Task <DelResResult> DeleteImage(string publicId)
        {
            var result = await _cloudinary.DeleteResourcesAsync(ResourceType.Image, publicId);

            return(result);
        }
Beispiel #15
0
        public async Task <DelResResult> DeletePhotoFromCloudinary(string publicPhotoId)
        {
            var result = await _cloudinary.DeleteResourcesAsync(ResourceType.Image, new string[] { publicPhotoId });

            return(result);
        }
Beispiel #16
0
        public async Task <ActionResult> RejectImage(IFormCollection collection)
        {
            var id    = Convert.ToInt64(collection["ImageId"]);
            var image = _databaseConnection.Images.Find(id);
            //customize user object to sent email to user
            var appUser = new AppUserFactory().GetAllUsers(new AppConfig().FetchUsersUrl)
                          .Result.Single(n => n.AppUserId == image.AppUserId);

            appUser.Biography   = collection["Reason"];
            appUser.DateCreated = image.DateCreated;
            appUser.Address     = image.Title;

            //upload image via Cloudinary API Call
            var account = new Account(
                new AppConfig().CloudinaryAccoutnName,
                new AppConfig().CloudinaryApiKey,
                new AppConfig().CloudinaryApiSecret);

            var cloudinary = new Cloudinary(account);
            var delParams  = new DelResParams
            {
                PublicIds = new List <string> {
                    image.FileName
                },
                Invalidate = true
            };
            await cloudinary.DeleteResourcesAsync(delParams);

            var tags = _databaseConnection.ImageTags.Where(n => n.ImageId == image.ImageId);

            foreach (var item in tags)
            {
                _databaseConnection.ImageTags.RemoveRange(item);
            }
            var imageActions = _databaseConnection.ImageActions.Where(n => n.ImageId == image.ImageId);

            foreach (var item in imageActions)
            {
                _databaseConnection.ImageActions.RemoveRange(item);
            }
            var imageComments = _databaseConnection.ImageComments.Where(n => n.ImageId == image.ImageId);

            foreach (var item in imageComments)
            {
                _databaseConnection.ImageComments.RemoveRange(item);
            }
            var imageReports = _databaseConnection.ImageReports.Where(n => n.ImageId == image.ImageId);

            foreach (var item in imageReports)
            {
                _databaseConnection.ImageReports.RemoveRange(item);
            }

            _databaseConnection.Images.Remove(image);
            _databaseConnection.SaveChanges();


            //display notification
            TempData["display"]          = "You have successfully removed the image from the platform!";
            TempData["notificationtype"] = NotificationType.Success.ToString();
            return(RedirectToAction("Index"));
        }
Beispiel #17
0
        public async Task <ActionResult> ApproveOrRejectImage(long id, string status)
        {
            var signedInUserId = Convert.ToInt64(HttpContext.Session.GetString("StudioLoggedInUserId"));
            var image          = _databaseConnection.Images.Find(id);

            if (status == ImageStatus.Accepted.ToString())
            {
                image.Status = ImageStatus.Accepted.ToString();
            }
            if (status == ImageStatus.Rejected.ToString())
            {
                image.Status = ImageStatus.Rejected.ToString();
            }
            var imageFile = "https://res.cloudinary.com/" + image.FilePath;


            //upload image via Cloudinary API Call
            var account = new Account(
                new AppConfig().CloudinaryAccoutnName,
                new AppConfig().CloudinaryApiKey,
                new AppConfig().CloudinaryApiSecret);

            var cloudinary = new Cloudinary(account);
            var delParams  = new DelResParams
            {
                PublicIds = new List <string> {
                    imageFile
                },
                Invalidate = true
            };
            await cloudinary.DeleteResourcesAsync(delParams);

            var tags = _databaseConnection.ImageTags.Where(n => n.ImageId == image.ImageId);

            foreach (var item in tags)
            {
                _databaseConnection.ImageTags.RemoveRange(item);
            }
            var imageActions = _databaseConnection.ImageActions.Where(n => n.ImageId == image.ImageId);

            foreach (var item in imageActions)
            {
                _databaseConnection.ImageActions.RemoveRange(item);
            }
            var imageComments = _databaseConnection.ImageComments.Where(n => n.ImageId == image.ImageId);

            foreach (var item in imageComments)
            {
                _databaseConnection.ImageComments.RemoveRange(item);
            }
            var imageReports = _databaseConnection.ImageReports.Where(n => n.ImageId == image.ImageId);

            foreach (var item in imageReports)
            {
                _databaseConnection.ImageReports.RemoveRange(item);
            }

            _databaseConnection.Entry(image).State = EntityState.Modified;
            _databaseConnection.SaveChanges();

            image.DateLastModified = DateTime.Now;
            image.LastModifiedBy   = signedInUserId;
            _databaseConnection.Entry(image).State = EntityState.Modified;
            _databaseConnection.SaveChanges();

            //display notification
            TempData["display"]          = "You have successfully " + image.Status + " the image!";
            TempData["notificationtype"] = NotificationType.Success.ToString();
            return(RedirectToAction("Index"));
        }