BetterCms.Module.MediaManager.Services.DefaultMediaImageService.MoveToHistory C# (CSharp) Method

MoveToHistory() public method

Moves current original image to history.
public MoveToHistory ( BetterCms.Module.MediaManager.Models.MediaImage originalImage ) : BetterCms.Module.MediaManager.Models.MediaImage
originalImage BetterCms.Module.MediaManager.Models.MediaImage The current original image.
return BetterCms.Module.MediaManager.Models.MediaImage
        public MediaImage MoveToHistory(MediaImage originalImage)
        {
            var clonnedOriginalImage = (MediaImage)originalImage.Clone();
            clonnedOriginalImage.Original = originalImage;

            var historicalFileName = MediaImageHelper.CreateHistoricalVersionedFileName(
                                originalImage.OriginalFileName,
                                originalImage.OriginalFileExtension);

            var folderName = Path.GetFileName(Path.GetDirectoryName(originalImage.FileUri.OriginalString));

            using (var originalFileStream = DownloadFileStream(clonnedOriginalImage.PublicUrl))
            {
                using (var originalThumbnailFileStream = DownloadFileStream(clonnedOriginalImage.PublicThumbnailUrl))
                {
                    mediaImageVersionPathService.SetPathForArchive(clonnedOriginalImage, folderName, historicalFileName);

                    unitOfWork.BeginTransaction();
                    repository.Save(clonnedOriginalImage);
                    unitOfWork.Commit();

                    StartTasksForImage(clonnedOriginalImage, originalFileStream, originalThumbnailFileStream, originalImage.IsEdited());
                }
            }
            return clonnedOriginalImage;
        }