/* * this method retrieves game records based on the user who played them * @param username the requested user * @return List<GameRecordModel> list of games the user has won */ public List<GameRecordModel> RetrieveByUser(string username) { // database connection string string connectionString = @"Data Source=(localdb)\MSSQLLocalDB;Initial Catalog=MinesweeperDatabase;Integrated Security=True;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False"; // initalize list to return List<GameRecordModel> records = new List<GameRecordModel>(); // connect to database in business service // NOTE this is a best practice that allows ACID transactions using (SqlConnection connection = new SqlConnection(connectionString)) { // instantiate DAO GameRecordDAO dao = new GameRecordDAO(connection); // open database connection connection.Open(); // pass control to DAO to get records records = dao.ReadByUser(username); // close database connection connection.Close(); } // return results return records; }
/* * this method retrieves game records based on Game ID * @param id the Game ID * @retrun GameRecordModel | NULL the desired game record or null if nothing was found */ public GameRecordModel RetrieveByID(int id) { // database connection string string connectionString = @"Data Source=(localdb)\MSSQLLocalDB;Initial Catalog=MinesweeperDatabase;Integrated Security=True;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False"; // connect to database in business service // NOTE this is a best practice that allows ACID transactions using (SqlConnection connection = new SqlConnection(connectionString)) { // instantiate DAO GameRecordDAO dao = new GameRecordDAO(connection); // conect to database connection.Open(); // pass control to DAO to get records List<GameRecordModel> records = dao.ReadByID(id); // close database connection connection.Close(); // if the game record wasn't found if (records.Count != 1) { return null; } // otherwise the game was found else { // return the game record foreach (GameRecordModel model in records) { return model; } return null; } } }