public async Task <IActionResult> Create(BgObject bgObject) { var game = await this.bggService.Get(bgObject.ObjectId); var categories = this.db.Categories.ToDictionary(c => c.ObjectId, c => c); var boardGame = new BoardGameEntry(game); foreach (var importCategory in game.Boardgamecategory) { //If the category doesn't exist create it if (!categories.ContainsKey(importCategory.Objectid)) { boardGame.Categories.Add( new GameCategoryGameEntry() { BoardGameCategory = new BoardGameCategory { Name = importCategory.Text, ObjectId = importCategory.Objectid, } } ); } else { boardGame.Categories.Add(new GameCategoryGameEntry { BoardGameCategory = categories[importCategory.Objectid] } ); } } this.db.Games.Add(boardGame); this.db.SaveChanges(); return(this.Ok(bgObject.ObjectId)); }
public ImportableGame(BoardGameEntry boardGameEntry) : this(boardGameEntry.ObjectId, boardGameEntry.Name, boardGameEntry.YearPublished.Year, true) { }