/// <summary>
        /// 获取列表
        /// </summary>
        /// <param name="categoryId">类别主键</param>
        /// <returns>数据表</returns>
        public virtual DataTable GetDataTableByCategory(string categoryId)
        {
            List <KeyValuePair <string, object> > parameters = new List <KeyValuePair <string, object> >();

            parameters.Add(new KeyValuePair <string, object>(BaseBusinessLogic.FieldCategoryId, categoryId));
            return(DbLogic.GetDataTable(DbHelper, this.CurrentTableName, parameters));
        }
        public virtual int Delete(object id)
        {
            List <KeyValuePair <string, object> > parameters = new List <KeyValuePair <string, object> >();

            parameters.Add(new KeyValuePair <string, object>(this.PrimaryKey, id));
            return(DbLogic.Delete(DbHelper, this.CurrentTableName, parameters));
        }
Example #3
0
        public virtual string[] GetIds(KeyValuePair <string, object> parameter)
        {
            List <KeyValuePair <string, object> > parameters = new List <KeyValuePair <string, object> >();

            parameters.Add(parameter);
            return(DbLogic.GetProperties(DbHelper, this.CurrentTableName, parameters, 0, BaseBusinessLogic.FieldId));
        }
Example #4
0
        public virtual string[] GetProperties(KeyValuePair <string, object> parameter, int topLimit, string targetField)
        {
            List <KeyValuePair <string, object> > parameters = new List <KeyValuePair <string, object> >();

            parameters.Add(parameter);
            return(DbLogic.GetProperties(DbHelper, this.CurrentTableName, parameters, topLimit, targetField));
        }
Example #5
0
        public virtual bool Exists(KeyValuePair <string, object> parameter, object id)
        {
            List <KeyValuePair <string, object> > parameters = new List <KeyValuePair <string, object> >();

            parameters.Add(parameter);
            return(DbLogic.Exists(DbHelper, this.CurrentTableName, parameters, new KeyValuePair <string, object>(this.PrimaryKey, id)));
        }
        //
        // 读取属性
        //

        public virtual string GetProperty(object id, string targetField)
        {
            List <KeyValuePair <string, object> > parameters = new List <KeyValuePair <string, object> >();

            parameters.Add(new KeyValuePair <string, object>(BaseBusinessLogic.FieldId, id));
            return(DbLogic.GetProperty(DbHelper, this.CurrentTableName, parameters, targetField));
        }
