Esempio n. 1
0
        /// <summary>
        /// Добавить новую фотографию.
        /// </summary>
        /// <param name="newEntity">Новая фотография.</param>
        /// <returns>Добавленная фотография.</returns>
        public override IPhoto Add(IPhoto newEntity)
        {
            PhotoWrap wrap = new PhotoWrap(newEntity);

            this.Context.Photos.Add(wrap.GetRealObject());
            return(wrap);
        }
Esempio n. 2
0
        /// <summary>
        /// Обновить данные существующей фотографии.
        /// </summary>
        /// <param name="changedEntity">Фотография с обновленными
        /// данными.</param>
        /// <returns>Обновленная фотография.</returns>
        public override IPhoto Update(IPhoto changedEntity)
        {
            if (!this.Context.Photos.Any(ph =>
                                         ph.PhotoId == changedEntity.PhotoId))
            {
                throw new InvalidOperationException(
                          "Попытка обновления несуществующего объекта. "
                          + "Фотографии с id=" + changedEntity.PhotoId + " нет в БД.");
            }

            Photo photo = new PhotoWrap(changedEntity).GetRealObject();

            this.Context.Photos.Attach(photo);
            this.Context.Entry(photo).State = EntityState.Modified;
            return(changedEntity);
        }