Exemplo n.º 1
0
        public Photo Store(Photo entity)
        {
            // TODO: DBプログラミング講座で実装
            using (Domain.Model.EF.PhotoRepositoryEntities entities = new Domain.Model.EF.PhotoRepositoryEntities())
            {
                // IDで検索して存在しない場合は新規保存してからReturnする
                if (Exists(entity) == false)
                {
                    Guid guid;
                    // データ定義
                    var productData = new Domain.Model.EF.M_PHOTO()
                    {
                        Id         = Guid.Parse(entity.Id),
                        FilePath   = entity.File.FilePath,
                        IsFavorite = entity.IsFavorite,
                        AlbumId    = Guid.TryParse(entity.AlbumId, out guid) ? (Guid?)guid : null,
                    };

                    // データ代入
                    entities.M_PHOTO.Add(productData);
                }
                // 存在していた場合は更新してからReturnする
                else
                {
                    // 検索対象のデータを取得
                    var targetData = entities.M_PHOTO.Find(Guid.Parse(entity.Id));

                    // 更新する
                    Guid guid;
                    targetData.FilePath   = entity.File.FilePath;
                    targetData.IsFavorite = entity.IsFavorite;
                    targetData.AlbumId    = Guid.TryParse(entity.AlbumId, out guid) ? (Guid?)guid : null;
                }

                // 変更内容反映
                entities.SaveChanges();
            }
            return(entity);
        }
Exemplo n.º 2
0
        /// <summary>
        /// データベースに保存する
        /// </summary>
        /// <param name="entity">保存するアルバムデータ(Album)</param>
        /// <returns>保存するアルバムデータ(Album)</returns>
        public Album Store(Album entity)
        {
            // TODO: DBプログラミング講座で実装
            using (Domain.Model.EF.PhotoRepositoryEntities entities = new Domain.Model.EF.PhotoRepositoryEntities())
            {
                // IDで検索して存在しない場合は新規保存してからReturnする
                if (FindBy(entity.Id) == null)
                {
                    // データ定義
                    var productData = new Domain.Model.EF.M_ALBUM()
                    {
                        Id          = Guid.Parse(entity.Id),
                        Name        = entity.Name,
                        Description = entity.Description,
                    };

                    // データ代入
                    entities.M_ALBUM.Add(productData);
                }
                // 存在していた場合は更新してからReturnする
                else
                {
                    // 検索対象のデータを取得
                    var targetData = entities.M_ALBUM.Find(Guid.Parse(entity.Id));

                    // 更新する
                    targetData.Name        = entity.Name;
                    targetData.Description = entity.Description ?? null;
                }

                // 変更内容反映
                entities.SaveChanges();
            }

            return(entity);
        }