Example #7
0
        /// <summary>
        /// 获得序列
        /// </summary>
        /// <param name="fullName">序列名</param>
        /// <param name="defaultSequence">默认序列</param>
        /// <returns>序列实体</returns>
        protected BaseSequenceEntity GetSequenceByLock(string fullName, int defaultSequence)
        {
            BaseSequenceEntity sequenceEntity = new BaseSequenceEntity();

            // 这里主要是为了判断是否存在
            sequenceEntity = this.GetEntityByName(fullName);
            if (sequenceEntity == null)
            {
                // 这里添加记录时加锁机制。
                // 是否已经被锁住
                this.ReturnStatusCode = StatusCode.CanNotLock.ToString();
                for (int i = 0; i < BaseSystemInfo.LockNoWaitCount; i++)
                {
                    // 被锁定的记录数
                    int lockCount = DbLogic.LockNoWait(DbHelper, BaseSequenceEntity.TableName, new KeyValuePair <string, object>(BaseSequenceEntity.FieldFullName, BaseSequenceEntity.TableName));
                    if (lockCount > 0)
                    {
                        sequenceEntity.FullName  = fullName;
                        sequenceEntity.Reduction = defaultSequence - 1;
                        sequenceEntity.Sequence  = defaultSequence;
                        sequenceEntity.Step      = DefaultStep;
                        this.AddEntity(sequenceEntity);

                        this.ReturnStatusCode = StatusCode.LockOK.ToString();
                        break;
                    }
                    else
                    {
                        System.Threading.Thread.Sleep(BaseRandom.GetRandom(1, BaseSystemInfo.LockNoWaitTickMilliSeconds));
                    }
                }
                if (this.ReturnStatusCode == StatusCode.LockOK.ToString())
                {
                    // JiRiGaLa 这个是否能省略
                    sequenceEntity = this.GetEntityByName(fullName);
                }
            }
            else
            {
                // 若记录已经存在,加锁,然后读取记录。
                // 是否已经被锁住
                this.ReturnStatusCode = StatusCode.CanNotLock.ToString();
                for (int i = 0; i < BaseSystemInfo.LockNoWaitCount; i++)
                {
                    // 被锁定的记录数
                    int lockCount = DbLogic.LockNoWait(DbHelper, BaseSequenceEntity.TableName, new KeyValuePair <string, object>(BaseSequenceEntity.FieldFullName, fullName));
                    if (lockCount > 0)
                    {
                        sequenceEntity        = this.GetEntityByName(fullName);
                        this.ReturnStatusCode = StatusCode.LockOK.ToString();
                        break;
                    }
                    else
                    {
                        System.Threading.Thread.Sleep(BaseRandom.GetRandom(1, BaseSystemInfo.LockNoWaitTickMilliSeconds));
                    }
                }
            }
            return(sequenceEntity);
        }
 /// <summary>
 /// 分页读取数据
 /// </summary>
 /// <param name="recordCount">页面个数</param>
 /// <param name="pageIndex">当前页</param>
 /// <param name="pageSize">每页显示</param>
 /// <param name="tableName">从什么表</param>
 /// <param name="whereConditional">条件</param>
 /// <param name="selectField">选择哪些字段</param>
 /// <returns>数据表</returns>
 public virtual DataTable GetDataTableByPage(out int recordCount, int pageIndex = 1, int pageSize = 20, string sortExpression = null, string sortDire = null, string tableName = null, string whereConditional = null, string selectField = null)
 {
     if (tableName.ToUpper().IndexOf("SELECT") >= 0)
     {
         // 统计总条数
         string commandText = string.Empty;
         if (string.IsNullOrEmpty(tableName))
         {
             tableName = this.CurrentTableName;
         }
         commandText = tableName;
         if (tableName.ToUpper().IndexOf("SELECT") >= 0)
         {
             commandText = "(" + tableName + ") AS T ";
         }
         commandText = string.Format("SELECT COUNT(1) AS recordCount FROM {0}", commandText);
         object returnObject = DbHelper.ExecuteScalar(commandText);
         if (returnObject != null)
         {
             recordCount = int.Parse(returnObject.ToString());
         }
         else
         {
             recordCount = 0;
         }
         return(DbLogic.GetDataTableByPage(DbHelper, recordCount, pageIndex, pageSize, tableName, sortExpression, sortDire));
     }
     // 这个是调用存储过程的方法
     return(DbLogic.GetDataTableByPage(DbHelper, out recordCount, pageIndex, pageSize, sortExpression, sortDire, tableName, whereConditional, selectField));
 }
