/// <summary>
 /// Create a new Picture object.
 /// </summary>
 /// <param name="pictureId">Initial value of the PictureId property.</param>
 /// <param name="source">Initial value of the Source property.</param>
 /// <param name="pictureOwner">Initial value of the PictureOwner property.</param>
 public static Picture CreatePicture(global::System.Int32 pictureId, global::System.Byte[] source, global::System.Int32 pictureOwner)
 {
     Picture picture = new Picture();
     picture.PictureId = pictureId;
     picture.Source = source;
     picture.PictureOwner = pictureOwner;
     return picture;
 }
        public ViewResult EditPicture(EditPictureModel model)
        {
            if (ModelState.IsValid)
            {
                var picture = new Picture
                                  {
                                      PictureId = model.PictureId,
                                      Camera = model.Camera,
                                      Description = model.Description,
                                      Flash = model.Flash,
                                      Diaphragm = model.Diaphragm,
                                      FocalDistance = model.FocalDistance,
                                      ISO = model.ISO,
                                      RecordingDate = model.RecordingDate,
                                      RecordingPlace = model.RecordingPlace,
                                      ShutterSpeed = model.ShutterSpeed
                                  };
                var newAlbomList = new List<int>();
                foreach (var albom in model.AlbomList)
                {
                    if (albom.HasCurrentPicture)
                    {
                        newAlbomList.Add(albom.AlbomId);
                    }
                }

                unitOfWork.PictureRepository.UpdatePicture(picture, newAlbomList);
                unitOfWork.PictureRepository.Save();
            }

            return View(model);
        }
 /// <summary>
 /// Deprecated Method for adding a new object to the Pictures EntitySet. Consider using the .Add method of the associated ObjectSet&lt;T&gt; property instead.
 /// </summary>
 public void AddToPictures(Picture picture)
 {
     base.AddObject("Pictures", picture);
 }
        public ActionResult Post(PictureUpload pictureUpload)
        {
            if (!ModelState.IsValid || !ConfigurationManager.CanLoadPictures)
            {
                if (!ConfigurationManager.CanLoadPictures)
                {
                    ModelState.AddModelError("", "You've got a picture limit!");
                }
                return View("AddPicture", pictureUpload);
            }

            //--Create a new image to be added to the database
            var source = pictureUpload.PostedFileToArrayOfBytes(pictureUpload.Photo);
            //Read picture's metadata
            var properties = PictureHelper.GetPictureMetadata(source);
            var newPicture = new Picture()
                                 {
                                     Source = pictureUpload.PostedFileToArrayOfBytes(pictureUpload.Photo),
                                     MiniPicture = (pictureUpload.MiniPhoto == null) ? null : pictureUpload.PostedFileToArrayOfBytes(pictureUpload.MiniPhoto),
                                     LargePicture = (pictureUpload.LargePhoto == null) ? null : pictureUpload.PostedFileToArrayOfBytes(pictureUpload.LargePhoto),
                                     PictureOwner = (new UserManager()).GetUserByName(User.Identity.Name).UserId,
                                     ISO = properties.ISO,
                                     FocalDistance = properties.FocalDistance,
                                     Flash = properties.Flash
                                 };

            unitOfWork.PictureRepository.Insert(newPicture);
            unitOfWork.PictureRepository.Save();

            return View("AddPicture");
        }