public bool use(TempDataDictionary ViewData, out T savedObject, string sessionVarName, useSessionFunc methodsetObject) { bool newData; savedObject = default(T); object sessionVar = ViewData[sessionVarName]; if ((sessionVar == null || !(sessionVar.GetType() == typeof(T))) && methodsetObject != null) { newData = true; methodsetObject(out savedObject); // set saved to value ViewData.Add(sessionVarName, savedObject); } else { newData = false; savedObject = (T)ViewData[sessionVarName]; } return(newData); }
/// <summary> /// Ensures the right type is set and returned from session /// </summary> /// <param name="Session"></param> /// <param name="sessionVarName"></param> /// <param name="methodsetObject">method where the T value is set to the session with key param:sessionVarName. If null then automatically loads value from storage</param> /// <returns></returns> public bool use(HttpSessionStateBase Session, out T savedObject, string sessionVarName, useSessionFunc methodsetObject) { bool newData; savedObject = default(T); object sessionVar = Session[sessionVarName]; if ((sessionVar == null || !(sessionVar.GetType() == typeof(T))) && methodsetObject != null) { newData = false; methodsetObject(out savedObject); // set saved to value Session.Add(sessionVarName, savedObject); } else { newData = false; savedObject = (T)Session[sessionVarName]; } return(newData); }