Example #9
0
        //
        // 设置属性
        //

        public virtual int SetProperty(KeyValuePair <string, object> parameter)
        {
            List <KeyValuePair <string, object> > parameters = new List <KeyValuePair <string, object> >();

            parameters.Add(parameter);
            return(DbLogic.SetProperty(DbHelper, this.CurrentTableName, null, parameters));
        }
        public virtual DataTable GetDataTable(KeyValuePair <string, object> parameter, int topLimit = 0, string order = null)
        {
            List <KeyValuePair <string, object> > parameters = new List <KeyValuePair <string, object> >();

            parameters.Add(parameter);
            return(DbLogic.GetDataTable(DbHelper, this.CurrentTableName, parameters, topLimit, order));
        }
        /// <summary>
        /// 按父亲节点获取数据
        /// </summary>
        /// <param name="parentId">父节点主键</param>
        /// <returns>数据表</returns>
        public virtual DataTable GetDataTableByParent(string parentId)
        {
            List <KeyValuePair <string, object> > parameters = new List <KeyValuePair <string, object> >();

            parameters.Add(new KeyValuePair <string, object>(BaseBusinessLogic.FieldParentId, parentId));
            return(DbLogic.GetDataTable(DbHelper, this.CurrentTableName, parameters, 0, BaseBusinessLogic.FieldSortCode));
        }
        public virtual DataTable GetDataTable(KeyValuePair <string, object> parameter1, KeyValuePair <string, object> parameter2, string order)
        {
            List <KeyValuePair <string, object> > parameters = new List <KeyValuePair <string, object> >();

            parameters.Add(parameter1);
            parameters.Add(parameter2);
            return(DbLogic.GetDataTable(DbHelper, this.CurrentTableName, parameters, 0, order));
        }
        /// <summary>
        /// 获取主键
        /// </summary>
        /// <param name="code">编号</param>
        /// <returns>主键</returns>
        public virtual string GetIdByCode(string code)
        {
            List <KeyValuePair <string, object> > parameters = new List <KeyValuePair <string, object> >();

            parameters.Add(new KeyValuePair <string, object>(BaseBusinessLogic.FieldCode, code));
            parameters.Add(new KeyValuePair <string, object>(BaseBusinessLogic.FieldDeletionStateCode, 0));
            return(DbLogic.GetProperty(DbHelper, this.CurrentTableName, parameters, BaseBusinessLogic.FieldId));
        }
        public virtual string GetProperty(KeyValuePair <string, object> parameter1, KeyValuePair <string, object> parameter2, string targetField)
        {
            List <KeyValuePair <string, object> > parameters = new List <KeyValuePair <string, object> >();

            parameters.Add(parameter1);
            parameters.Add(parameter2);
            return(DbLogic.GetProperty(DbHelper, this.CurrentTableName, parameters, targetField));
        }
Example #15
0
        public virtual bool Exists(KeyValuePair <string, object> parameter1, KeyValuePair <string, object> parameter2, KeyValuePair <string, object> parameter)
        {
            List <KeyValuePair <string, object> > parameters = new List <KeyValuePair <string, object> >();

            parameters.Add(parameter1);
            parameters.Add(parameter2);
            return(DbLogic.Exists(DbHelper, this.CurrentTableName, parameters, parameter));
        }
        /// <summary>
        /// 获取列表
        /// </summary>
        /// <param name="categoryId">类别主键</param>
        /// <returns>数据表</returns>
        public virtual List <T> GetListByCategory <T>(string categoryId) where T : new()
        {
            List <KeyValuePair <string, object> > parameters = new List <KeyValuePair <string, object> >();

            parameters.Add(new KeyValuePair <string, object>(BaseBusinessLogic.FieldCategoryId, categoryId));
            IDataReader dr = DbLogic.GetDataReader(DbHelper, this.CurrentTableName, parameters);

            return(GetList <T>(dr));
        }
        public virtual List <T> GetList <T>(KeyValuePair <string, object> parameter, int topLimit, string order) where T : new()
        {
            List <KeyValuePair <string, object> > parameters = new List <KeyValuePair <string, object> >();

            parameters.Add(parameter);
            IDataReader dr = DbLogic.GetDataReader(DbHelper, this.CurrentTableName, parameters, topLimit, order);

            return(GetList <T>(dr));
        }
Example #18
0
        public virtual int DeleteEntity(params KeyValuePair <string, object>[] parameters)
        {
            List <KeyValuePair <string, object> > parametersList = new List <KeyValuePair <string, object> >();

            for (int i = 0; i < parameters.Length; i++)
            {
                parametersList.Add(parameters[i]);
            }
            return(DbLogic.Delete(DbHelper, this.CurrentTableName, parametersList));
        }
        public virtual string GetId(params KeyValuePair <string, object>[] parameters)
        {
            List <KeyValuePair <string, object> > parameterList = new List <KeyValuePair <string, object> >();

            foreach (var parameter in parameters)
            {
                parameterList.Add(parameter);
            }
            return(DbLogic.GetProperty(DbHelper, this.CurrentTableName, parameterList, BaseBusinessLogic.FieldId));
        }
        public virtual List <T> GetList <T>(params KeyValuePair <string, object>[] parameters) where T : new()
        {
            List <KeyValuePair <string, object> > parametersList = new List <KeyValuePair <string, object> >();

            for (int i = 0; i < parameters.Length; i++)
            {
                parametersList.Add(parameters[i]);
            }
            IDataReader dr = DbLogic.GetDataReader(DbHelper, this.CurrentTableName, parametersList);

            return(GetList <T>(dr));
        }
