//if countdown already started, return the remaining time. Otherwise return a start-time value.
        public static int GetRemainingTimeOrSetDefault(this HttpSessionStateBase session)
        {
            int remainingMilliseconds; // countdown time variable

            DateTime countdownTime = session.GetDataFromSession <DateTime>("countdownTimeCsKey");

            if (countdownTime == DateTime.MinValue)
            {
                //set a new countdown time using a global constant.
                session.SetDataToSession <string>("countdownTimeCsKey", DateTime.Now.AddMilliseconds(shoppingTimeMilliseconds));
                remainingMilliseconds = shoppingTimeMilliseconds;
            }
            else
            {
                TimeSpan tsRemaining = countdownTime - DateTime.Now;
                remainingMilliseconds = (int)tsRemaining.TotalMilliseconds;  //convert to integer for passing to view.
                remainingMilliseconds = Math.Max(remainingMilliseconds, -1); //if time expired just return -1.
            }
            return(remainingMilliseconds);
        }
 public static void SetGameInProgress(this HttpSessionStateBase session, bool value)
 {
     session.SetDataToSession <bool>("gameInProgress", value);
 }
 public static void SetUserJustClickedCheckout(this HttpSessionStateBase session, bool value)
 {
     session.SetDataToSession <bool>("userClickedCheckout", value);
 }
 public static void SetLastItemAddedByAIPlayer(this HttpSessionStateBase session, int value)
 {
     session.SetDataToSession <int>("lastItemAdded", value);
 }
 public static void SetShoppingByNpcCompleted(this HttpSessionStateBase session, bool value)
 {
     session.SetDataToSession <bool>("shoppingCompleted", value);
 }