Esempio n. 1
0
        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);
        }
Esempio n. 5
0
 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);
        }
Esempio n. 10
0
        /// <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)
 {
 }
Esempio n. 14
0
 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)
 {
 }
Esempio n. 17
0
 public override int GetCountOfState(PersonalizationScope scope, PersonalizationStateQuery query)
 {
     throw new System.NotImplementedException();
 }
Esempio n. 18
0
 public override PersonalizationStateInfoCollection FindState(PersonalizationScope scope, PersonalizationStateQuery query, int pageIndex, int pageSize, out int totalRecords)
 {
     throw new System.NotImplementedException();
 }
Esempio n. 19
0
        /// <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);
        }
Esempio n. 20
0
 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);
        }
Esempio n. 22
0
 public override PersonalizationStateInfoCollection FindState(PersonalizationScope scope, PersonalizationStateQuery query, int pageIndex, int pageSize, out int totalRecords)
 {
     throw new NotSupportedException("SenseNetPersonalizationProvider.FindState");
 }
Esempio n. 23
0
 public override int GetCountOfState(PersonalizationScope scope, PersonalizationStateQuery query)
 {
     throw new Exception("The method or operation is not implemented.");
 }
Esempio n. 24
0
        ////////////////////////////////////////////// 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));
 }
Esempio n. 27
0
        /// <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));
            }
        }