/// <summary> /// Used for adding games to the internal list /// </summary> public bool AddGame(Model.Game newGame) { bool wasGameAdded = false; if (newGame != null) { //Make sure a game has a unique id if (newGame.Id == Guid.Empty) { newGame.Id = Guid.NewGuid(); } datastore.Games.Add(newGame.Clone()); wasGameAdded = true; } return(wasGameAdded); }
/// <summary> /// Update a game with new changes /// </summary> public bool UpdateGame(Model.Game game) { bool wasGameupdated = false; if (game != null) { var gameFromStore = datastore.Games.Where(x => x.Id == game.Id).SingleOrDefault(); if (gameFromStore != null) { datastore.Games.Remove(gameFromStore); AddGame(game); gameFromStore = game; wasGameupdated = true; UnsavedChanges = true; } } return(wasGameupdated); }
/// <summary> /// Remove a game from the internal list /// </summary> /// <exception cref="InvalidOperationException">thrown when the game to delete is not found</exception> public bool RemoveGame(Model.Game game) { bool wasGameRemoved = false; if (game != null) { var gameToRemove = datastore.Games.Where(x => x.Id == game.Id).SingleOrDefault(); if (gameToRemove != null) { datastore.Games.Remove(gameToRemove); wasGameRemoved = true; } else { throw new InvalidOperationException("Game was not found in internal game list"); } } return(wasGameRemoved); }