private void btnSave_Click(object sender, EventArgs e)
        {
            if (string.IsNullOrEmpty(txtGameName.Text))
            {
                MessageBox.Show("Game name is a required field.", "Input Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            else
            {
                //Instantiate new Game and GameDescription objects
                GameBO gameToSaveOrUpdate = new GameBO();
                GameDescriptionBO gameDescriptionToSaveOrUpdate = new GameDescriptionBO();

                //Set Game object properties and call game manager to save
                gameToSaveOrUpdate.GameId = _GameId;
                gameToSaveOrUpdate.GameName = txtGameName.Text;
                int returnedGameId = GameManager.Save(gameToSaveOrUpdate);

                //Set GameDescription object properties and call game manager to save
                gameDescriptionToSaveOrUpdate.GameId = _GameId;
                gameDescriptionToSaveOrUpdate.GameCost = Convert.ToInt32(txtGameCost.Text);
                gameDescriptionToSaveOrUpdate.GameDescript = txtDescription.Text;
                gameDescriptionToSaveOrUpdate.HowToPlay = txtHowToPlay.Text;
                GameDescriptionManager.Save(returnedGameId, gameDescriptionToSaveOrUpdate);

                //Close the dialog window after serving
                base.Close();
            }
        }
        private Data_Contracts.GameDescriptionDTO HydrateGameDTOItem(GameBO gameItem)
        {
            Data_Contracts.GameDescriptionDTO tempItem = new Data_Contracts.GameDescriptionDTO();

            if (!string.IsNullOrEmpty(gameItem.GameId.ToString()))
            {
                tempItem.GameName = gameItem.GameName;
                tempItem.GameId = gameItem.GameId;
                tempItem.GameDescript = gameItem.GameDescription.GameDescript;
                tempItem.HowToPlay = gameItem.GameDescription.HowToPlay;
                tempItem.GameCost = gameItem.GameDescription.GameCost;
            }

            return tempItem;
        }
        /// <Summary Fill Data Record>
        /// Initializes a new instance of the Game class and fills it with the data from the IDataRecord
        /// </summary>
        /// <param name="myDataRecord"></param>
        /// <returns></returns>
        private static GameBO FillDataRecord(IDataRecord myDataRecord)
        {
            GameBO myGameObject = new GameBO();
            myGameObject.GameDescription = new GameDescriptionBO();

            myGameObject.GameId = myDataRecord.GetInt32(myDataRecord.GetOrdinal("GameId"));

            if (!myDataRecord.IsDBNull(myDataRecord.GetOrdinal("GameName")))
            {
                myGameObject.GameName = myDataRecord.GetString(myDataRecord.GetOrdinal("GameName"));
            }
            return myGameObject;
        }
        //INSERT
        public static int Save(GameBO gameToSave)
        {
            ExecuteTypeEnum queryId = ExecuteTypeEnum.InsertItem;
            int result = 0;

            if (gameToSave.GameId > 0)
            {
                queryId = ExecuteTypeEnum.UpdateItem;
            }

            using (SqlConnection myConnection = new SqlConnection(AppConfiguration.ConnectionString))
            {
                using (SqlCommand myCommand = new SqlCommand("usp_ExecuteGame", myConnection))
                {
                    myCommand.CommandType = CommandType.StoredProcedure;

                    myCommand.Parameters.AddWithValue("@QueryId", queryId);
                    myCommand.Parameters.AddWithValue("@GameId", gameToSave.GameId);

                    if (gameToSave.GameName != null)
                    {
                        myCommand.Parameters.AddWithValue("@GameName", gameToSave.GameName);
                    }

                    //add return output parameter to command object
                    myCommand.Parameters.Add(HelperDAL.GetReturnParameterInt("ReturnValue"));

                    //Opens connection and executes query
                    myConnection.Open();
                    myCommand.ExecuteNonQuery();

                    //Get return value from stored procedure and return Id
                    result = Convert.ToInt32(myCommand.Parameters["@ReturnValue"].Value);

                }
                myConnection.Close();
            }
            return result;
        }
        public void GameGetInformation_Instantiation_NotNull()
        {
            GameBOCollection collection = new GameBOCollection();
            GameBO myGame = new GameBO();
            myGame.GameDescription = new GameDescriptionBO();
            myGame.GameName = "Game1";
            myGame.GameDescription.GameDescript = "Description Stuff";
            myGame.GameDescription.HowToPlay = "Number of balls";
            collection.Add(myGame);

            if (collection != null)
            {
                Assert.IsTrue(true);
            }
        }
 public static int Save(GameBO gameToSave)
 {
     int returnedGameId = GameDAL.Save(gameToSave);
     return returnedGameId;
 }
        /// <Summary Fill Data Record>
        /// Initializes a new instance of the Game class and fills it with the data from the IDataRecord
        /// </summary>
        /// <param name="myDataRecord"></param>
        /// <returns></returns>
        private static GameBO FillDataRecord(IDataRecord myDataRecord)
        {
            GameBO myGameObject = new GameBO();
            myGameObject.GameDescription = new GameDescriptionBO();

            myGameObject.GameId = myDataRecord.GetInt32(myDataRecord.GetOrdinal("GameId"));

            if (!myDataRecord.IsDBNull(myDataRecord.GetOrdinal("GameName")))
            {
                myGameObject.GameName = myDataRecord.GetString(myDataRecord.GetOrdinal("GameName"));
            }
            if (!myDataRecord.IsDBNull(myDataRecord.GetOrdinal("GameDescriptionId")))
            {
                myGameObject.GameDescription.GameDescriptionId = myDataRecord.GetInt32(myDataRecord.GetOrdinal("GameDescriptionId"));
            }
            if (!myDataRecord.IsDBNull(myDataRecord.GetOrdinal("HowToPlay")))
            {
                myGameObject.GameDescription.HowToPlay = myDataRecord.GetString(myDataRecord.GetOrdinal("HowToPlay"));
            }
            if (!myDataRecord.IsDBNull(myDataRecord.GetOrdinal("GameDescription")))
            {
                myGameObject.GameDescription.GameDescript = myDataRecord.GetString(myDataRecord.GetOrdinal("GameDescription"));
            }
            if (!myDataRecord.IsDBNull(myDataRecord.GetOrdinal("GameCost")))
            {
                myGameObject.GameDescription.GameCost = myDataRecord.GetInt32(myDataRecord.GetOrdinal("GameCost"));
            }
            if (!myDataRecord.IsDBNull(myDataRecord.GetOrdinal("NumberOfBalls")))
            {
                myGameObject.GameDescription.NumberOfBalls = myDataRecord.GetInt32(myDataRecord.GetOrdinal("NumberOfBalls"));
            }
            if (!myDataRecord.IsDBNull(myDataRecord.GetOrdinal("SpecialBall")))
            {
                myGameObject.GameDescription.SpecialBall = myDataRecord.GetInt32(myDataRecord.GetOrdinal("SpecialBall"));
            }
            return myGameObject;
        }