Example #1
0
 public ActionResult CropProfileImage(ProfileImageCropInfoPM cropInfo)
 {
     UserProfileService.CropUserProfileImages(User.UserId, cropInfo);
     return(Json(new {
         status = "success",
         url = $"/user/service/getprofileimage/large/{Guid.NewGuid()}",
     }));
 }
        public void CropUserProfileImages(int userId, ProfileImageCropInfoPM cropInfo)
        {
            var originalImagePath   = AppFileManager.GetUserProfileImagePath(userId, ProfileImageSize.Original);
            var extension           = Path.GetExtension(originalImagePath);
            var largeImagePath      = AppFileManager.CalculateUserProfileImagePath(userId, ProfileImageSize.Large, extension);
            var mediumImagePath     = AppFileManager.CalculateUserProfileImagePath(userId, ProfileImageSize.Medium, extension);
            var smallImagePath      = AppFileManager.CalculateUserProfileImagePath(userId, ProfileImageSize.Small, extension);
            var sourceImageCropArea = cropInfo.GetSourceImageCropArea();

            AppFileManager.RemoveUserProfileImages(userId, ProfileImageSize.Large, ProfileImageSize.Medium, ProfileImageSize.Small);
            ImageHelper.CropImage(originalImagePath, sourceImageCropArea, new Size(300, 300), largeImagePath);
            ImageHelper.CropImage(originalImagePath, sourceImageCropArea, new Size(80, 80), mediumImagePath);
            ImageHelper.CropImage(originalImagePath, sourceImageCropArea, new Size(40, 40), smallImagePath);
            File.Delete(originalImagePath);
            ProfileBiz.SetUserProfile(userId, ProfileKeyValueType.IsProfileImageSet, "1");
            UnitOfWork.SaveChanges();
        }