public ImageDetailedViewModel BuildDetailed(Image image)
        {
            if (image == null)
            {
                throw new ArgumentNullException("image");
            }

            var result = new ImageDetailedViewModel();
            result.Key = image.Key;
            result.Name = image.Name;
            result.Rate = image.Rate;
            result.AlbumName = image.Album.Name;
            result.UploadDate = image.UploadDate;
            result.UserName = string.Format(
                "{0} {1}",
                image.Owner.UserProfile.FirstName,
                image.Owner.UserProfile.LastName);
            return result;
        }
        public PartialViewResult DetailedView(int? imageKey)
        {
            var result = new ImageDetailedViewModel();
            if (imageKey.HasValue)
            {
                try
                {
                    Image image = this._imageAlbumService.GetImageByKey(imageKey.Value);
                    if (image != null)
                    {
                        result = this._imageMapper.BuildDetailed(image);
                    }
                }
                catch (Exception ex)
                {
                    this.TempData[Constants.TempDataErrorMessage] = ex.Message;
                    return this.PartialView("_ErrorModal");
                }
            }

            return this.PartialView("_NavigationBarDetailedView", result);
        }