예제 #1
0
        /// <summary>
        /// 检查用户的网卡Mac地址
        /// </summary>
        /// <param name="macAddress">Mac地址</param>
        /// <param name="userId">用户主键</param>
        /// <returns>是否符合限制</returns>
        private bool CheckMacAddress(string macAddress, string userId)
        {
            bool returnValue = false;

            List <KeyValuePair <string, object> > parameters = new List <KeyValuePair <string, object> >
            {
                new KeyValuePair <string, object>(CiParameterTable.FieldParameterId, userId),
                new KeyValuePair <string, object>(CiParameterTable.FieldCategoryKey, "MacAddress"),
                new KeyValuePair <string, object>(CiParameterTable.FieldEnabled, 1)
            };

            DataTable dt = DbCommonLibary.GetDT(this.DBProvider, CiParameterTable.TableName, parameters);

            if (dt.Rows.Count > 0)
            {
                string parameterCode   = string.Empty;
                string parameterCotent = string.Empty;

                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    parameterCode   = dt.Rows[i][CiParameterTable.FieldParameterCode].ToString();
                    parameterCotent = dt.Rows[i][CiParameterTable.FieldParameterContent].ToString();
                    returnValue     = (macAddress.ToLower()).Equals(parameterCotent.ToLower());
                    if (returnValue)
                    {
                        break;
                    }
                }
            }
            return(returnValue);
        }
예제 #2
0
        public virtual DataTable GetDT(KeyValuePair <string, object> parameter, string order)
        {
            List <KeyValuePair <string, object> > parameters = new List <KeyValuePair <string, object> >();

            parameters.Add(parameter);
            return(DbCommonLibary.GetDT(DBProvider, this.CurrentTableName, parameters, 0, order));
        }
예제 #3
0
        public virtual DataTable GetDT(KeyValuePair <string, object> parameter, int topLimit = 0, string order = null)
        {
            List <KeyValuePair <string, object> > parameters = new List <KeyValuePair <string, object> > {
                parameter
            };

            return(DbCommonLibary.GetDT(DBProvider, this.CurrentTableName, parameters, topLimit, order));
        }
예제 #4
0
        /// <summary>
        /// 检查用户IP地址
        /// </summary>
        /// <param name="ipAddress">IP地址</param>
        /// <returns>是否符合限制</returns>
        private bool CheckIPAddress(string ipAddress, string userId)
        {
            bool returnValue = false;

            List <KeyValuePair <string, object> > parameters = new List <KeyValuePair <string, object> >
            {
                new KeyValuePair <string, object>(CiParameterTable.FieldParameterId, userId),
                new KeyValuePair <string, object>(CiParameterTable.FieldCategoryKey, "IPAddress"),
                new KeyValuePair <string, object>(CiParameterTable.FieldEnabled, 1)
            };

            DataTable dt = DbCommonLibary.GetDT(this.DBProvider, CiParameterTable.TableName, parameters);

            if (dt.Rows.Count > 0)
            {
                string parameterCode   = string.Empty;
                string parameterCotent = string.Empty;

                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    parameterCode   = dt.Rows[i][CiParameterTable.FieldParameterCode].ToString();
                    parameterCotent = dt.Rows[i][CiParameterTable.FieldParameterContent].ToString();
                    switch (parameterCode)
                    {
                    // 匹配单个IP
                    case "Single":
                        returnValue = CheckSingleIPAddress(ipAddress, parameterCotent);
                        break;

                    // 匹配ip地址段
                    case "Range":
                        returnValue = CheckIPAddressWithRange(ipAddress, parameterCotent);
                        break;

                    // 匹配带掩码的地址段
                    case "Mask":
                        returnValue = CheckIPAddressWithMask(ipAddress, parameterCotent);
                        break;
                    }
                    if (returnValue)
                    {
                        break;
                    }
                }
            }
            return(returnValue);
        }
