public static void PutQueryToState(RQquery query, UserState.States stateType) { state = (ViewState)UserState.Get(stateType); if (state == null) { state = new ViewState(stateType); } state.query = query; state.Save(); }
/// <summary> /// Builds the actual query. /// </summary> /// <param name="queryString"> /// queryString == null | "" : Rebuilds actual query from stored query state parameters or returns the default query. /// queryString != null : Builds a new query from queryString and stores it in query state parameters. /// </param> /// <param name="stateType"> /// stateType == ListViewState : (Re)builds actual query for ListView. /// stateType == BrowseViewState : (Re)builds actual query for BrowseView. /// stateType == ItemViewState : (Re)builds actual query for SingleItemView. /// </param> /// <returns> /// Actual query. /// </returns> public static RQquery GetQueryFromState(string queryString, UserState.States stateType) { RQquery query = null; state = (ViewState)UserState.Get(stateType); if (state == null) { if (string.IsNullOrEmpty(queryString)) { query = new RQquery("$recent$recent additions", "recent"); } else { query = new RQquery(queryString); } state = new ViewState(stateType); //, queryString); state.query = query; //state.Save(); } else { string querytest; UserSettingsService us = new UserSettingsService(); query = (RQquery)state.query; if (!string.IsNullOrEmpty(queryString) && queryString.StartsWith("$") && queryString.LastIndexOf("$") > 1) { querytest = queryString.Substring(0, queryString.LastIndexOf("$") + 1) + query.QueryString; } else { querytest = query.QueryString; } //if ( (! string.IsNullOrEmpty(queryString) && querytest != queryString) // || (query.QueryExternal == "" && us.GetIncludeExternal() == true) // || (query.QueryExternal != "" && us.GetIncludeExternal() == false) ) //{ // query = new RQquery(! string.IsNullOrEmpty(queryString) ? queryString : query.QueryString); // query.QueryExternal = us.GetIncludeExternal() == true ? "003" : ""; // state.query = query; // //state.Save(); //} if (!string.IsNullOrEmpty(queryString) && querytest != queryString) { query = new RQquery(!string.IsNullOrEmpty(queryString) ? queryString : query.QueryString); } query.QueryExternal = us.GetIncludeExternal() == true ? "003" : ""; state.query = query; } return(query); }
public static UserState Get(UserState.States stateType) { if (stateType == States.GuestIdState) { return(u.Get(UserState.StateTypeKey(stateType)) != null ? new GuestIdState(u.Get(UserState.StateTypeKey(stateType)).ui) : null); } else { v st = v.Get(UserState.StateTypeKey(stateType)); if (st != null) { ViewState vs = new ViewState(stateType); //, st.qs); vs.query = st.q; return(vs); } else { return(null); } } }
/// <summary> /// /// </summary> /// <param name="stateType"></param> /// <returns></returns> public static UserState Get(UserState.States stateType) { try { if (stateType == States.GuestIdState) { return(u.Get(UserState.StateTypeKey(stateType)) != null ? new GuestIdState(u.Get(UserState.StateTypeKey(stateType)).ui) : null); } else { v st = v.Get(UserState.StateTypeKey(stateType)); if (st != null) { ViewState vs = new ViewState(stateType); //, st.qs); vs.query = st.q; return(vs); } else { return(null); } } } catch (Exception) { // External WebApi calls are stateless if (!Mvc5RQ.WebApiApplication.WebApiCalledByApplication()) { return(null); } else { throw; } } }
public ViewState(UserState.States stateType) //string queryString) { this._stateStorage = new v(UserState.StateTypeKey(stateType)); //this.queryString = queryString; //this.Save(); }