public static void MediaFile_Insert_Before(object sender, ObjectEventArgs e)
        {
            MediaOptimizer optimizer = new MediaOptimizer();

            if (e.Object != null)
            {
                if (e.Object is MediaFileInfo)
                {
                    var image = (MediaFileInfo)e.Object;
                    if (image != null)
                    {
                        image.FileTitle = image.FileName.ToUpper();
                        IOptimizerResult result = null;
                        result = optimizer.Process(image);

                        if (result != null && result.OptimizedBytes != null && result.OptimizedBytes.Length > 0)
                        {
                            image.FileBinary = result.OptimizedBytes;
                            image.FileSize   = result.OptimizedBytes.Length;
                        }
                    }
                    return;
                }

                if (e.Object is AttachmentInfo)
                {
                    var image = (AttachmentInfo)e.Object;
                    if (image != null)
                    {
                        image.AttachmentTitle = image.AttachmentName.ToUpper();
                        IOptimizerResult result = null;
                        result = optimizer.Process(image);

                        if (result != null && result.OptimizedBytes != null && result.OptimizedBytes.Length > 0)
                        {
                            image.AttachmentBinary = result.OptimizedBytes;
                            image.AttachmentSize   = result.OptimizedBytes.Length;
                        }
                    }
                    return;
                }
            }
        }
        public static void MediaFile_Insert_Before(object sender, ObjectEventArgs e)
        {
            MediaOptimizer optimizer = new MediaOptimizer();
            if (e.Object != null)
            {
                if (e.Object is MediaFileInfo)
                {
                    var image = (MediaFileInfo) e.Object;
                    if (image != null)
                    {
                        image.FileTitle = image.FileName.ToUpper();
                        IOptimizerResult result = null;
                        result = optimizer.Process(image);

                        if (result != null && result.OptimizedBytes != null && result.OptimizedBytes.Length > 0)
                        {
                            image.FileBinary = result.OptimizedBytes;
                            image.FileSize = result.OptimizedBytes.Length;
                        }
                    }
                    return;
                }

                if (e.Object is AttachmentInfo)
                {
                    var image = (AttachmentInfo)e.Object;
                    if (image != null)
                    {
                        image.AttachmentTitle = image.AttachmentName.ToUpper();
                        IOptimizerResult result = null;
                        result = optimizer.Process(image);

                        if (result != null && result.OptimizedBytes != null && result.OptimizedBytes.Length > 0)
                        {
                            image.AttachmentBinary = result.OptimizedBytes;
                            image.AttachmentSize = result.OptimizedBytes.Length;
                        }
                    }
                    return;
                }
            }
        }
		public OptimizingMediaCache(MediaOptimizer optimizer)
		{
			_optimizer = optimizer;
		}
 public OptimizingMediaCache(MediaOptimizer optimizer)
 {
     _optimizer = optimizer;
 }