public JsonResult GetPhoto()
        {
            DisplayPhoto panelPhoto = new DisplayPhoto();
            Photo photo = _photoRepository.FindRecent(30).First();

            panelPhoto.DisplayWidth = 100;
            panelPhoto.DisplayHeight = 100;
            panelPhoto.X = 0;
            panelPhoto.Y = 0;
            panelPhoto.Id = photo.PhotoId;

            return Json(panelPhoto, JsonRequestBehavior.AllowGet);
        }
        /// <summary>
        /// This method takes the list of original photos and creates a parallel copy of it for sending to view. 
        /// It also comes up with a display size based on prefernce and some random jitter.
        /// </summary>
        private void CreateDisplayPhotosAndJitter(IQueryable<Photo> originalPhotos, List<DisplayPhoto> photosForDisplay)
        {
            Random jitter = new Random();

            foreach (Photo originalPhoto in originalPhotos)
            {
                DisplayPhoto displayPhoto = new DisplayPhoto();
                displayPhoto.TranslatePhotoToDisplayPhoto(originalPhoto);

                float maxEdge = (float)Settings.Default.SmallEdge / (float)(originalPhoto.Preference + jitter.NextDouble());
                displayPhoto.DisplayWidth = originalPhoto.Aspect > 1 ? (int)maxEdge : (int) (maxEdge * originalPhoto.Aspect);
                displayPhoto.DisplayHeight = originalPhoto.Aspect > 1 ? (int)(maxEdge / originalPhoto.Aspect) : (int)maxEdge;

                displayPhoto.PathToThumb = originalPhoto.PathToSmallThumb;

                photosForDisplay.Add(displayPhoto);
                // X and Y will be calculated by Layout method.
            }
        }