⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ipstorage.cs

📁 动易SiteFactory&#8482 网上商店系统1.0源代码
💻 CS
字号:
namespace PowerEasy.SqlServerDal.Analytics
{
    using Microsoft.Practices.EnterpriseLibrary.Data;
    using PowerEasy.IDal.Analytics;
    using PowerEasy.Model.Analytics;
    using PowerEasy.SqlServerDal;
    using System;
    using System.Collections.Generic;
    using System.Data;
    using System.Data.Common;

    public class IPStorage : IIPStorage
    {
        private int m_IPTotal;

        public bool Add(StatIPInfo info)
        {
            Parameters cmdParams = new Parameters();
            cmdParams.AddInParameter("@StartIp", DbType.Double, info.StartIP);
            cmdParams.AddInParameter("@EndIp", DbType.Double, info.EndIP);
            cmdParams.AddInParameter("@Address", DbType.String, info.Address);
            return DBHelper.ExecuteProc("PR_Analytics_StatIPInfo_Add", cmdParams);
        }

        public bool Delete(StatIPInfo info)
        {
            Parameters cmdParams = new Parameters();
            cmdParams.AddInParameter("@StartIp", DbType.Double, info.StartIP);
            cmdParams.AddInParameter("@EndIp", DbType.Double, info.EndIP);
            return DBHelper.ExecuteProc("PR_Analytics_StatIPInfo_Delete", cmdParams);
        }

        public string GetAddressByIP(double ip)
        {
            new Parameters().AddInParameter("@ip", DbType.Double, ip);
            object objA = DBHelper.ExecuteScalarSql("Select Top 1 Address From PE_StatIpInfo Where StartIp<=@ip and EndIp>=@ip Order By EndIp-StartIp Asc");
            if (!object.Equals(objA, null))
            {
                return objA.ToString();
            }
            return null;
        }

        public IList<StatIPInfo> GetList(int startRowIndexId, int maxiNumRows, double searchIP, string searchAddress)
        {
            string str = "1=1";
            Database database = DatabaseFactory.CreateDatabase();
            IList<StatIPInfo> list = new List<StatIPInfo>();
            DbCommand storedProcCommand = database.GetStoredProcCommand("PR_Common_GetList");
            database.AddInParameter(storedProcCommand, "@StartRows", DbType.Int32, startRowIndexId);
            database.AddInParameter(storedProcCommand, "@PageSize", DbType.Int32, maxiNumRows);
            database.AddInParameter(storedProcCommand, "@SortColumn", DbType.String, "ID");
            database.AddInParameter(storedProcCommand, "@StrColumn", DbType.String, "*");
            database.AddInParameter(storedProcCommand, "@Sorts", DbType.String, "DESC");
            database.AddInParameter(storedProcCommand, "@TableName", DbType.String, "PE_StatIpInfo");
            database.AddOutParameter(storedProcCommand, "@Total", DbType.Int32, maxiNumRows);
            if (searchIP != 0.0)
            {
                str = str + string.Format(" and StartIp<={0} and EndIp >={0}", searchIP.ToString());
            }
            if (!string.IsNullOrEmpty(searchAddress))
            {
                str = str + " and Address like '%" + searchAddress + "%' ";
            }
            database.AddInParameter(storedProcCommand, "@Filter", DbType.String, str);
            using (NullableDataReader reader = new NullableDataReader(database.ExecuteReader(storedProcCommand)))
            {
                while (reader.Read())
                {
                    list.Add(StatIPInfoListFromrdr(reader));
                }
            }
            this.m_IPTotal = (int) database.GetParameterValue(storedProcCommand, "@Total");
            return list;
        }

        public int GetTotal()
        {
            return this.m_IPTotal;
        }

        private static StatIPInfo StatIPInfoListFromrdr(NullableDataReader rdr)
        {
            StatIPInfo info = new StatIPInfo();
            info.StartIP = rdr.GetDouble("StartIp");
            info.EndIP = rdr.GetDouble("EndIp");
            info.Address = rdr.GetString("Address");
            return info;
        }

        public bool Update(StatIPInfo newInfo, StatIPInfo oldInfo)
        {
            Parameters cmdParams = new Parameters();
            cmdParams.AddInParameter("@StartIp", DbType.Double, newInfo.StartIP);
            cmdParams.AddInParameter("@EndIp", DbType.Double, newInfo.EndIP);
            cmdParams.AddInParameter("@Address", DbType.String, newInfo.Address);
            cmdParams.AddInParameter("@oldStartIp", DbType.Double, oldInfo.StartIP);
            cmdParams.AddInParameter("@oldEndIp", DbType.Double, oldInfo.EndIP);
            return (DBHelper.ExecuteNonQueryProc("PR_Analytics_StatIPInfo_Update", cmdParams) > 0);
        }
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -