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;
}