public ImageEditViewModel BuildEdit(Image image)
 {
     if (image == null)
     {
         throw new ArgumentNullException("image");
     }
     var result = new ImageEditViewModel();
     result.Name = image.Name;
     result.Description = image.Description;
     result.Key = image.Key;
     return result;
 }
        public ActionResult RemoveImage(ImageEditViewModel viewModel)
        {
            bool result = false;
            if (viewModel != null)
            {
                try
                {
                    Image image = this._imageAlbumService.GetImageByKey(viewModel.Key);
                    if (image != null)
                    {
                        result = this._imageAlbumService.RemoveImage(image);
                    }
                    else
                    {
                        this.TempData[Constants.TempDataErrorMessage] = "Image is missing.";
                        return this.PartialView("_ErrorModal");
                    }
                }
                catch (Exception ex)
                {
                    this.TempData[Constants.TempDataErrorMessage] = ex.Message;
                    return this.PartialView("_ErrorModal");
                }
            }
            else
            {
                this.TempData[Constants.TempDataErrorMessage] = "Image is missing.";
                return this.PartialView("_ErrorModal");
            }
            if (result)
            {
                return this.Json(new { success = result });
            }

            return this.PartialView("_Success");
        }
        public void UpdateImage(Image image, ImageEditViewModel viewModel)
        {
            if (image == null)
            {
                throw new ArgumentNullException("image");
            }

            if (viewModel == null)
            {
                throw new ArgumentNullException("viewModel");
            }

            image.Name = viewModel.Name;
            image.Description = viewModel.Description;
        }
        public ActionResult EditImage(int? albumKey, int? imageKey, ImageEditViewModel viewModel)
        {
            bool result = false;
            int key;
            if (!int.TryParse(ViewBag.Key, out key))
            {
                key = -1;
            }

            if (this.ModelState.IsValid && viewModel != null)
            {
                try
                {
                    User owner = this._membershipService.GetUserByKey(key);
                    Album album = this._imageAlbumService.GetAlbumByKey(albumKey.Value);
                    Image sourceImage = this._imageAlbumService.GetImageByKey(imageKey.Value);
                    if (sourceImage != null)
                    {
                        this._imageMapper.UpdateImage(sourceImage, viewModel);
                        this._imageAlbumService.UpdateImage(owner, album, sourceImage);
                    }

                    result = true;
                }
                catch (Exception)
                {
                    this.ModelState.AddModelError(string.Empty, Resources.Resources.OperationFailure);
                }
            }
            else
            {
                this.ModelState.AddModelError(string.Empty, Resources.Resources.OperationFailure);
            }

            if (result)
            {
                return this.Json(new { success = result });
            }

            return this.PartialView("_EditImage", viewModel);
        }