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); }
/// <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); }