public static void ShowBoardGameEntity(string label, BoardGameEntity item)
 {
     if (null != item)
     {
         Console.WriteLine("({0}) BoardGameKey='{1}', Title='{2}', MinPlayers='{3}', MaxPlayers='{4}', PublishingCompany='{5}'", label, item.BoardGameKey, item.Title, item.MinPlayers, item.MaxPlayers, item.PublishingCompany);
     }
 }
        public async Task <int> AddAsync(BoardGameEntity bge, CancellationToken token)
        {
            this.entityDbContext.BoardGames.Add(bge);
            int returnValue = await this.entityDbContext.SaveChangesAsync(token);

            return(returnValue);
        }
        public async Task PerformBasicCrudDemo()
        {
            ICollection <BoardGameEntity> boardGames = await this.boardGameManager.BoardGamesGetAllAsync();

            BoardGameShower.ShowBoardGameEntities("BoardGamesGetAllAsync", boardGames);
            Console.WriteLine(string.Empty);

            int currentMaxKey = boardGames.Any() ? boardGames.Max(x => x.BoardGameKey) : 1;

            if (null != boardGames)
            {
                BoardGameEntity firstBoardGameEntity = boardGames.FirstOrDefault();
                BoardGameEntity boardGame            = await this.boardGameManager.BoardGamesGetSingleAsync(firstBoardGameEntity.BoardGameKey);

                BoardGameShower.ShowBoardGameEntity("BoardGamesGetSingleAsync", boardGame);
                Console.WriteLine(string.Empty);

                boardGame = await this.boardGameManager.BoardGamesGetSingleAsync(-999);

                BoardGameShower.ShowBoardGameEntity("BoardGamesGetSingleAsync", boardGame);
                Console.WriteLine(string.Empty);

                if (null != firstBoardGameEntity)
                {
                    firstBoardGameEntity.MinPlayers        = firstBoardGameEntity.MinPlayers + 100;
                    firstBoardGameEntity.MaxPlayers        = firstBoardGameEntity.MaxPlayers + 100;
                    firstBoardGameEntity.Title             = firstBoardGameEntity.Title + "***Edited";
                    firstBoardGameEntity.PublishingCompany = firstBoardGameEntity.PublishingCompany + "***Edited";
                    int updateReturnValue = await this.boardGameManager.UpdateAsync(firstBoardGameEntity);

                    Console.WriteLine(string.Format("updateReturnValue='{0}'", updateReturnValue));

                    boardGame = await this.boardGameManager.BoardGamesGetSingleAsync(firstBoardGameEntity.BoardGameKey);

                    BoardGameShower.ShowBoardGameEntity("BoardGamesGetSingleAsync.After.UpdateAsync", boardGame);
                    Console.WriteLine(string.Empty);
                }

                BoardGameEntity newBoardGameEntity = new BoardGameEntity();
                newBoardGameEntity.BoardGameKey      = currentMaxKey + 1;
                newBoardGameEntity.MinPlayers        = 333;
                newBoardGameEntity.MaxPlayers        = 444;
                newBoardGameEntity.Title             = "MyNewTitle" + Convert.ToString(newBoardGameEntity.BoardGameKey);
                newBoardGameEntity.PublishingCompany = "MyNewPublishingCompanyOne";
                int addReturnValue = await this.boardGameManager.AddAsync(newBoardGameEntity);

                Console.WriteLine(string.Format("addReturnValue='{0}'", addReturnValue));

                boardGames = await this.boardGameManager.BoardGamesGetAllAsync();

                BoardGameShower.ShowBoardGameEntities("BoardGamesGetAllAsync.After.SingleAddAsync", boardGames);
                Console.WriteLine(string.Empty);
            }
        }
        public async Task <int> UpdateAsync(BoardGameEntity bge, CancellationToken token)
        {
            int returnValue = 0;
            var entity      = this.entityDbContext.BoardGames.FirstOrDefault(item => item.BoardGameKey == bge.BoardGameKey);

            if (null != entity)
            {
                entity.MinPlayers        = bge.MinPlayers;
                entity.MaxPlayers        = bge.MaxPlayers;
                entity.PublishingCompany = bge.PublishingCompany;
                entity.Title             = bge.Title;
                returnValue = await this.entityDbContext.SaveChangesAsync(token);
            }
            else
            {
                throw new ArgumentOutOfRangeException(string.Format("BoardGameEntity not found. ()", bge.BoardGameKey));
            }

            return(returnValue);
        }
        public async Task <BoardGameEntity> BoardGamesGetSingleAsync(int id)
        {
            BoardGameEntity returnItem = await this.entityDbContext.BoardGames.FindAsync(id);

            return(returnItem);
        }
        public async Task <int> UpdateAsync(BoardGameEntity bge)
        {
            int returnValue = await this.UpdateAsync(bge, CancellationToken.None);

            return(returnValue);
        }
        public async Task <int> UpdateAsync(BoardGameEntity bge, CancellationToken token)
        {
            int returnValue = await this.BoardGameDataLayer.UpdateAsync(bge, token);

            return(returnValue);
        }
        public async Task <BoardGameEntity> BoardGamesGetSingleAsync(int id)
        {
            BoardGameEntity returnItem = await this.BoardGameDataLayer.BoardGamesGetSingleAsync(id);

            return(returnItem);
        }