public void Update(long imageId, HttpPostedFileBase image, string caption)
        {
            try
            {
                var i = _ir.Find(imageId);
                if (i == null)
                {
                    return;
                }
                i.Caption = caption;

                if (image != null)
                {
                    var temp = System.Drawing.Image.FromStream(image.InputStream);
                    var ms   = new MemoryStream();
                    temp.Save(ms, ImageFormat.Png);
                    var data = ms.ToArray();

                    var myCallback = new System.Drawing.Image.GetThumbnailImageAbort(ThumbnailCallback);
                    var thumbNail  = temp.GetThumbnailImage(16, 16, myCallback, IntPtr.Zero);
                    thumbNail.Save(ms, ImageFormat.Png);
                    i.Thumbnail = ms.ToArray();

                    var ri = _rir.Find(imageId);
                    if (ri == null)
                    {
                        return;
                    }
                    ri.FileName = image.FileName;
                    ri.MIMEType = "image/png";
                    ri.Data     = data;

                    _rir.Update(ri);
                }

                _ir.Update(i);
            }
            catch (Exception ex)
            {
                Log.Error(ex.Message, ex);
            }
        }