public static int GetCountOfState( SiteSettings siteSettings, PersonalizationScope scope, PersonalizationStateQuery query) { int result = 0; if (siteSettings != null) { Guid userGuid = Guid.Empty; if ((query.UsernameToMatch != null) && (query.UsernameToMatch.Length > 0)) { SiteUser siteUser = new SiteUser(siteSettings, query.UsernameToMatch); if (siteUser.UserId > 0) { userGuid = siteUser.UserGuid; } } bool allUsersScope = (scope == PersonalizationScope.Shared); result = SitePersonalization.GetCountOfState( siteSettings.SiteId, query.PathToMatch, allUsersScope, userGuid, query.UserInactiveSinceDate); } return(result); }
public override PersonalizationStateInfoCollection FindState(PersonalizationScope scope, PersonalizationStateQuery query, int pageIndex, int pageSize, out int totalRecords) { PersonalizationProviderHelper.CheckPersonalizationScope(scope); PersonalizationProviderHelper.CheckPageIndexAndSize(pageIndex, pageSize); if (scope == PersonalizationScope.Shared) { string pathToMatch = null; if (query != null) { pathToMatch = PersonalizationProviderHelper.CheckAndTrimString(query.PathToMatch, "query.PathToMatch", false, MaxStringLength); } return(FindSharedState(pathToMatch, pageIndex, pageSize, out totalRecords)); } else { string pathToMatch = null; DateTime inactiveSinceDate = DateTime.MinValue; string usernameToMatch = null; if (query != null) { pathToMatch = PersonalizationProviderHelper.CheckAndTrimString(query.PathToMatch, "query.PathToMatch", false, MaxStringLength); inactiveSinceDate = query.UserInactiveSinceDate; usernameToMatch = PersonalizationProviderHelper.CheckAndTrimString( query.UsernameToMatch, "query.UsernameToMatch", false, MaxStringLength); } return(FindUserState(pathToMatch, inactiveSinceDate, usernameToMatch, pageIndex, pageSize, out totalRecords)); } }
public override int GetCountOfState(PersonalizationScope scope, PersonalizationStateQuery query) { PersonalizationProviderHelper.CheckPersonalizationScope(scope); if (scope == PersonalizationScope.Shared) { string pathToMatch = null; if (query != null) { pathToMatch = PersonalizationProviderHelper.CheckAndTrimString(query.PathToMatch, "query.PathToMatch", false, MaxStringLength); } return(GetCountOfSharedState(pathToMatch)); } else { string pathToMatch = null; DateTime userInactiveSinceDate = DateTime.MinValue; string usernameToMatch = null; if (query != null) { pathToMatch = PersonalizationProviderHelper.CheckAndTrimString(query.PathToMatch, "query.PathToMatch", false, MaxStringLength); userInactiveSinceDate = query.UserInactiveSinceDate; usernameToMatch = PersonalizationProviderHelper.CheckAndTrimString( query.UsernameToMatch, "query.UsernameToMatch", false, MaxStringLength); } return(GetCountOfUserState(pathToMatch, userInactiveSinceDate, usernameToMatch)); } }
/// <summary> /// Finds state matching given parameters /// </summary> /// <param name="scope">Scope to search</param> /// <param name="query">Query to action</param> /// <param name="pageIndex">Index of page to retrieve</param> /// <param name="pageSize">Size of page to retrieve</param> /// <returns>Matching state</returns> public FindStateResult FindState(PersonalizationScope scope, PersonalizationStateQuery query, int pageIndex, int pageSize) { int totalRecords = 0; PersonalizationStateInfoCollection collection = Provider.FindState(scope, query, pageIndex, pageSize, out totalRecords); FindStateResult result = new FindStateResult(); result.TotalRecords = totalRecords; result.StateInfoCollection = collection; return(result); }
public override PersonalizationStateInfoCollection FindState( PersonalizationScope scope, PersonalizationStateQuery query, int pageIndex, int pageSize, out int totalRecords) { totalRecords = 0; return(null); }
public void CanGetCountofStateForAllUsers() { CreateDataForSharedScope(); var p = InitPersonalizationProvider(); int totalRecords; var psq = new PersonalizationStateQuery(); psq.PathToMatch = "~/default.aspx"; psq.UserInactiveSinceDate = DateTime.UtcNow; totalRecords = p.GetCountOfState(PersonalizationScope.Shared, psq); Assert.Equal(1, totalRecords); }
public override int GetCountOfState( PersonalizationScope scope, PersonalizationStateQuery query) { SiteSettings siteSettings = CacheHelper.GetCurrentSiteSettings(); if (siteSettings != null) { return(PersonalizationHelper.GetCountOfState(siteSettings, scope, query)); } return(0); }
public void CanGetCountofStateForUser() { CreateDataForUserScope(); var p = InitPersonalizationProvider(); int totalRecords; var psq = new PersonalizationStateQuery(); psq.UsernameToMatch = @"GabPC\\Gab"; psq.PathToMatch = "~/default.aspx"; psq.UserInactiveSinceDate = DateTime.UtcNow.AddMinutes(1); //System.Threading.Thread.Sleep(1000); totalRecords = p.GetCountOfState(PersonalizationScope.User, psq); Assert.Equal(1, totalRecords); }
public void CanFindState() { CreateDataForUserScope(); var p = InitPersonalizationProvider(); int totalRecords; var psq = new PersonalizationStateQuery(); psq.UsernameToMatch = @"GabPC\\Gab"; psq.PathToMatch = "~/default.aspx"; psq.UserInactiveSinceDate = DateTime.UtcNow.AddMinutes(1); var collection = p.FindState(PersonalizationScope.User, psq, 1, 1, out totalRecords); Assert.Equal(1, totalRecords); }
/// <summary> /// Returns the number of records in the database that match the specified criteria. /// </summary> /// <param name="scope">The personalization scope.</param> /// <param name="query">The set of query parameters.</param> /// <remarks>For example, records corresponding to users named Jeff* that haven't been modified since January 1, 2005. Wildcard support is provider-dependent.</remarks> public override int GetCountOfState(PersonalizationScope scope, PersonalizationStateQuery query) { if (query == null) { throw new ArgumentNullException("query"); } if (scope == PersonalizationScope.User) { return(GetCountUserState(query.PathToMatch.Trim(), query.UserInactiveSinceDate, query.UsernameToMatch)); } else { return(GetCountOfSharedState(query.PathToMatch.Trim())); } }
//private PersonalizationStateInfoCollection FindSharedState( // string path, // int pageIndex, // int pageSize, // out int totalRecords) //{ // totalRecords = 0; // PersonalizationStateInfoCollection sharedStateInfoCollection // = new PersonalizationStateInfoCollection(); // if (siteSettings != null) // { // IDataReader reader = SitePersonalization.FindState( // siteSettings.SiteID, // path, // true, // Guid.Empty, // DateTime.MaxValue, // pageIndex, // pageSize); // if (reader != null) // { // while (reader.Read()) // { // string returnedPath = reader.GetString(reader.GetOrdinal("Path")); // // Data can be null if there is no data associated with the path // DateTime lastUpdatedDate = (reader.IsDBNull(reader.GetOrdinal("LastActivityDate"))) ? DateTime.MinValue : // DateTime.SpecifyKind(reader.GetDateTime(reader.GetOrdinal("LastActivityDate")), // DateTimeKind.Utc); // int size = (reader.IsDBNull(2)) ? 0 : reader.GetInt32(2); // int userDataSize = (reader.IsDBNull(3)) ? 0 : reader.GetInt32(3); // int userCount = (reader.IsDBNull(4)) ? 0 : reader.GetInt32(4); // sharedStateInfoCollection.Add(new SharedPersonalizationStateInfo( // returnedPath, lastUpdatedDate, size, userDataSize, userCount)); // } // // The reader needs to be closed so return value can be accessed // // See MSDN doc for SqlParameter.Direction for details. // reader.Close(); // reader = null; // } // // Set the total count at the end after all operations pass // //if (returnValue.Value != null && returnValue.Value is int) // //{ // // totalRecords = (int)returnValue.Value; // //} // } // return sharedStateInfoCollection; //} public override PersonalizationStateInfoCollection FindState( PersonalizationScope scope, PersonalizationStateQuery query, int pageIndex, int pageSize, out int totalRecords) { //mojoPersonalizationProviderHelper.CheckPersonalizationScope(scope); //mojoPersonalizationProviderHelper.CheckPageIndexAndSize(pageIndex, pageSize); //if (scope == PersonalizationScope.Shared) //{ // string pathToMatch = null; // if (query != null) // { // pathToMatch = CheckAndTrimString(query.PathToMatch, "query.PathToMatch", false, maxStringLength); // } // return FindSharedState(pathToMatch, pageIndex, pageSize, out totalRecords); //} //else //{ // string pathToMatch = null; // DateTime inactiveSinceDate = DefaultInactiveSinceDate; // string usernameToMatch = null; // if (query != null) // { // pathToMatch = CheckAndTrimString(query.PathToMatch, "query.PathToMatch", false, maxStringLength); // inactiveSinceDate = query.UserInactiveSinceDate; // usernameToMatch = CheckAndTrimString(query.UsernameToMatch, "query.UsernameToMatch", false, maxStringLength); // } // return FindUserState(pathToMatch, inactiveSinceDate, usernameToMatch, // pageIndex, pageSize, out totalRecords); //} throw new Exception("The method or operation is not implemented."); }
public abstract virtual PersonalizationStateInfoCollection FindState(PersonalizationScope scope, PersonalizationStateQuery query, int pageIndex, int pageSizeout, System.Int32& totalRecords) { }
public abstract virtual int GetCountOfState(PersonalizationScope scope, PersonalizationStateQuery query) { }
public override PersonalizationStateInfoCollection FindState(PersonalizationScope scope, PersonalizationStateQuery query, int pageIndex, int pageSize, out int totalRecords) { throw new Exception("The method or operation is not implemented."); }
public virtual int GetCountOfState(PersonalizationScope scope, PersonalizationStateQuery query) { }
// Methods public virtual PersonalizationStateInfoCollection FindState(PersonalizationScope scope, PersonalizationStateQuery query, int pageIndex, int pageSizeout , System.Int32& totalRecords) { }
public override int GetCountOfState(PersonalizationScope scope, PersonalizationStateQuery query) { throw new System.NotImplementedException(); }
public override PersonalizationStateInfoCollection FindState(PersonalizationScope scope, PersonalizationStateQuery query, int pageIndex, int pageSize, out int totalRecords) { throw new System.NotImplementedException(); }
/// <summary> /// Returns a collection containing zero or more PersonalizationStateInfo-derived objects based /// on scope and specific query parameters. /// </summary> /// <param name="query"></param> /// <param name="pageIndex"></param> /// <param name="pageSize"></param> /// <param name="totalRecords"></param> /// <returns></returns> public static PersonalizationStateInfoCollection FindState(PersonalizationStateQuery query, int pageIndex, int pageSize, out int totalRecords) { PersonalizationStateInfoCollection tempResults = new PersonalizationStateInfoCollection(); //USERNAMES ARE NOT ASSOCIATED WITH SHARED DATA //IF A USERNAME WAS SPECIFIED, RETURN AN EMPTY COLLECTION totalRecords = 0; if (!string.IsNullOrEmpty(query.UsernameToMatch)) { return(tempResults); } //CREATE THE DYNAMIC SQL TO LOAD OBJECT StringBuilder selectQuery = new StringBuilder(); //CHECK WHETHER TO LOAD ALL PATHS, OR TO FILTER selectQuery.Append("SELECT " + SharedPersonalization.GetColumnNames("S") + ",P.Path"); selectQuery.Append(" FROM ac_SharedPersonalization S, ac_PersonalizationPaths P"); selectQuery.Append(" WHERE S.PersonalizationPathId = P.PersonalizationPathId AND P.StoreId = @storeId"); if (!string.IsNullOrEmpty(query.PathToMatch)) { selectQuery.Append(" AND P.Path LIKE @pathToMatch"); } selectQuery.Append(" ORDER BY P.Path"); Database database = Token.Instance.Database; DbCommand selectCommand = database.GetSqlStringCommand(selectQuery.ToString()); database.AddInParameter(selectCommand, "@storeId", System.Data.DbType.Int32, Token.Instance.StoreId); if (!string.IsNullOrEmpty(query.PathToMatch)) { database.AddInParameter(selectCommand, "@pathToMatch", System.Data.DbType.String, query.PathToMatch); } //EXECUTE THE COMMAND int startRowIndex = (pageIndex * pageSize); int thisIndex = 0; int rowCount = 0; using (IDataReader dr = database.ExecuteReader(selectCommand)) { while (dr.Read() && ((rowCount < pageSize))) { if (thisIndex >= startRowIndex) { SharedPersonalization p = new SharedPersonalization(); SharedPersonalization.LoadDataReader(p, dr); SharedPersonalizationStateInfo i = new SharedPersonalizationStateInfo(dr.GetString(5), p.LastUpdatedDate, p.PageSettings.Length, 0, 0); tempResults.Add(i); rowCount++; } thisIndex++; } dr.Close(); } totalRecords = rowCount; //LOOP RESULTS AND COMPILE USER STATISICS int size, count; PersonalizationStateInfoCollection results = new PersonalizationStateInfoCollection(); foreach (SharedPersonalizationStateInfo i in tempResults) { UserPersonalizationDataSource.CountForPath(i.Path, out size, out count); results.Add(new SharedPersonalizationStateInfo(i.Path, i.LastUpdatedDate, i.Size, size, count)); } return(results); }
public override int GetCountOfState(PersonalizationScope scope, PersonalizationStateQuery query) { throw new NotSupportedException(); }
/// <summary> /// Finds state matching given parameters /// </summary> /// <param name="scope">Scope to search</param> /// <param name="query">Query to action</param> /// <param name="pageIndex">Index of page to retrieve</param> /// <param name="pageSize">Size of page to retrieve</param> /// <param name="totalRecords">Count of records returned</param> /// <returns>Matching state</returns> public override PersonalizationStateInfoCollection FindState(PersonalizationScope scope, PersonalizationStateQuery query, int pageIndex, int pageSize, out int totalRecords) { FindStateResult result = Client.FindState(scope, query, pageIndex, pageSize); totalRecords = result.TotalRecords; return(result.StateInfoCollection); }
public override PersonalizationStateInfoCollection FindState(PersonalizationScope scope, PersonalizationStateQuery query, int pageIndex, int pageSize, out int totalRecords) { throw new NotSupportedException("SenseNetPersonalizationProvider.FindState"); }
public override int GetCountOfState(PersonalizationScope scope, PersonalizationStateQuery query) { throw new Exception("The method or operation is not implemented."); }
////////////////////////////////////////////// NOT SUPPORTED ////////////////////////////////////////////// public override int GetCountOfState(PersonalizationScope scope, PersonalizationStateQuery query) { return(0); }
/// <summary> /// Gets the count of items in state /// </summary> /// <param name="scope">Scope to count</param> /// <param name="query">Query to action</param> /// <returns>Count of state</returns> public int GetCountOfState(PersonalizationScope scope, PersonalizationStateQuery query) { return(Provider.GetCountOfState(scope, query)); }
public PersonalizationStateInfoCollection FindState(PersonalizationScope scope, PersonalizationStateQuery query, int pageIndex, int pageSize, out int totalRecords) { return(SqlPersonalizationProvider.FindState(scope, query, pageIndex, pageSize, out totalRecords)); }
/// <summary> /// Returns a collection of PersonalizationStateInfo objects containing administrative information regarding records in the database that match the specified criteria. /// </summary> /// <param name="scope">The personalization scope.</param> /// <param name="query">The set of query parameters.</param> /// <param name="pageIndex">The index of the page.</param> /// <param name="pageSize">The size of the page.</param> /// <param name="totalRecords">The total number of records to return.</param> /// <remarks>For example, records corresponding to users named Jeff* that have been modified since January 1, 2005. Wildcard support is provider-dependent.</remarks> public override PersonalizationStateInfoCollection FindState(PersonalizationScope scope, PersonalizationStateQuery query, int pageIndex, int pageSize, out int totalRecords) { if (query == null) { throw new ArgumentNullException("query"); } if (pageIndex < 0) { throw new ArgumentOutOfRangeException("pageIndex"); } if (pageSize < 1) { throw new ArgumentOutOfRangeException("pageSize"); } if (query.PathToMatch == null) { throw new ArgumentNullException("query.PathToMatch"); } if (query.UsernameToMatch == null) { throw new ArgumentNullException("query.UserToMatch"); } DateTime inactiveSinceDate = query.UserInactiveSinceDate; if (scope == PersonalizationScope.User) { return(FindUserState(query.PathToMatch.Trim(), inactiveSinceDate, query.UsernameToMatch.Trim(), pageIndex, pageSize, out totalRecords)); } else { return(FindSharedState(query.PathToMatch.Trim(), pageIndex, pageSize, out totalRecords)); } }