예제 #5
0
        //////////////////////////////////////////////////////////////////////////////////////////////////////
        /// 资源权限设定关系相关
        //////////////////////////////////////////////////////////////////////////////////////////////////////

        #region public string[] GetResourcePermissionItemIds(UserInfo userInfo, string resourceCategory, string resourceId) 获取资源权限主键数组
        /// <summary>
        /// 获取资源权限主键数组
        /// </summary>
        /// <param name="userInfo">用户</param>
        /// <param name="resourceCategory">资源分类</param>
        /// <param name="resourceId">资源主键</param>
        /// <returns>操作权限主键数组</returns>
        public string[] GetResourcePermissionItemIds(UserInfo userInfo, string resourceCategory, string resourceId)
        {
            string[] returnValue = null;
            var      parameter   = ParameterUtil.CreateWithMessage(userInfo, MethodBase.GetCurrentMethod(), this.serviceName, RDIFrameworkMessage.PermissionService_GetResourcePermissionItemIds);

            ServiceUtil.ProcessRDIReadDb(userInfo, parameter, dbProvider =>
            {
                var names           = new string[2];
                var values          = new string[2];
                names[0]            = PiPermissionTable.FieldResourceCategory;
                values[0]           = resourceCategory;
                names[1]            = PiPermissionTable.FieldResourceId;
                values[1]           = resourceId;
                DataTable dataTable = DbCommonLibary.GetDT(dbProvider, PiPermissionTable.TableName, names, values);
                returnValue         = BusinessLogic.FieldToArray(dataTable, PiPermissionTable.FieldPermissionId);
            });
            return(returnValue);
        }
예제 #6
0
 public virtual DataTable GetDT(string name, Object[] values)
 {
     return(DbCommonLibary.GetDT(DBProvider, this.CurrentTableName, name, values));
 }
예제 #7
0
 /// <summary>
 /// 获取分页DataTable
 /// </summary>
 /// <param name="recordCount">记录总数</param>
 /// <param name="currentPage">当前页数</param>
 /// <param name="perPage">每页显示多少条</param>
 /// <param name="whereConditional">条件</param>
 /// <param name="order">排序字段</param>
 /// <returns>数据表</returns>
 public virtual DataTable GetDT(out int recordCount, int currentPage, int perPage, string whereConditional, string order)
 {
     recordCount = DbCommonLibary.GetCount(DBProvider, this.CurrentTableName, whereConditional);
     return(DbCommonLibary.GetDT(DBProvider, this.CurrentTableName, currentPage, perPage, whereConditional, order));
 }
예제 #8
0
 /// <summary>
 /// 读取多条记录
 /// </summary>
 /// <returns>数据表</returns>
 public virtual DataTable GetDT()
 {
     return(DbCommonLibary.GetDT(DBProvider, this.CurrentTableName));
 }
예제 #9
0
 /// <summary>
 /// 按父亲节点获取数据
 /// </summary>
 /// <param name="parentId">父节点主键</param>
 /// <returns>数据表</returns>
 public virtual DataTable GetDTByParent(string parentId)
 {
     return(DbCommonLibary.GetDT(DBProvider, this.CurrentTableName, BusinessLogic.FieldParentId, parentId, BusinessLogic.FieldSortCode));
 }
예제 #10
0
 /// <summary>
 /// 获取列表
 /// </summary>
 /// <param name="categoryId">类别主键</param>
 /// <returns>数据表</returns>
 public virtual DataTable GetDTByCategory(string categoryId)
 {
     return(DbCommonLibary.GetDT(DBProvider, this.CurrentTableName, BusinessLogic.FieldCategoryId, categoryId, BusinessLogic.FieldSortCode));
 }
예제 #11
0
        public virtual DataTable GetDT(params KeyValuePair <string, object>[] parameters)
        {
            List <KeyValuePair <string, object> > parametersList = parameters.ToList();

            return(DbCommonLibary.GetDT(DBProvider, this.CurrentTableName, parametersList));
        }
예제 #12
0
 public virtual DataTable GetDT(string[] names, Object[] values, int topLimit, string order)
 {
     return(DbCommonLibary.GetDT(DBProvider, this.CurrentTableName, names, values, topLimit, order));
 }
예제 #13
0
 public virtual DataTable GetDT(int topLimit, string order)
 {
     return(DbCommonLibary.GetDT(DBProvider, this.CurrentTableName, topLimit, order));
 }
예제 #14
0
 public virtual DataTable GetDT(string name, object value, string order)
 {
     return(DbCommonLibary.GetDT(DBProvider, this.CurrentTableName, name, value, order));
 }
예제 #15
0
 public virtual DataTable GetDT(string name1, object value1, string name2, object value2, int topLimit, string order)
 {
     return(DbCommonLibary.GetDT(DBProvider, this.CurrentTableName, name1, value1, name2, value2, topLimit, order));
 }
예제 #16
0
 public virtual DataTable GetDT(string[] ids)
 {
     return(DbCommonLibary.GetDT(DBProvider, this.CurrentTableName, ids));
 }