Example #21
0
        public virtual int Delete(string name, object[] values)
        {
            int returnValue = 0;

            for (int i = 0; i < values.Length; i++)
            {
                List <KeyValuePair <string, object> > parameters = new List <KeyValuePair <string, object> >();
                parameters.Add(new KeyValuePair <string, object>(name, values[i]));
                returnValue += DbLogic.Delete(DbHelper, this.CurrentTableName, parameters);
            }
            return(returnValue);
        }
        public virtual List <T> GetList <T>(List <KeyValuePair <string, object> > parameters, string order) where T : new()
        {
            IDataReader dr = DbLogic.GetDataReader(DbHelper, this.CurrentTableName, parameters, 0, order);

            return(GetList <T>(dr));
        }
        public virtual List <T> GetList <T>(string name, Object[] values, string order = null) where T : new()
        {
            IDataReader dr = DbLogic.GetDataReader(DbHelper, this.CurrentTableName, name, values, order);

            return(GetList <T>(dr));
        }
        public virtual List <T> GetList <T>(string[] ids) where T : new()
        {
            IDataReader dr = DbLogic.GetDataReader(DbHelper, this.CurrentTableName, BaseBusinessLogic.FieldId, ids);

            return(GetList <T>(dr));
        }
        public virtual List <T> GetList <T>(int topLimit = 0, string order = null) where T : new()
        {
            IDataReader dr = DbLogic.GetDataReader(DbHelper, this.CurrentTableName, null, topLimit, order);

            return(GetList <T>(dr));
        }
 /// <summary>
 /// 获取父节点列表
 /// </summary>
 /// <param name="fieldCode">编码字段</param>
 /// <param name="code">编码</param>
 /// <returns>主键数组</returns>
 public string[] GetParentsIdByCode(string fieldCode, string code)
 {
     return(DbLogic.GetParentsIDByCode(DbHelper, this.CurrentTableName, fieldCode, code, string.Empty));
 }
 /// <summary>
 /// 获取父子节点列表
 /// </summary>
 /// <param name="fieldCode">编码字段</param>
 /// <param name="code">编码</param>
 /// <param name="order">排序</param>
 /// <returns>数据表</returns>
 public DataTable GetParentChildrensByCode(string fieldCode, string code, string order)
 {
     return(DbLogic.GetParentChildrensByCode(DbHelper, this.CurrentTableName, fieldCode, code, order));
 }
 /// <summary>
 /// 获取子节点列表
 /// </summary>
 /// <param name="fieldId">主键字段</param>
 /// <param name="id">值</param>
 /// <param name="fieldParentId">父亲节点字段</param>
 /// <param name="order">排序</param>
 /// <returns>数据表</returns>
 public DataTable GetChildrens(string fieldId, string id, string fieldParentId, string order)
 {
     return(DbLogic.GetChildrens(DbHelper, this.CurrentTableName, fieldId, id, fieldParentId, order));
 }
 /// <summary>
 /// 获取子节点列表
 /// </summary>
 /// <param name="fieldId">主键字段</param>
 /// <param name="id">值</param>
 /// <param name="fieldParentId">父亲节点字段</param>
 /// <param name="order">排序</param>
 /// <returns>主键数组</returns>
 public string[] GetChildrensId(string fieldId, string id, string fieldParentId)
 {
     return(DbLogic.GetChildrensId(DbHelper, this.CurrentTableName, fieldId, id, fieldParentId, string.Empty));
 }
 public virtual DataTable GetDataTable(string name, Object[] values, string order = null)
 {
     return(DbLogic.GetDataTable(BaseSystemInfo.UserCenterDbType, DbHelper, this.CurrentTableName, name, values, order));
 }