Exemplo n.º 1
0
        public static BannedIP Load(Int32 bannedIPId, bool useCache)
        {
            if (bannedIPId == 0)
            {
                return(null);
            }
            BannedIP bannedIP = null;
            string   key      = "BannedIP_" + bannedIPId.ToString();

            if (useCache)
            {
                bannedIP = ContextCache.GetObject(key) as BannedIP;
                if (bannedIP != null)
                {
                    return(bannedIP);
                }
            }
            bannedIP = new BannedIP();
            if (bannedIP.Load(bannedIPId))
            {
                if (useCache)
                {
                    ContextCache.SetObject(key, bannedIP);
                }
                return(bannedIP);
            }
            return(null);
        }
Exemplo n.º 2
0
 /// <summary>
 /// Loads the given BannedIP object from the given database data reader.
 /// </summary>
 /// <param name="bannedIP">The BannedIP object to load.</param>
 /// <param name="dr">The database data reader to read data from.</param>
 public static void LoadDataReader(BannedIP bannedIP, IDataReader dr)
 {
     //SET FIELDS FROM ROW DATA
     bannedIP.BannedIPId   = dr.GetInt32(0);
     bannedIP.StoreId      = dr.GetInt32(1);
     bannedIP.IPRangeStart = dr.GetInt64(2);
     bannedIP.IPRangeEnd   = dr.GetInt64(3);
     bannedIP.Comment      = NullableData.GetString(dr, 4);
     bannedIP.IsDirty      = false;
 }
Exemplo n.º 3
0
        public static bool Delete(Int32 bannedIPId)
        {
            BannedIP bannedIP = new BannedIP();

            if (bannedIP.Load(bannedIPId))
            {
                return(bannedIP.Delete());
            }
            return(false);
        }
Exemplo n.º 4
0
        public static BannedIPCollection LoadForStore(int maximumRows, int startRowIndex, string sortExpression)
        {
            int storeId = Token.Instance.StoreId;
            //CREATE THE DYNAMIC SQL TO LOAD OBJECT
            StringBuilder selectQuery = new StringBuilder();

            selectQuery.Append("SELECT");
            if (maximumRows > 0)
            {
                selectQuery.Append(" TOP " + (startRowIndex + maximumRows).ToString());
            }
            selectQuery.Append(" " + BannedIP.GetColumnNames(string.Empty));
            selectQuery.Append(" FROM ac_BannedIPs");
            selectQuery.Append(" WHERE StoreId = @storeId");
            if (!string.IsNullOrEmpty(sortExpression))
            {
                selectQuery.Append(" ORDER BY " + sortExpression);
            }
            Database  database      = Token.Instance.Database;
            DbCommand selectCommand = database.GetSqlStringCommand(selectQuery.ToString());

            database.AddInParameter(selectCommand, "@storeId", System.Data.DbType.Int32, storeId);
            //EXECUTE THE COMMAND
            BannedIPCollection results = new BannedIPCollection();
            int thisIndex = 0;
            int rowCount  = 0;

            using (IDataReader dr = database.ExecuteReader(selectCommand))
            {
                while (dr.Read() && ((maximumRows < 1) || (rowCount < maximumRows)))
                {
                    if (thisIndex >= startRowIndex)
                    {
                        BannedIP bannedIP = new BannedIP();
                        BannedIP.LoadDataReader(bannedIP, dr);
                        results.Add(bannedIP);
                        rowCount++;
                    }
                    thisIndex++;
                }
                dr.Close();
            }
            return(results);
        }
        /// <summary>
        /// Determine if an IP address is banned from accessing the store.
        /// </summary>
        /// <param name="ip">The IP address in standdard dotted notation (x.x.x.x)</param>
        public static bool IsBanned(string ip)
        {
            //CONVERT IP TO NUMBER
            long ipNumber = BannedIP.ConvertToNumber(ip);
            //BUILD QUERY
            StringBuilder selectQuery = new StringBuilder();

            selectQuery.Append("SELECT COUNT(*) AS RangeCount");
            selectQuery.Append(" FROM ac_BannedIPs");
            selectQuery.Append(" WHERE StoreId = @storeId");
            selectQuery.Append(" AND IPRangeStart <= @ipNumber");
            selectQuery.Append(" AND IPRangeEnd >= @ipNumber");
            Database  database      = Token.Instance.Database;
            DbCommand selectCommand = database.GetSqlStringCommand(selectQuery.ToString());

            database.AddInParameter(selectCommand, "@storeId", System.Data.DbType.Int32, Token.Instance.StoreId);
            database.AddInParameter(selectCommand, "@ipNumber", System.Data.DbType.Int64, ipNumber);
            //IP IS BANNED IF ONE OR MORE RANGES MATCHES THE NUMBER
            return(CommerceBuilder.Utility.AlwaysConvert.ToInt(database.ExecuteScalar(selectCommand)) > 0);
        }
Exemplo n.º 6
0
 public static SaveResult Insert(BannedIP bannedIP)
 {
     return(bannedIP.Save());
 }
Exemplo n.º 7
0
 public static SaveResult Update(BannedIP bannedIP)
 {
     return(bannedIP.Save());
 }
Exemplo n.º 8
0
 public static bool Delete(BannedIP bannedIP)
 {
     return(bannedIP.Delete());
 }