public void Delete(Photo photo)
        {
            foreach (var comment in photo.Comments)
            {
                _entities.Comments.DeleteObject(comment);
            }

            _entities.Photos.DeleteObject(photo);
        }
 /// <summary>
 /// Deprecated Method for adding a new object to the Photos EntitySet. Consider using the .Add method of the associated ObjectSet&lt;T&gt; property instead.
 /// </summary>
 public void AddToPhotos(Photo photo)
 {
     base.AddObject("Photos", photo);
 }
 /// <summary>
 /// Create a new Photo object.
 /// </summary>
 /// <param name="photoId">Initial value of the PhotoId property.</param>
 /// <param name="dateUploaded">Initial value of the DateUploaded property.</param>
 /// <param name="dateTaken">Initial value of the DateTaken property.</param>
 /// <param name="preference">Initial value of the Preference property.</param>
 /// <param name="pathToSmallThumb">Initial value of the PathToSmallThumb property.</param>
 /// <param name="pathToMediumThumb">Initial value of the PathToMediumThumb property.</param>
 /// <param name="pathToOriginalFile">Initial value of the PathToOriginalFile property.</param>
 public static Photo CreatePhoto(global::System.Int32 photoId, global::System.DateTime dateUploaded, global::System.DateTime dateTaken, global::System.Int32 preference, global::System.String pathToSmallThumb, global::System.String pathToMediumThumb, global::System.String pathToOriginalFile)
 {
     Photo photo = new Photo();
     photo.PhotoId = photoId;
     photo.DateUploaded = dateUploaded;
     photo.DateTaken = dateTaken;
     photo.Preference = preference;
     photo.PathToSmallThumb = pathToSmallThumb;
     photo.PathToMediumThumb = pathToMediumThumb;
     photo.PathToOriginalFile = pathToOriginalFile;
     return photo;
 }
        public ActionResult UploadPhoto(HttpPostedFileBase file)
        {
            // If no content was recieved then just return the same view again.
              if (file.ContentLength == 0)
              {
            return View("UploadPhoto");
              }

              PathSet pathSet = new PathSet();
              PopulatePaths(pathSet, file.FileName);

              file.SaveAs(pathSet.originalFileLocal);

              // Create thumbnails.
              CreateThumbnailForImage(pathSet.mediumThumbLocal, pathSet.originalFileLocal, Settings.Default.MediumEdge, CompositingQuality.HighSpeed);
              CreateThumbnailForImage(pathSet.smallThumbLocal, pathSet.originalFileLocal, Settings.Default.SmallEdge, CompositingQuality.HighQuality);

              // Create a photo object, prepopulate it with some default values and save to DB. This will prevent us from creating orphan
              // image files in case something goes wrong with the edit photo data page later.
              Photo photo = new Photo();

              // prepopulate photo with public paths, which are what we need to use later.
              photo.PathToOriginalFile = pathSet.originalFilePublic;
              photo.PathToMediumThumb = pathSet.mediumThumbPublic;
              photo.PathToSmallThumb = pathSet.smallThumbPublic;

              // Find out size and store the details.
              Image original = Image.FromFile(pathSet.originalFileLocal);
              photo.Width = original.Width;
              photo.Height = original.Height;
              photo.Aspect = (float)photo.Width / (float)photo.Height;

              // Dates and preference.
              TimeSpan typicalProcessingTime = TimeSpan.FromDays(Properties.Settings.Default.TypicalProcessingTimeInDays);
              photo.DateTaken = DateTime.Today.Subtract(typicalProcessingTime);
              photo.DateUploaded = DateTime.Today;
              photo.Preference = Settings.Default.DefaultPreference;

              // TODO: run a validation.
              ValidateModel(photo);

              // save
              _photoRepository.Add(photo);
              _photoRepository.Save();

              // Now to user-supplied metadata.
              return RedirectToAction("EditPhotoData", new { photoId = photo.PhotoId });
        }
 public void Add(Photo photo)
 {
     _entities.Photos.AddObject(photo);
 }
        public void TranslatePhotoToDisplayPhoto(Photo photo)
        {
            this.Id = photo.PhotoId;
            this.Aspect = (float)photo.Aspect;
            this.Tags = photo.Tags;
            this.PathToOriginal = photo.PathToOriginalFile;
            this.PathToMedium = photo.PathToMediumThumb;
            this.Title = photo.Title;
            this.DateUploaded = photo.DateUploaded;

            // Best effort initialization. These should be changed by code.
            this.DisplayHeight = (int)photo.Height;
            this.DisplayWidth = (int)photo.Width;
            this.X = 0;
            this.Y = 0;
            this.PathToThumb = photo.PathToSmallThumb;
        }