public static DataTable GetUserBrowseHistory(UserbrowsehistoryInfo browserhistory)
        {
            DataTable dtScanHistorys = HiCache.Get("DataCache-UserScanHistroys") as DataTable;

            if (dtScanHistorys == null)
            {
                dtScanHistorys = new UserbrowsehistoryDao().GetUserBrowseHistory(browserhistory);
                HiCache.Insert("DataCache-UserScanHistroys", dtScanHistorys);
            }
            return(dtScanHistorys);
        }
        public UserbrowsehistoryInfo GetUserBrowseHistory(int historyId)
        {
            DbCommand sqlStringCommand = this.database.GetSqlStringCommand("SELECT * FROM Ecshop_UserBrowseHistory WHERE HistoryId = @HistoryId");

            this.database.AddInParameter(sqlStringCommand, "HistoryId", DbType.Int32, historyId);
            UserbrowsehistoryInfo result = null;

            using (IDataReader dataReader = this.database.ExecuteReader(sqlStringCommand))
            {
                result = ReaderConvert.ReaderToModel <UserbrowsehistoryInfo>(dataReader);
            }
            return(result);
        }
        public static void SetUserBrowseHistory(UserbrowsehistoryInfo browserhistory)
        {
            DataTable dtScanHistorys = HiCache.Get("DataCache-UserScanHistroys") as DataTable;

            if (dtScanHistorys == null)
            {
                dtScanHistorys = new DataTable();

                dtScanHistorys.Columns.Add("ProductId", typeof(System.Int32));
                dtScanHistorys.Columns.Add("UserId", typeof(System.Int32));
                dtScanHistorys.Columns.Add("UserName", typeof(System.String));
                dtScanHistorys.Columns.Add("BrowseTime", typeof(System.DateTime));
                dtScanHistorys.Columns.Add("UserIP", typeof(System.String));
                dtScanHistorys.Columns.Add("Description", typeof(System.String));
                dtScanHistorys.Columns.Add("Sort", typeof(System.Int32));
                dtScanHistorys.Columns.Add("Url", typeof(System.String));
                dtScanHistorys.Columns.Add("BrowerTimes", typeof(System.Int32));
                dtScanHistorys.Columns.Add("PlatType", typeof(System.Int32));
                dtScanHistorys.Columns.Add("IP", typeof(System.Int64));
                dtScanHistorys.Columns.Add("CategoryId", typeof(System.Int32));
            }

            if (dtScanHistorys.Rows.Count >= 2)
            {
                new UserbrowsehistoryDao().BulkUserBrowserHistory(dtScanHistorys);

                dtScanHistorys.Rows.Clear();
            }

            DataRow row = dtScanHistorys.NewRow();

            row["ProductId"]   = browserhistory.ProductId;
            row["UserId"]      = browserhistory.UserId;
            row["UserName"]    = browserhistory.UserName ?? "";
            row["BrowseTime"]  = browserhistory.BrowseTime ?? DateTime.Now;
            row["UserIP"]      = browserhistory.UserIP ?? "";
            row["Description"] = browserhistory.Description ?? "";
            row["Sort"]        = browserhistory.Sort;
            row["Url"]         = browserhistory.Url ?? "";
            row["BrowerTimes"] = 1;
            row["PlatType"]    = browserhistory.PlatType;
            row["IP"]          = browserhistory.Ip;
            row["CategoryId"]  = browserhistory.CategoryId;

            dtScanHistorys.Rows.Add(row);

            new UserbrowsehistoryDao().BulkUserBrowserHistory(dtScanHistorys);

            //HiCache.Insert("DataCache-UserScanHistroys", dtScanHistorys);
        }
        public DataTable GetUserBrowseHistory(UserbrowsehistoryInfo browserhistory)
        {
            DbCommand storedProcCommand = this.database.GetStoredProcCommand("cp_UserBrowseHistoryAdd");

            this.database.AddInParameter(storedProcCommand, "PlatType", DbType.Int32, browserhistory.PlatType);
            this.database.AddInParameter(storedProcCommand, "ProductId", DbType.Int32, browserhistory.ProductId);
            this.database.AddInParameter(storedProcCommand, "Url", DbType.String, browserhistory.Url);
            this.database.AddInParameter(storedProcCommand, "UserName", DbType.String, browserhistory.UserName);
            this.database.AddInParameter(storedProcCommand, "UserId", DbType.Int32, browserhistory.UserId);
            this.database.AddInParameter(storedProcCommand, "UserIP", DbType.String, browserhistory.UserIP);
            this.database.AddInParameter(storedProcCommand, "IP", DbType.Int64, browserhistory.Ip);

            //return this.database.ExecuteNonQuery(storedProcCommand) == 1;返回bool类型

            DataTable historyinfo = null;

            using (IDataReader dataReader = this.database.ExecuteReader(storedProcCommand))
            {
                historyinfo = DataHelper.ConverDataReaderToDataTable(dataReader);
            }

            return(historyinfo);
        }