Beispiel #1
0
        public static int SetBottom(IDbHelper dbHelper, string tableName, string id, string sequenceName)
        {
            if (String.IsNullOrEmpty(sequenceName))
            {
                sequenceName = tableName;
            }
            BaseSequenceManager sequenceManager = new BaseSequenceManager(dbHelper);
            string sequence = sequenceManager.Increment(sequenceName);

            List <KeyValuePair <string, object> > whereParameters = new List <KeyValuePair <string, object> >();

            whereParameters.Add(new KeyValuePair <string, object>(BaseBusinessLogic.FieldId, id));
            List <KeyValuePair <string, object> > parameters = new List <KeyValuePair <string, object> >();

            parameters.Add(new KeyValuePair <string, object>(BaseBusinessLogic.FieldSortCode, sequence));
            return(DbLogic.SetProperty(dbHelper, tableName, whereParameters, parameters));
        }
Beispiel #2
0
        /// <summary>
        /// 添加实体
        /// </summary>
        /// <param name="userInfo">操作员</param>
        /// <param name="entity">实体</param>
        /// <returns>主键</returns>
        public string AddEntity(BaseUserInfo userInfo, BaseContactEntity entity)
        {
            string sequence = string.Empty;

            sequence = entity.Id;
            if (entity.SortCode == 0)
            {
                BaseSequenceManager sequenceManager = new BaseSequenceManager(DbHelper, this.Identity);
                sequence        = sequenceManager.Increment(this.CurrentTableName);
                entity.SortCode = int.Parse(sequence);
            }
            if (entity.Id is string)
            {
                this.Identity = false;
                this.ReturnId = false;
            }
            SQLBuilder sqlBuilder = new SQLBuilder(DbHelper, this.Identity, this.ReturnId);

            sqlBuilder.BeginInsert(BaseContactEntity.TableName, BaseContactEntity.FieldId);
            if (!this.Identity)
            {
                sqlBuilder.SetValue(BaseContactEntity.FieldId, entity.Id);
            }
            this.SetEntity(sqlBuilder, entity);
            if (userInfo != null)
            {
                sqlBuilder.SetValue(BaseContactEntity.FieldCreateUserId, userInfo.Id);
                sqlBuilder.SetValue(BaseContactEntity.FieldCreateBy, userInfo.RealName);
            }
            sqlBuilder.SetDBNow(BaseContactEntity.FieldCreateOn);
            if (userInfo != null)
            {
                sqlBuilder.SetValue(BaseContactEntity.FieldModifiedUserId, userInfo.Id);
                sqlBuilder.SetValue(BaseContactEntity.FieldModifiedBy, userInfo.RealName);
            }
            sqlBuilder.SetDBNow(BaseContactEntity.FieldModifiedOn);
            if (DbHelper.CurrentDbType == CurrentDbType.SqlServer && this.Identity)
            {
                sequence = sqlBuilder.EndInsert().ToString();
            }
            else
            {
                sqlBuilder.EndInsert();
            }
            return(sequence);
        }
Beispiel #3
0
        /// <summary>
        /// 重置排序码
        /// </summary>
        /// <param name="parentId">父节点主键</param>
        public int ResetSortCode(string parentId)
        {
            var result          = 0;
            var dt              = GetDataTableByParent(parentId);
            var id              = string.Empty;
            var managerSequence = new BaseSequenceManager(DbHelper);
            var sortCode        = managerSequence.GetBatchSequence(BaseModuleEntity.CurrentTableName, dt.Rows.Count);
            var i = 0;

            foreach (DataRow dr in dt.Rows)
            {
                id      = dr[BaseModuleEntity.FieldId].ToString();
                result += SetProperty(id, new KeyValuePair <string, object>(BaseModuleEntity.FieldSortCode, sortCode[i]));
                i++;
            }
            return(result);
        }
Beispiel #4
0
        /// <summary>
        /// 更新序列
        /// </summary>
        /// <param name="userInfo">用户</param>
        /// <param name="sequenceEntity">序列实体</param>
        /// <param name="statusCode">状态码</param>
        /// <param name="statusMessage">状态信息</param>
        /// <returns>影响行数</returns>
        public int Update(BaseUserInfo userInfo, BaseSequenceEntity sequenceEntity, out string statusCode, out string statusMessage)
        {
            // 写入调试信息
            #if (DEBUG)
            int milliStart = BaseBusinessLogic.StartDebug(userInfo, MethodBase.GetCurrentMethod());
            #endif

            // 加强安全验证防止未授权匿名调用
            #if (!DEBUG)
            LogOnService.UserIsLogOn(userInfo);
            #endif

            statusCode    = string.Empty;
            statusMessage = string.Empty;

            int returnValue = 0;
            using (IDbHelper dbHelper = DbHelperFactory.GetHelper(BaseSystemInfo.UserCenterDbType))
            {
                try
                {
                    dbHelper.Open(UserCenterDbConnection);
                    BaseSequenceManager sequenceManager = new BaseSequenceManager(dbHelper, userInfo);
                    // 编辑数据
                    returnValue = sequenceManager.Update(sequenceEntity, out statusCode);
                    // returnValue = businessCardManager.Update(businessCardEntity, out statusCode);
                    statusMessage = sequenceManager.GetStateMessage(statusCode);
                    BaseLogManager.Instance.Add(dbHelper, userInfo, this.serviceName, AppMessage.SequenceService_Update, MethodBase.GetCurrentMethod());
                }
                catch (Exception ex)
                {
                    BaseExceptionManager.LogException(dbHelper, userInfo, ex);
                    throw ex;
                }
                finally
                {
                    dbHelper.Close();
                }
            }

            // 写入调试信息
            #if (DEBUG)
            BaseBusinessLogic.EndDebug(MethodBase.GetCurrentMethod(), milliStart);
            #endif
            return(returnValue);
        }
Beispiel #5
0
        public int Grant(string[] userIds, string[] permissionItemIds)
        {
            int returnValue = 0;
            BaseSequenceManager sequenceManager = new BaseSequenceManager(DbHelper);

            string[] sequenceIds = sequenceManager.GetBatchSequence(BasePermissionEntity.TableName, userIds.Length * permissionItemIds.Length);
            BasePermissionManager permissionManager = new BasePermissionManager(DbHelper, UserInfo, this.CurrentTableName);

            for (int i = 0; i < userIds.Length; i++)
            {
                for (int j = 0; j < permissionItemIds.Length; j++)
                {
                    this.Grant(permissionManager, sequenceIds[i * permissionItemIds.Length + j], userIds[i], permissionItemIds[j]);
                    returnValue++;
                }
            }
            return(returnValue);
        }
        /// <summary>
        /// 重置排序码
        /// </summary>
        /// <param name="parentId">父节点主键</param>
        public int ResetSortCode(string parentId)
        {
            int                 returnValue     = 0;
            DataTable           dataTable       = this.GetDataTableByParent(parentId);
            string              id              = string.Empty;
            BaseSequenceManager sequenceManager = new BaseSequenceManager(DbHelper);

            string[] sortCode = sequenceManager.GetBatchSequence(BaseModuleEntity.TableName, dataTable.Rows.Count);
            int      i        = 0;

            foreach (DataRow dataRow in dataTable.Rows)
            {
                id           = dataRow[BaseModuleEntity.FieldId].ToString();
                returnValue += this.SetProperty(id, new KeyValuePair <string, object>(BaseModuleEntity.FieldSortCode, sortCode[i]));
                i++;
            }
            return(returnValue);
        }
Beispiel #7
0
        /// <summary>
        /// 获取新序列号
        /// </summary>
        /// <param name="userInfo">用户</param>
        /// <param name="fullName">序列名称</param>
        /// <param name="defaultSequence">默认序列</param>
        /// <param name="sequenceLength">序列长度</param>
        /// <param name="fillZeroPrefix">是否填充补零</param>
        /// <returns>序列号</returns>
        public string GetNewSequence(BaseUserInfo userInfo, string fullName, int defaultSequence, int sequenceLength, bool fillZeroPrefix)
        {
            // 写入调试信息
            #if (DEBUG)
            int milliStart = BaseBusinessLogic.StartDebug(userInfo, MethodBase.GetCurrentMethod());
            #endif

            // 加强安全验证防止未授权匿名调用
            #if (!DEBUG)
            LogOnService.UserIsLogOn(userInfo);
            #endif

            string returnValue = string.Empty;

            // 这里是为了防止并发冲突用的
            lock (LOCK)
            {
                using (IDbHelper dbHelper = DbHelperFactory.GetHelper(BaseSystemInfo.UserCenterDbType))
                {
                    try
                    {
                        dbHelper.Open(UserCenterDbConnection);
                        BaseSequenceManager sequenceManager = new BaseSequenceManager(dbHelper);
                        returnValue = sequenceManager.GetSequence(fullName, defaultSequence, sequenceLength, fillZeroPrefix);
                    }
                    catch (Exception ex)
                    {
                        BaseExceptionManager.LogException(dbHelper, userInfo, ex);
                        throw ex;
                    }
                    finally
                    {
                        dbHelper.Close();
                    }
                }
            }

            // 写入调试信息
            #if (DEBUG)
            BaseBusinessLogic.EndDebug(MethodBase.GetCurrentMethod(), milliStart);
            #endif
            return(returnValue);
        }
Beispiel #8
0
        //
        // 排序操作针对数据库的运算方式定义(好用高效的排序顺序设定方法)
        //

        #region 置顶排序(SortCode变小)
        /// <summary>
        /// 置顶排序(SortCode变小)
        /// </summary>
        /// <param name="dbHelper">当前数据库连接</param>
        /// <param name="tableName">表名</param>
        /// <param name="id">主键</param>
        /// <returns>影响行数</returns>
        public static int SetTop(IDbHelper dbHelper, string tableName, string id)
        {
            var managerSequence = new BaseSequenceManager(dbHelper);

            //先重置一下,避免手动添加的数据造成功能无效
            managerSequence.Reset(tableName);
            var sequence        = managerSequence.GetReduction(tableName);
            var whereParameters =
                new List <KeyValuePair <string, object> >
            {
                new KeyValuePair <string, object>(BaseUtil.FieldId, id)
            };
            var parameters = new List <KeyValuePair <string, object> >
            {
                new KeyValuePair <string, object>(BaseUtil.FieldSortCode, sequence)
            };

            return(DbUtil.SetProperty(dbHelper, tableName, whereParameters, parameters));
        }
Beispiel #9
0
        /// <summary>
        /// 批量重置序列
        /// </summary>
        /// <param name="userInfo">用户</param>
        /// <param name="ids">主键数组</param>
        /// <returns>影响行数</returns>
        public int Reset(BaseUserInfo userInfo, string[] ids)
        {
            // 写入调试信息
            #if (DEBUG)
            int milliStart = BaseBusinessLogic.StartDebug(userInfo, MethodBase.GetCurrentMethod());
            #endif

            // 加强安全验证防止未授权匿名调用
            #if (!DEBUG)
            LogOnService.UserIsLogOn(userInfo);
            #endif

            int returnValue = 0;

            using (IDbHelper dbHelper = DbHelperFactory.GetHelper(BaseSystemInfo.UserCenterDbType))
            {
                try
                {
                    dbHelper.Open(UserCenterDbConnection);
                    BaseSequenceManager sequenceManager = new BaseSequenceManager(dbHelper);
                    returnValue = sequenceManager.Reset(ids);
                    BaseLogManager.Instance.Add(dbHelper, userInfo, this.serviceName, AppMessage.SequenceService_Reset, MethodBase.GetCurrentMethod());
                }
                catch (Exception ex)
                {
                    BaseExceptionManager.LogException(dbHelper, userInfo, ex);
                    throw ex;
                }
                finally
                {
                    dbHelper.Close();
                }
            }

            // 写入调试信息
            #if (DEBUG)
            BaseBusinessLogic.EndDebug(MethodBase.GetCurrentMethod(), milliStart);
            #endif

            return(returnValue);
        }
        /// <summary>
        /// 新增公司员工
        /// </summary>
        /// <param name="employee"></param>
        /// <returns></returns>
        public bool AddEmployee(TAB_EMPLOYEEEntity employee)
        {
            try
            {
                BaseSequenceManager sequenceManager = new BaseSequenceManager();
                TAB_EMPLOYEEManager employeeManager = new TAB_EMPLOYEEManager();
                // 序列产生的ID,BaseUser表中员工的信息为负数
                employee.ID         = (-1) * int.Parse(sequenceManager.Increment("TAB_USER"));
                employee.UPDATETIME = DateTime.Now;
                //新增公司员工到K8库中
                employeeManager.Add(employee, false, false);

                //添加公司员工成功成功后,同步到中天的baseuser表中
                AfterUpdateEmployee(employee);
                return(true);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Beispiel #11
0
        /// <summary>
        /// 添加序列
        /// </summary>
        /// <param name="userInfo">用户</param>
        /// <param name="entity">序列实体</param>
        /// <param name="statusCode">状态码</param>
        /// <param name="statusMessage">状态信息</param>
        /// <returns>主键</returns>
        public string Add(BaseUserInfo userInfo, BaseSequenceEntity entity, out string statusCode, out string statusMessage)
        {
            string result = string.Empty;

            string returnCode    = string.Empty;
            string returnMessage = string.Empty;
            var    parameter     = ServiceInfo.Create(userInfo, MethodBase.GetCurrentMethod());

            ServiceUtil.ProcessUserCenterWriteDb(userInfo, parameter, (dbHelper) =>
            {
                var sequenceManager = new BaseSequenceManager(dbHelper, userInfo);
                // 调用方法,并且返回运行结果
                result = sequenceManager.Add(entity, out returnCode);
                // result = businessCardManager.Add(businessCardEntity, out statusCode);
                returnMessage = sequenceManager.GetStateMessage(returnCode);
            });
            statusCode    = returnCode;
            statusMessage = returnMessage;

            return(result);
        }
Beispiel #12
0
        /// <summary>
        /// 更新序列
        /// </summary>
        /// <param name="userInfo">用户</param>
        /// <param name="entity">序列实体</param>
        /// <param name="status">状态</param>
        /// <param name="statusMessage">状态信息</param>
        /// <returns>影响行数</returns>
        public int Update(BaseUserInfo userInfo, BaseSequenceEntity entity, out Status status, out string statusMessage)
        {
            var result = 0;

            var returnCode    = Status.Ok;
            var returnMessage = string.Empty;

            var parameter = ServiceInfo.Create(userInfo, MethodBase.GetCurrentMethod());

            ServiceUtil.ProcessUserCenterWriteDb(userInfo, parameter, (dbHelper) =>
            {
                var manager = new BaseSequenceManager(dbHelper, userInfo);
                // 编辑数据
                result = manager.Update(entity, out returnCode);
                // result = businessCardManager.Update(businessCardEntity, out status);
                returnMessage = manager.GetStateMessage(returnCode);
            });
            status        = returnCode;
            statusMessage = returnMessage;
            return(result);
        }
Beispiel #13
0
        /// <summary>
        /// 获取序列号列表
        /// </summary>
        /// <param name="userInfo">用户</param>
        /// <returns>数据表</returns>
        public DataTable GetDataTable(BaseUserInfo userInfo)
        {
            // 写入调试信息
            #if (DEBUG)
            int milliStart = BaseBusinessLogic.StartDebug(userInfo, MethodBase.GetCurrentMethod());
            #endif

            // 加强安全验证防止未授权匿名调用
            #if (!DEBUG)
            LogOnService.UserIsLogOn(userInfo);
            #endif

            DataTable dataTable = new DataTable(BaseSequenceEntity.TableName);
            using (IDbHelper dbHelper = DbHelperFactory.GetHelper(BaseSystemInfo.UserCenterDbType))
            {
                try
                {
                    dbHelper.Open(UserCenterDbConnection);
                    BaseSequenceManager sequenceManager = new BaseSequenceManager(dbHelper);
                    dataTable           = sequenceManager.GetDataTable();
                    dataTable.TableName = BaseSequenceEntity.TableName;
                    BaseLogManager.Instance.Add(dbHelper, userInfo, this.serviceName, AppMessage.SequenceService_GetDataTable, MethodBase.GetCurrentMethod());
                }
                catch (Exception ex)
                {
                    BaseExceptionManager.LogException(dbHelper, userInfo, ex);
                    throw ex;
                }
                finally
                {
                    dbHelper.Close();
                }
            }

            // 写入调试信息
            #if (DEBUG)
            BaseBusinessLogic.EndDebug(MethodBase.GetCurrentMethod(), milliStart);
            #endif
            return(dataTable);
        }
Beispiel #14
0
        /// <summary>
        /// 上移
        /// </summary>
        /// <param name="dbHelper"></param>
        /// <param name="tableName"></param>
        /// <param name="id"></param>
        /// <param name="sequenceName"></param>
        /// <returns></returns>
        public static int SetTop(IDbHelper dbHelper, string tableName, string id, string sequenceName)
        {
            if (string.IsNullOrEmpty(sequenceName))
            {
                sequenceName = tableName;
            }
            var managerSequence = new BaseSequenceManager(dbHelper);

            //先重置一下,避免手动添加的数据造成功能无效
            managerSequence.Reset(sequenceName);
            var sequence = managerSequence.Increment(sequenceName);

            var whereParameters =
                new List <KeyValuePair <string, object> >
            {
                new KeyValuePair <string, object>(BaseUtil.FieldId, id)
            };
            var parameters = new List <KeyValuePair <string, object> >
            {
                new KeyValuePair <string, object>(BaseUtil.FieldSortCode, sequence)
            };

            return(DbUtil.SetProperty(dbHelper, tableName, whereParameters, parameters));
        }
        /// <summary>
        /// 添加实体
        /// </summary>
        /// <param name="baseWorkFlowBillTemplateEntity">实体</param>
        public string AddEntity(BaseWorkFlowBillTemplateEntity baseWorkFlowBillTemplateEntity)
        {
            string sequence = string.Empty;

            this.Identity = false;
            if (baseWorkFlowBillTemplateEntity.SortCode == null || baseWorkFlowBillTemplateEntity.SortCode == 0)
            {
                BaseSequenceManager sequenceManager = new BaseSequenceManager(DbHelper, this.Identity);
                sequence = sequenceManager.GetSequence(this.CurrentTableName);
                baseWorkFlowBillTemplateEntity.SortCode = int.Parse(sequence);
            }
            if (baseWorkFlowBillTemplateEntity.Id != null)
            {
                sequence = baseWorkFlowBillTemplateEntity.Id.ToString();
            }
            SQLBuilder sqlBuilder = new SQLBuilder(DbHelper, this.Identity, this.ReturnId);

            sqlBuilder.BeginInsert(this.CurrentTableName, BaseWorkFlowBillTemplateEntity.FieldId);
            if (!this.Identity)
            {
                if (string.IsNullOrEmpty(baseWorkFlowBillTemplateEntity.Id))
                {
                    sequence = BaseBusinessLogic.NewGuid();
                    baseWorkFlowBillTemplateEntity.Id = sequence;
                }
                sqlBuilder.SetValue(BaseWorkFlowBillTemplateEntity.FieldId, baseWorkFlowBillTemplateEntity.Id);
            }
            else
            {
                if (!this.ReturnId && (DbHelper.CurrentDbType == CurrentDbType.Oracle || DbHelper.CurrentDbType == CurrentDbType.DB2))
                {
                    if (DbHelper.CurrentDbType == CurrentDbType.Oracle)
                    {
                        sqlBuilder.SetFormula(BaseWorkFlowBillTemplateEntity.FieldId, "SEQ_" + this.CurrentTableName.ToUpper() + ".NEXTVAL ");
                    }
                    if (DbHelper.CurrentDbType == CurrentDbType.DB2)
                    {
                        sqlBuilder.SetFormula(BaseWorkFlowBillTemplateEntity.FieldId, "NEXT VALUE FOR SEQ_" + this.CurrentTableName.ToUpper());
                    }
                }
                else
                {
                    if (this.Identity && (DbHelper.CurrentDbType == CurrentDbType.Oracle || DbHelper.CurrentDbType == CurrentDbType.DB2))
                    {
                        if (string.IsNullOrEmpty(baseWorkFlowBillTemplateEntity.Id))
                        {
                            if (string.IsNullOrEmpty(sequence))
                            {
                                BaseSequenceManager sequenceManager = new BaseSequenceManager(DbHelper, this.Identity);
                                sequence = sequenceManager.GetSequence(this.CurrentTableName);
                            }
                            baseWorkFlowBillTemplateEntity.Id = sequence;
                        }
                        sqlBuilder.SetValue(BaseWorkFlowBillTemplateEntity.FieldId, baseWorkFlowBillTemplateEntity.Id);
                    }
                }
            }
            this.SetEntity(sqlBuilder, baseWorkFlowBillTemplateEntity);
            if (UserInfo != null)
            {
                sqlBuilder.SetValue(BaseWorkFlowBillTemplateEntity.FieldCreateUserId, UserInfo.Id);
                sqlBuilder.SetValue(BaseWorkFlowBillTemplateEntity.FieldCreateBy, UserInfo.RealName);
            }
            sqlBuilder.SetDBNow(BaseWorkFlowBillTemplateEntity.FieldCreateOn);
            if (UserInfo != null)
            {
                sqlBuilder.SetValue(BaseWorkFlowBillTemplateEntity.FieldModifiedUserId, UserInfo.Id);
                sqlBuilder.SetValue(BaseWorkFlowBillTemplateEntity.FieldModifiedBy, UserInfo.RealName);
            }
            sqlBuilder.SetDBNow(BaseWorkFlowBillTemplateEntity.FieldModifiedOn);
            if (this.Identity && (DbHelper.CurrentDbType == CurrentDbType.SqlServer || DbHelper.CurrentDbType == CurrentDbType.Access))
            {
                sequence = sqlBuilder.EndInsert().ToString();
            }
            else
            {
                sqlBuilder.EndInsert();
            }
            return(sequence);
        }
        /// <summary>
        /// 添加实体
        /// </summary>
        /// <param name="userEntity">实体</param>
        public string AddEntity(BaseUserEntity userEntity)
        {
            string sequence = string.Empty;

            if (userEntity.SortCode == 0)
            {
                BaseSequenceManager sequenceManager = new BaseSequenceManager(DbHelper, this.Identity);
                sequence            = sequenceManager.GetSequence(this.CurrentTableName);
                userEntity.SortCode = int.Parse(sequence);
            }
            userEntity.QuickQuery = StringUtil.GetPinyin(userEntity.RealName);
            SQLBuilder sqlBuilder = new SQLBuilder(DbHelper, this.Identity, this.ReturnId);

            sqlBuilder.BeginInsert(this.CurrentTableName, BaseUserEntity.FieldId);
            if (!this.Identity)
            {
                sqlBuilder.SetValue(BaseUserEntity.FieldId, userEntity.Id);
            }
            else
            {
                if (!this.ReturnId && (DbHelper.CurrentDbType == CurrentDbType.Oracle || DbHelper.CurrentDbType == CurrentDbType.DB2))
                {
                    if (DbHelper.CurrentDbType == CurrentDbType.Oracle)
                    {
                        sqlBuilder.SetFormula(BaseUserEntity.FieldId, "SEQ_" + this.CurrentTableName.ToUpper() + ".NEXTVAL ");
                    }
                    if (DbHelper.CurrentDbType == CurrentDbType.DB2)
                    {
                        sqlBuilder.SetFormula(BaseUserEntity.FieldId, "NEXT VALUE FOR SEQ_" + this.CurrentTableName.ToUpper());
                    }
                }
                else
                {
                    if (this.Identity && (DbHelper.CurrentDbType == CurrentDbType.Oracle || DbHelper.CurrentDbType == CurrentDbType.DB2))
                    {
                        if (userEntity.Id == null)
                        {
                            if (string.IsNullOrEmpty(sequence))
                            {
                                BaseSequenceManager sequenceManager = new BaseSequenceManager(DbHelper, this.Identity);
                                sequence = sequenceManager.GetSequence(this.CurrentTableName);
                            }
                            userEntity.Id = sequence;
                        }
                        sqlBuilder.SetValue(BaseUserEntity.FieldId, userEntity.Id);
                    }
                }
            }
            this.SetEntity(sqlBuilder, userEntity);
            if (UserInfo != null)
            {
                sqlBuilder.SetValue(BaseUserEntity.FieldCreateUserId, UserInfo.Id);
                sqlBuilder.SetValue(BaseUserEntity.FieldCreateBy, UserInfo.RealName);
            }
            sqlBuilder.SetDBNow(BaseUserEntity.FieldCreateOn);
            if (UserInfo != null)
            {
                sqlBuilder.SetValue(BaseUserEntity.FieldModifiedUserId, UserInfo.Id);
                sqlBuilder.SetValue(BaseUserEntity.FieldModifiedBy, UserInfo.RealName);
            }
            sqlBuilder.SetDBNow(BaseUserEntity.FieldModifiedOn);
            if (DbHelper.CurrentDbType == CurrentDbType.SqlServer && this.Identity)
            {
                sequence = sqlBuilder.EndInsert().ToString();
            }
            else
            {
                sqlBuilder.EndInsert();
            }
            return(sequence);
        }
        /// <summary>
        /// 添加实体
        /// </summary>
        /// <param name="entity">实体</param>
        public string AddObject(BaseOrganizeEntity entity)
        {
            string result = string.Empty;

            if (!entity.SortCode.HasValue)
            {
                BaseSequenceManager sequenceManager = new BaseSequenceManager(DbHelper, this.Identity);
                result          = sequenceManager.Increment(this.CurrentTableName);
                entity.SortCode = int.Parse(result);
            }
            SQLBuilder sqlBuilder = new SQLBuilder(DbHelper, this.Identity, this.ReturnId);

            sqlBuilder.BeginInsert(this.CurrentTableName, BaseOrganizeEntity.FieldId);

            if (string.IsNullOrEmpty(entity.Id) && DbHelper.CurrentDbType == CurrentDbType.MySql)
            {
                entity.Id = Guid.NewGuid().ToString("N");
            }
            if (!string.IsNullOrEmpty(entity.Id) || !this.Identity)
            {
                sqlBuilder.SetValue(BaseOrganizeEntity.FieldId, entity.Id);
            }
            else
            {
                if (DbHelper.CurrentDbType == CurrentDbType.Oracle)
                {
                    sqlBuilder.SetFormula(BaseOrganizeEntity.FieldId, "SEQ_" + this.CurrentTableName.ToUpper() + ".NEXTVAL ");
                }
                if (DbHelper.CurrentDbType == CurrentDbType.DB2)
                {
                    sqlBuilder.SetFormula(BaseOrganizeEntity.FieldId, "NEXT VALUE FOR SEQ_" + this.CurrentTableName.ToUpper());
                }
            }
            this.SetObject(sqlBuilder, entity);

            // 创建人信息
            if (!string.IsNullOrEmpty(entity.CreateUserId))
            {
                sqlBuilder.SetValue(BaseOrganizeEntity.FieldCreateUserId, entity.CreateUserId);
            }
            else
            {
                if (UserInfo != null)
                {
                    sqlBuilder.SetValue(BaseOrganizeEntity.FieldCreateUserId, UserInfo.Id);
                }
            }
            if (!string.IsNullOrEmpty(entity.CreateBy))
            {
                sqlBuilder.SetValue(BaseOrganizeEntity.FieldCreateBy, entity.CreateBy);
            }
            else
            {
                if (UserInfo != null)
                {
                    sqlBuilder.SetValue(BaseOrganizeEntity.FieldCreateBy, UserInfo.RealName);
                }
            }
            if (entity.CreateOn.HasValue)
            {
                sqlBuilder.SetValue(BaseOrganizeEntity.FieldCreateOn, entity.CreateOn);
            }
            else
            {
                sqlBuilder.SetDBNow(BaseOrganizeEntity.FieldCreateOn);
            }

            // 修改人信息
            if (!string.IsNullOrEmpty(entity.ModifiedUserId))
            {
                sqlBuilder.SetValue(BaseOrganizeEntity.FieldModifiedUserId, entity.ModifiedUserId);
            }
            else
            {
                if (UserInfo != null)
                {
                    sqlBuilder.SetValue(BaseOrganizeEntity.FieldModifiedUserId, UserInfo.Id);
                }
            }
            if (!string.IsNullOrEmpty(entity.ModifiedBy))
            {
                sqlBuilder.SetValue(BaseOrganizeEntity.FieldModifiedBy, entity.ModifiedBy);
            }
            else
            {
                if (UserInfo != null)
                {
                    sqlBuilder.SetValue(BaseOrganizeEntity.FieldModifiedBy, UserInfo.RealName);
                }
            }
            if (entity.ModifiedOn.HasValue)
            {
                sqlBuilder.SetValue(BaseOrganizeEntity.FieldModifiedOn, entity.ModifiedOn);
            }
            else
            {
                sqlBuilder.SetDBNow(BaseOrganizeEntity.FieldModifiedOn);
            }

            if (this.Identity && (DbHelper.CurrentDbType == CurrentDbType.SqlServer || DbHelper.CurrentDbType == CurrentDbType.MySql))
            {
                result = sqlBuilder.EndInsert().ToString();
            }
            else
            {
                sqlBuilder.EndInsert();
            }

            return(result);
        }
        /// <summary>
        /// 添加实体
        /// </summary>
        /// <param name="entity">实体</param>
        public string AddObject(BaseItemDetailsEntity entity)
        {
            string sequence = string.Empty;

            if (!entity.SortCode.HasValue)
            {
                BaseSequenceManager sequenceManager = new BaseSequenceManager(DbHelper, this.Identity);
                sequence        = sequenceManager.Increment(this.CurrentTableName);
                entity.SortCode = int.Parse(sequence);
            }
            SQLBuilder sqlBuilder = new SQLBuilder(DbHelper, this.Identity, this.ReturnId);

            sqlBuilder.BeginInsert(this.CurrentTableName, BaseItemDetailsEntity.FieldId);
            if (!this.Identity || (entity.Id.HasValue && entity.Id != 0))
            {
                sqlBuilder.SetValue(BaseItemDetailsEntity.FieldId, entity.Id);
                sequence = entity.Id.ToString();
            }
            else
            {
                if (!this.ReturnId && (DbHelper.CurrentDbType == CurrentDbType.Oracle || DbHelper.CurrentDbType == CurrentDbType.DB2))
                {
                    if (DbHelper.CurrentDbType == CurrentDbType.Oracle)
                    {
                        sqlBuilder.SetFormula(BaseItemDetailsEntity.FieldId, "SEQ_" + this.CurrentTableName.ToUpper() + ".NEXTVAL ");
                    }
                    if (DbHelper.CurrentDbType == CurrentDbType.DB2)
                    {
                        sqlBuilder.SetFormula(BaseItemDetailsEntity.FieldId, "NEXT VALUE FOR SEQ_" + this.CurrentTableName.ToUpper());
                    }
                }
                else
                {
                    if (this.Identity && (DbHelper.CurrentDbType == CurrentDbType.Oracle || DbHelper.CurrentDbType == CurrentDbType.DB2))
                    {
                        if (string.IsNullOrEmpty(sequence))
                        {
                            BaseSequenceManager sequenceManager = new BaseSequenceManager(DbHelper, this.Identity);
                            sequence = sequenceManager.Increment(this.CurrentTableName);
                        }
                        entity.Id = int.Parse(sequence);
                        sqlBuilder.SetValue(BaseItemDetailsEntity.FieldId, entity.Id);
                    }
                }
            }
            this.SetObject(sqlBuilder, entity);

            // 创建人信息
            if (!string.IsNullOrEmpty(entity.CreateUserId))
            {
                sqlBuilder.SetValue(BaseItemDetailsEntity.FieldCreateUserId, entity.CreateUserId);
            }
            else
            {
                if (UserInfo != null)
                {
                    sqlBuilder.SetValue(BaseItemDetailsEntity.FieldCreateUserId, UserInfo.Id);
                }
            }
            if (!string.IsNullOrEmpty(entity.CreateBy))
            {
                sqlBuilder.SetValue(BaseItemDetailsEntity.FieldCreateBy, entity.CreateBy);
            }
            else
            {
                if (UserInfo != null)
                {
                    sqlBuilder.SetValue(BaseItemDetailsEntity.FieldCreateBy, UserInfo.RealName);
                }
            }
            if (entity.CreateOn.HasValue)
            {
                sqlBuilder.SetValue(BaseItemDetailsEntity.FieldCreateOn, entity.CreateOn);
            }
            else
            {
                sqlBuilder.SetDBNow(BaseItemDetailsEntity.FieldCreateOn);
            }

            // 修改人信息
            if (!string.IsNullOrEmpty(entity.ModifiedUserId))
            {
                sqlBuilder.SetValue(BaseItemDetailsEntity.FieldModifiedUserId, entity.ModifiedUserId);
            }
            else
            {
                if (UserInfo != null)
                {
                    sqlBuilder.SetValue(BaseItemDetailsEntity.FieldModifiedUserId, UserInfo.Id);
                }
            }
            if (!string.IsNullOrEmpty(entity.ModifiedBy))
            {
                sqlBuilder.SetValue(BaseItemDetailsEntity.FieldModifiedBy, entity.ModifiedBy);
            }
            else
            {
                if (UserInfo != null)
                {
                    sqlBuilder.SetValue(BaseItemDetailsEntity.FieldModifiedBy, UserInfo.RealName);
                }
            }
            if (entity.ModifiedOn.HasValue)
            {
                sqlBuilder.SetValue(BaseItemDetailsEntity.FieldModifiedOn, entity.ModifiedOn);
            }
            else
            {
                sqlBuilder.SetDBNow(BaseItemDetailsEntity.FieldModifiedOn);
            }

            if (DbHelper.CurrentDbType == CurrentDbType.SqlServer && this.Identity)
            {
                sequence = sqlBuilder.EndInsert().ToString();
            }
            else
            {
                sqlBuilder.EndInsert();
            }
            return(sequence);
        }
        /// <summary>
        /// 添加实体
        /// </summary>
        /// <param name="entity">实体</param>
        public string AddEntity(BaseDictionaryEntity entity)
        {
            var key = string.Empty;

            if (entity.SortCode == 0)
            {
                var managerSequence = new BaseSequenceManager(DbHelper, Identity);
                if (DbHelper.CurrentDbType == CurrentDbType.Oracle || DbHelper.CurrentDbType == CurrentDbType.Db2)
                {
                    key = managerSequence.Increment($"SC_{CurrentTableName}_SEQ");
                }
                else
                {
                    key = managerSequence.Increment(CurrentTableName);
                }
                entity.SortCode = key.ToInt();
            }
            var sqlBuilder = new SqlBuilder(DbHelper, Identity, ReturnId);

            sqlBuilder.BeginInsert(CurrentTableName, PrimaryKey);
            if (!Identity)
            {
                // 这里已经是指定了主键了,所以不需要返回主键了
                sqlBuilder.ReturnId = false;
                sqlBuilder.SetValue(PrimaryKey, entity.Id);
            }
            else
            {
                if (!ReturnId && (DbHelper.CurrentDbType == CurrentDbType.Oracle || DbHelper.CurrentDbType == CurrentDbType.Db2))
                {
                    if (DbHelper.CurrentDbType == CurrentDbType.Oracle)
                    {
                        sqlBuilder.SetFormula(PrimaryKey, $"{CurrentTableName}_SEQ.NEXTVAL");
                    }
                    if (DbHelper.CurrentDbType == CurrentDbType.Db2)
                    {
                        sqlBuilder.SetFormula(PrimaryKey, $"NEXT VALUE FOR {CurrentTableName}_SEQ");
                    }
                }
                else
                {
                    if (Identity && (DbHelper.CurrentDbType == CurrentDbType.Oracle || DbHelper.CurrentDbType == CurrentDbType.Db2))
                    {
                        var managerSequence = new BaseSequenceManager(DbHelper);
                        entity.Id = managerSequence.Increment($"{CurrentTableName}_SEQ").ToInt();
                        sqlBuilder.SetValue(PrimaryKey, entity.Id);
                    }
                }
            }
            SetEntity(sqlBuilder, entity);
            if (UserInfo != null)
            {
                sqlBuilder.SetValue(BaseDictionaryEntity.FieldCreateUserId, UserInfo.UserId);
                sqlBuilder.SetValue(BaseDictionaryEntity.FieldCreateUserName, UserInfo.UserName);
                sqlBuilder.SetValue(BaseDictionaryEntity.FieldCreateBy, UserInfo.RealName);
            }
            else
            {
                sqlBuilder.SetValue(BaseDictionaryEntity.FieldCreateBy, entity.CreateBy);
                sqlBuilder.SetValue(BaseDictionaryEntity.FieldCreateUserName, entity.CreateUserName);
            }
            sqlBuilder.SetDbNow(BaseDictionaryEntity.FieldCreateTime);
            sqlBuilder.SetValue(BaseDictionaryEntity.FieldCreateIp, Utils.GetIp());
            if (UserInfo != null)
            {
                sqlBuilder.SetValue(BaseDictionaryEntity.FieldUpdateUserId, UserInfo.UserId);
                sqlBuilder.SetValue(BaseDictionaryEntity.FieldUpdateUserName, UserInfo.UserName);
                sqlBuilder.SetValue(BaseDictionaryEntity.FieldUpdateBy, UserInfo.RealName);
            }
            sqlBuilder.SetDbNow(BaseDictionaryEntity.FieldUpdateTime);
            sqlBuilder.SetValue(BaseDictionaryEntity.FieldUpdateIp, Utils.GetIp());
            if (Identity && (DbHelper.CurrentDbType == CurrentDbType.SqlServer || DbHelper.CurrentDbType == CurrentDbType.Access))
            {
                key = sqlBuilder.EndInsert().ToString();
            }
            else
            {
                sqlBuilder.EndInsert();
            }
            if (Identity && (DbHelper.CurrentDbType == CurrentDbType.Oracle || DbHelper.CurrentDbType == CurrentDbType.Db2))
            {
                key = entity.Id.ToString();
            }
            if (!string.IsNullOrWhiteSpace(key))
            {
                RemoveCache();
            }
            return(key);
        }
        /// <summary>
        /// 添加实体
        /// </summary>
        /// <param name="entity">实体</param>
        public string AddObject(UserByGUIDEntity entity)
        {
            string sequence = string.Empty;

            if (entity.SortCode == null || entity.SortCode == 0)
            {
                BaseSequenceManager sequenceManager = new BaseSequenceManager(DbHelper, this.Identity);
                sequence        = sequenceManager.Increment(this.CurrentTableName);
                entity.SortCode = int.Parse(sequence);
            }
            if (entity.UserId != null)
            {
                sequence = entity.UserId.ToString();
            }
            SQLBuilder sqlBuilder = new SQLBuilder(DbHelper, this.Identity, this.ReturnId);

            sqlBuilder.BeginInsert(this.CurrentTableName, this.PrimaryKey);
            if (!this.Identity)
            {
                // 这里已经是指定了主键了,所以不需要返回主键了
                sqlBuilder.ReturnId = false;
                sqlBuilder.SetValue(this.PrimaryKey, entity.UserId);
            }
            else
            {
                if (!this.ReturnId && (DbHelper.CurrentDbType == CurrentDbType.Oracle || DbHelper.CurrentDbType == CurrentDbType.DB2))
                {
                    if (DbHelper.CurrentDbType == CurrentDbType.Oracle)
                    {
                        sqlBuilder.SetFormula(this.PrimaryKey, "SEQ_" + this.CurrentTableName.ToUpper() + ".NEXTVAL ");
                    }
                    if (DbHelper.CurrentDbType == CurrentDbType.DB2)
                    {
                        sqlBuilder.SetFormula(this.PrimaryKey, "NEXT VALUE FOR SEQ_" + this.CurrentTableName.ToUpper());
                    }
                }
                else
                {
                    if (this.Identity && (DbHelper.CurrentDbType == CurrentDbType.Oracle || DbHelper.CurrentDbType == CurrentDbType.DB2))
                    {
                        sqlBuilder.SetValue(this.PrimaryKey, entity.UserId);
                    }
                }
            }
            this.SetObject(sqlBuilder, entity);
            if (UserInfo != null)
            {
                sqlBuilder.SetValue(UserByGUIDEntity.FieldCreateUserId, UserInfo.Id);
                sqlBuilder.SetValue(UserByGUIDEntity.FieldCreateBy, UserInfo.Realname);
            }
            sqlBuilder.SetDBNow(UserByGUIDEntity.FieldCreateOn);
            if (UserInfo != null)
            {
                sqlBuilder.SetValue(UserByGUIDEntity.FieldModifiedUserId, UserInfo.Id);
                sqlBuilder.SetValue(UserByGUIDEntity.FieldModifiedBy, UserInfo.Realname);
            }
            sqlBuilder.SetDBNow(UserByGUIDEntity.FieldModifiedOn);
            if (this.Identity && (DbHelper.CurrentDbType == CurrentDbType.SqlServer || DbHelper.CurrentDbType == CurrentDbType.Access))
            {
                sequence = sqlBuilder.EndInsert().ToString();
            }
            else
            {
                sqlBuilder.EndInsert();
            }
            return(sequence);
        }
        /// <summary>
        /// 添加实体
        /// </summary>
        /// <param name="entity">实体</param>
        public string AddObject(BaseContactDetailsEntity entity)
        {
            string sequence = string.Empty;

            sequence = entity.Id;
            if (entity.SortCode == 0)
            {
                BaseSequenceManager sequenceManager = new BaseSequenceManager(DbHelper, this.Identity);
                sequence        = sequenceManager.Increment(this.CurrentTableName);
                entity.SortCode = int.Parse(sequence);
            }
            SQLBuilder sqlBuilder = new SQLBuilder(DbHelper, this.Identity, this.ReturnId);

            sqlBuilder.BeginInsert(BaseContactDetailsEntity.TableName, BaseContactDetailsEntity.FieldId);
            if (entity.Id is string)
            {
                this.Identity = false;
            }
            if (!this.Identity)
            {
                sqlBuilder.SetValue(BaseContactDetailsEntity.FieldId, entity.Id);
            }
            else
            {
                if (!this.ReturnId && DbHelper.CurrentDbType == CurrentDbType.Oracle)
                {
                    sqlBuilder.SetFormula(BaseContactDetailsEntity.FieldId, "SEQ_" + this.CurrentTableName.ToUpper() + ".NEXTVAL ");
                }
                else
                {
                    if (this.Identity && DbHelper.CurrentDbType == CurrentDbType.Oracle)
                    {
                        if (string.IsNullOrEmpty(sequence))
                        {
                            BaseSequenceManager sequenceManager = new BaseSequenceManager(DbHelper, this.Identity);
                            sequence = sequenceManager.Increment(this.CurrentTableName);
                        }
                        entity.Id = sequence;
                        sqlBuilder.SetValue(BaseContactDetailsEntity.FieldId, entity.Id);
                    }
                }
            }
            this.SetObject(sqlBuilder, entity);
            if (UserInfo != null)
            {
                sqlBuilder.SetValue(BaseContactDetailsEntity.FieldCreateUserId, UserInfo.Id);
                sqlBuilder.SetValue(BaseContactDetailsEntity.FieldCreateBy, UserInfo.Realname);
            }
            sqlBuilder.SetDBNow(BaseContactDetailsEntity.FieldCreateOn);
            if (UserInfo != null)
            {
                sqlBuilder.SetValue(BaseContactDetailsEntity.FieldModifiedUserId, UserInfo.Id);
                sqlBuilder.SetValue(BaseContactDetailsEntity.FieldModifiedBy, UserInfo.Realname);
            }
            sqlBuilder.SetDBNow(BaseContactDetailsEntity.FieldModifiedOn);
            if (DbHelper.CurrentDbType == CurrentDbType.SqlServer && this.Identity)
            {
                sequence = sqlBuilder.EndInsert().ToString();
            }
            else
            {
                sqlBuilder.EndInsert();
            }
            return(sequence);
        }
        /// <summary>
        /// 添加实体
        /// </summary>
        /// <param name="entity">实体</param>
        public string AddObject(BaseUserEntity entity)
        {
            string result = string.Empty;

            if (entity.SortCode == 0)
            {
                BaseSequenceManager sequenceManager = new BaseSequenceManager(DbHelper, this.Identity);
                result          = sequenceManager.Increment(this.CurrentTableName);
                entity.SortCode = int.Parse(result);
            }

            // 2015-12-11 吉日嘎拉 全部小写,提高Oracle的效率
            entity.QuickQuery     = StringUtil.GetPinyin(entity.RealName).ToLower();
            entity.SimpleSpelling = StringUtil.GetSimpleSpelling(entity.RealName).ToLower();

            SQLBuilder sqlBuilder = new SQLBuilder(DbHelper, this.Identity, this.ReturnId);

            sqlBuilder.BeginInsert(this.CurrentTableName, BaseUserEntity.FieldId);

            if (DbHelper.CurrentDbType == CurrentDbType.MySql && string.IsNullOrEmpty(entity.Id))
            {
                entity.Id = Guid.NewGuid().ToString("N");
                result    = entity.Id;
            }

            if (!this.Identity || !string.IsNullOrEmpty(entity.Id))
            {
                sqlBuilder.SetValue(BaseUserEntity.FieldId, entity.Id);
                result = entity.Id;
            }
            else
            {
                if (!this.ReturnId && (DbHelper.CurrentDbType == CurrentDbType.Oracle || DbHelper.CurrentDbType == CurrentDbType.DB2))
                {
                    if (DbHelper.CurrentDbType == CurrentDbType.Oracle)
                    {
                        sqlBuilder.SetFormula(BaseUserEntity.FieldId, "SEQ_" + this.CurrentTableName.ToUpper() + ".NEXTVAL ");
                    }
                    if (DbHelper.CurrentDbType == CurrentDbType.DB2)
                    {
                        sqlBuilder.SetFormula(BaseUserEntity.FieldId, "NEXT VALUE FOR SEQ_" + this.CurrentTableName.ToUpper());
                    }
                }
                else
                {
                    if (this.Identity && (DbHelper.CurrentDbType == CurrentDbType.Oracle || DbHelper.CurrentDbType == CurrentDbType.DB2))
                    {
                        if (entity.Id == null)
                        {
                            if (string.IsNullOrEmpty(result))
                            {
                                BaseSequenceManager sequenceManager = new BaseSequenceManager(DbHelper, this.Identity);
                                result = sequenceManager.Increment(this.CurrentTableName);
                            }
                            entity.Id = result;
                        }
                        sqlBuilder.SetValue(BaseUserEntity.FieldId, entity.Id);
                    }
                }
            }

            this.SetObject(sqlBuilder, entity);

            if (UserInfo != null)
            {
                sqlBuilder.SetValue(BaseUserEntity.FieldCreateUserId, UserInfo.Id);
                sqlBuilder.SetValue(BaseUserEntity.FieldCreateBy, UserInfo.RealName);
            }

            sqlBuilder.SetDBNow(BaseUserEntity.FieldCreateOn);

            if (UserInfo != null)
            {
                sqlBuilder.SetValue(BaseUserEntity.FieldModifiedUserId, UserInfo.Id);
                sqlBuilder.SetValue(BaseUserEntity.FieldModifiedBy, UserInfo.RealName);
            }

            sqlBuilder.SetDBNow(BaseUserEntity.FieldModifiedOn);

            // 2015-12-16 吉日嘎拉 优化返回值问题、提高自增Id导入的问题的效率,关联数据产生问题
            if (this.Identity &&
                (DbHelper.CurrentDbType == CurrentDbType.SqlServer || DbHelper.CurrentDbType == CurrentDbType.MySql))
            {
                result    = sqlBuilder.EndInsert().ToString();
                entity.Id = result;
            }
            else
            {
                sqlBuilder.EndInsert();
            }

            return(result);
        }
        /// <summary>
        /// 添加实体
        /// </summary>
        /// <param name="entity">实体</param>
        public string AddObject(BaseUserLogOnEntity entity)
        {
            string result = string.Empty;

            if (string.IsNullOrEmpty(entity.Id))
            {
                BaseSequenceManager manager = new BaseSequenceManager(DbHelper, this.Identity);
                result    = manager.Increment(this.CurrentTableName);
                entity.Id = result;
            }
            SQLBuilder sqlBuilder = new SQLBuilder(DbHelper, this.Identity, this.ReturnId);

            sqlBuilder.BeginInsert(this.CurrentTableName, BaseUserLogOnEntity.FieldId);
            if (!this.Identity)
            {
                sqlBuilder.SetValue(BaseUserLogOnEntity.FieldId, entity.Id);
            }
            else
            {
                if (!this.ReturnId && (DbHelper.CurrentDbType == CurrentDbType.Oracle || DbHelper.CurrentDbType == CurrentDbType.DB2))
                {
                    if (DbHelper.CurrentDbType == CurrentDbType.Oracle)
                    {
                        sqlBuilder.SetFormula(BaseUserLogOnEntity.FieldId, "SEQ_" + this.CurrentTableName.ToUpper() + ".NEXTVAL ");
                    }
                    if (DbHelper.CurrentDbType == CurrentDbType.DB2)
                    {
                        sqlBuilder.SetFormula(BaseUserLogOnEntity.FieldId, "NEXT VALUE FOR SEQ_" + this.CurrentTableName.ToUpper());
                    }
                }
                else
                {
                    if (this.Identity && (DbHelper.CurrentDbType == CurrentDbType.Oracle || DbHelper.CurrentDbType == CurrentDbType.DB2))
                    {
                        if (entity.Id == null)
                        {
                            if (string.IsNullOrEmpty(result))
                            {
                                BaseSequenceManager sequenceManager = new BaseSequenceManager(DbHelper, this.Identity);
                                result = sequenceManager.Increment(this.CurrentTableName);
                            }
                            entity.Id = result;
                        }
                        sqlBuilder.SetValue(BaseUserLogOnEntity.FieldId, entity.Id);
                    }
                }
            }
            this.SetObject(sqlBuilder, entity);
            if (UserInfo != null)
            {
                sqlBuilder.SetValue(BaseUserLogOnEntity.FieldCreateUserId, UserInfo.Id);
                sqlBuilder.SetValue(BaseUserLogOnEntity.FieldCreateBy, UserInfo.RealName);
            }
            sqlBuilder.SetDBNow(BaseUserLogOnEntity.FieldCreateOn);
            if (UserInfo != null)
            {
                sqlBuilder.SetValue(BaseUserLogOnEntity.FieldModifiedUserId, UserInfo.Id);
                sqlBuilder.SetValue(BaseUserLogOnEntity.FieldModifiedBy, UserInfo.RealName);
            }
            sqlBuilder.SetDBNow(BaseUserLogOnEntity.FieldModifiedOn);
            if (DbHelper.CurrentDbType == CurrentDbType.SqlServer && this.Identity)
            {
                result = sqlBuilder.EndInsert().ToString();
            }
            else
            {
                sqlBuilder.EndInsert();
                result = entity.Id;
            }
            return(result);
        }
Beispiel #24
0
        /// <summary>
        /// 添加实体
        /// </summary>
        /// <param name="newsEntity">实体</param>
        public string AddEntity(BaseNewsEntity newsEntity)
        {
            string sequence = string.Empty;

            sequence = newsEntity.Id;
            if (newsEntity.SortCode == 0)
            {
                BaseSequenceManager sequenceManager = new BaseSequenceManager(DbHelper, this.Identity);
                sequence            = sequenceManager.GetSequence(this.CurrentTableName);
                newsEntity.SortCode = int.Parse(sequence);
            }
            if (newsEntity.Id is string)
            {
                this.Identity = false;
            }
            SQLBuilder sqlBuilder = new SQLBuilder(DbHelper, this.Identity, this.ReturnId);

            sqlBuilder.BeginInsert(this.CurrentTableName, BaseNewsEntity.FieldId);
            if (!this.Identity)
            {
                sqlBuilder.SetValue(BaseNewsEntity.FieldId, newsEntity.Id);
            }
            else
            {
                if (!this.ReturnId && DbHelper.CurrentDbType == CurrentDbType.Oracle)
                {
                    sqlBuilder.SetFormula(BaseNewsEntity.FieldId, "SEQ_" + this.CurrentTableName.ToUpper() + ".NEXTVAL ");
                }
                else
                {
                    if (this.Identity && DbHelper.CurrentDbType == CurrentDbType.Oracle)
                    {
                        if (string.IsNullOrEmpty(newsEntity.Id))
                        {
                            if (string.IsNullOrEmpty(sequence))
                            {
                                BaseSequenceManager sequenceManager = new BaseSequenceManager(DbHelper, this.Identity);
                                sequence = sequenceManager.GetSequence(this.CurrentTableName);
                            }
                            newsEntity.Id = sequence;
                        }
                        sqlBuilder.SetValue(BaseNewsEntity.FieldId, newsEntity.Id);
                    }
                }
            }
            this.SetEntity(sqlBuilder, newsEntity);
            if (UserInfo != null)
            {
                newsEntity.CreateUserId = UserInfo.Id;
                newsEntity.CreateBy     = UserInfo.RealName;
                sqlBuilder.SetValue(BaseNewsEntity.FieldCreateUserId, newsEntity.CreateUserId);
                sqlBuilder.SetValue(BaseNewsEntity.FieldCreateBy, newsEntity.CreateBy);
                newsEntity.ModifiedBy = UserInfo.RealName;
                sqlBuilder.SetValue(BaseNewsEntity.FieldModifiedUserId, newsEntity.CreateUserId);
                sqlBuilder.SetValue(BaseNewsEntity.FieldModifiedBy, newsEntity.CreateBy);
            }
            sqlBuilder.SetDBNow(BaseNewsEntity.FieldCreateOn);
            sqlBuilder.SetDBNow(BaseNewsEntity.FieldModifiedOn);

            /*
             * if (UserInfo != null)
             * {
             *  sqlBuilder.SetValue(BaseNewsEntity.FieldModifiedUserId, UserInfo.Id);
             *  sqlBuilder.SetValue(BaseNewsEntity.FieldModifiedBy, UserInfo.RealName);
             * }
             * sqlBuilder.SetDBNow(BaseNewsEntity.FieldModifiedOn);
             */
            if (DbHelper.CurrentDbType == CurrentDbType.SqlServer && this.Identity)
            {
                sequence = sqlBuilder.EndInsert().ToString();
            }
            else
            {
                sqlBuilder.EndInsert();
            }
            return(sequence);
        }
Beispiel #25
0
        /// <summary>
        /// 获取倒序序列号
        /// </summary>
        /// <param name="dbHelper">数据库连接</param>
        /// <param name="userInfo">用户</param>
        /// <param name="fullName">序列名称</param>
        /// <returns>序列号</returns>
        public string GetReduction(IDbHelper dbHelper, BaseUserInfo userInfo, string fullName)
        {
            var sequenceManager = new BaseSequenceManager(dbHelper);

            return(sequenceManager.GetReduction(fullName));
        }
Beispiel #26
0
        /// <summary>
        /// 添加实体
        /// </summary>
        /// <param name="entity">实体</param>
        public string AddObject(BasePermissionScopeEntity entity)
        {
            string     sequence   = string.Empty;
            SQLBuilder sqlBuilder = new SQLBuilder(DbHelper, this.Identity, this.ReturnId);

            sqlBuilder.BeginInsert(this.CurrentTableName, BasePermissionScopeEntity.FieldId);
            if (!this.Identity)
            {
                sqlBuilder.SetValue(BasePermissionScopeEntity.FieldId, entity.Id);
            }
            else
            {
                if (!this.ReturnId && (DbHelper.CurrentDbType == CurrentDbType.Oracle || DbHelper.CurrentDbType == CurrentDbType.DB2))
                {
                    if (DbHelper.CurrentDbType == CurrentDbType.Oracle)
                    {
                        // 2015-09-25 吉日嘎拉 用一个序列就可以了,不用那么多序列了
                        // sqlBuilder.SetFormula(BasePermissionScopeEntity.FieldId, "SEQ_" + this.CurrentTableName.ToUpper() + ".NEXTVAL ");
                        sqlBuilder.SetFormula(BasePermissionScopeEntity.FieldId, "SEQ_" + BaseOrganizeScopeEntity.TableName.ToUpper() + ".NEXTVAL ");
                    }
                    if (DbHelper.CurrentDbType == CurrentDbType.DB2)
                    {
                        // sqlBuilder.SetFormula(BasePermissionScopeEntity.FieldId, "NEXT VALUE FOR SEQ_" + this.CurrentTableName.ToUpper());
                        sqlBuilder.SetFormula(BasePermissionScopeEntity.FieldId, "NEXT VALUE FOR SEQ_" + BaseOrganizeScopeEntity.TableName.ToUpper());
                    }
                }
                else
                {
                    if (this.Identity && (DbHelper.CurrentDbType == CurrentDbType.Oracle || DbHelper.CurrentDbType == CurrentDbType.DB2))
                    {
                        if (entity.Id == null)
                        {
                            if (string.IsNullOrEmpty(sequence))
                            {
                                BaseSequenceManager sequenceManager = new BaseSequenceManager(DbHelper, this.Identity);
                                sequence = sequenceManager.Increment(this.CurrentTableName);
                            }
                            entity.Id = int.Parse(sequence);
                        }
                        sqlBuilder.SetValue(BasePermissionScopeEntity.FieldId, entity.Id);
                    }
                }
            }
            this.SetObject(sqlBuilder, entity);
            if (UserInfo != null)
            {
                sqlBuilder.SetValue(BasePermissionScopeEntity.FieldCreateUserId, UserInfo.Id);
                sqlBuilder.SetValue(BasePermissionScopeEntity.FieldCreateBy, UserInfo.RealName);
            }
            sqlBuilder.SetDBNow(BasePermissionScopeEntity.FieldCreateOn);
            if (UserInfo != null)
            {
                sqlBuilder.SetValue(BasePermissionScopeEntity.FieldModifiedUserId, UserInfo.Id);
                sqlBuilder.SetValue(BasePermissionScopeEntity.FieldModifiedBy, UserInfo.RealName);
            }
            sqlBuilder.SetDBNow(BasePermissionScopeEntity.FieldModifiedOn);
            if (DbHelper.CurrentDbType == CurrentDbType.SqlServer && this.Identity)
            {
                sequence = sqlBuilder.EndInsert().ToString();
            }
            else
            {
                sqlBuilder.EndInsert();
            }
            return(sequence);
        }
Beispiel #27
0
        /// <summary>
        /// 添加实体
        /// </summary>
        /// <param name="workFlowActivityEntity">实体</param>
        public string AddObject(BaseWorkFlowActivityEntity workFlowActivityEntity)
        {
            string sequence = string.Empty;

            if (workFlowActivityEntity.SortCode == null || workFlowActivityEntity.SortCode == 0)
            {
                BaseSequenceManager sequenceManager = new BaseSequenceManager(DbHelper, this.Identity);
                sequence = sequenceManager.Increment(this.CurrentTableName);
                workFlowActivityEntity.SortCode = int.Parse(sequence);
            }
            SQLBuilder sqlBuilder = new SQLBuilder(DbHelper, this.Identity, this.ReturnId);

            sqlBuilder.BeginInsert(this.CurrentTableName, BaseWorkFlowActivityEntity.FieldId);
            if (!this.Identity)
            {
                sqlBuilder.SetValue(BaseWorkFlowActivityEntity.FieldId, workFlowActivityEntity.Id);
            }
            else
            {
                if (!this.ReturnId && (DbHelper.CurrentDbType == CurrentDbType.Oracle || DbHelper.CurrentDbType == CurrentDbType.DB2))
                {
                    if (DbHelper.CurrentDbType == CurrentDbType.Oracle)
                    {
                        sqlBuilder.SetFormula(BaseWorkFlowActivityEntity.FieldId, "SEQ_" + this.CurrentTableName.ToUpper() + ".NEXTVAL ");
                    }
                    if (DbHelper.CurrentDbType == CurrentDbType.DB2)
                    {
                        sqlBuilder.SetFormula(BaseWorkFlowActivityEntity.FieldId, "NEXT VALUE FOR SEQ_" + this.CurrentTableName.ToUpper());
                    }
                }
                else
                {
                    if (this.Identity && (DbHelper.CurrentDbType == CurrentDbType.Oracle || DbHelper.CurrentDbType == CurrentDbType.DB2))
                    {
                        if (workFlowActivityEntity.Id == null)
                        {
                            if (string.IsNullOrEmpty(sequence))
                            {
                                BaseSequenceManager sequenceManager = new BaseSequenceManager(DbHelper, this.Identity);
                                sequence = sequenceManager.Increment(this.CurrentTableName);
                            }
                            workFlowActivityEntity.Id = int.Parse(sequence);
                        }
                        sqlBuilder.SetValue(BaseWorkFlowActivityEntity.FieldId, workFlowActivityEntity.Id);
                    }
                }
            }
            this.SetObject(sqlBuilder, workFlowActivityEntity);
            if (UserInfo != null)
            {
                sqlBuilder.SetValue(BaseWorkFlowActivityEntity.FieldCreateUserId, UserInfo.Id);
                sqlBuilder.SetValue(BaseWorkFlowActivityEntity.FieldCreateBy, UserInfo.RealName);
            }
            sqlBuilder.SetDBNow(BaseWorkFlowActivityEntity.FieldCreateOn);
            if (UserInfo != null)
            {
                sqlBuilder.SetValue(BaseWorkFlowActivityEntity.FieldModifiedUserId, UserInfo.Id);
                sqlBuilder.SetValue(BaseWorkFlowActivityEntity.FieldModifiedBy, UserInfo.RealName);
            }
            sqlBuilder.SetDBNow(BaseWorkFlowActivityEntity.FieldModifiedOn);
            if (DbHelper.CurrentDbType == CurrentDbType.SqlServer && this.Identity)
            {
                sequence = sqlBuilder.EndInsert().ToString();
            }
            else
            {
                sqlBuilder.EndInsert();
            }
            return(sequence);
        }
Beispiel #28
0
        /// <summary>
        /// 添加日志
        /// </summary>
        /// <param name="logEntity">日志对象</param>
        /// <returns>主键</returns>
        public int AddEntity(BaseLogEntity logEntity)
        {
            int returnValue = 0;
            // if (!BaseSystemInfo.RecordLog)
            // {
            //    return string.Empty;
            // }
            // 由于并发控制,没有能获得有效ID的错误处理,测试一下错误发生的数量。
            // if (Log.ID.Length == 0)
            // {
            //    return returnValue;
            // }
            // string sequence = BaseSequenceManager.Instance.GetSequence(DbHelper, BaseLogEntity.TableName);
            // string sequence = BaseSequenceManager.Instance.NewGuid();
            string     sequence   = string.Empty;
            SQLBuilder sqlBuilder = new SQLBuilder(DbHelper);

            if (DbHelper.CurrentDbType == CurrentDbType.Access)
            // sqlBuilder.BeginInsert(this.CurrentTableName, "LogId", this.Identity);
            {
                // 写入日志 04-24
                dbHelper.Open(BaseSystemInfo.UserCenterDbConnection);
                // 用户已经不存在的需要整理干净,防止数据不完整。
                string sqlQuery = " INSERT INTO [BaseLog]([ProcessId],[ProcessName],[MethodId] " +
                                  " ,[MethodName],[Parameters],[UserId],[UserRealName],[IPAddress],[UrlReferrer],[WebUrl],[Description],[CreateOn],[ModifiedOn]) VALUES " +
                                  "( '" + logEntity.ProcessId + "','" + logEntity.ProcessName + "','" + logEntity.MethodId.ToString() + "','" + logEntity.MethodName + "','" +
                                  logEntity.Parameters + "','" + logEntity.UserId + "','" + logEntity.UserRealName + "','" + logEntity.IPAddress + "','" + logEntity.UrlReferrer + "','" +
                                  logEntity.WebUrl + " ','" + logEntity.Description + "'," + DbHelper.GetDBNow() + "," + DbHelper.GetDBNow() + ")";

                return(dbHelper.ExecuteNonQuery(sqlQuery));;
            }
            else
            {
                sqlBuilder.BeginInsert(this.CurrentTableName, this.Identity);
            }

            if (!this.Identity)
            {
                sqlBuilder.SetValue(BaseLogEntity.FieldId, logEntity.Id);
            }
            else
            {
                if (!this.ReturnId && (DbHelper.CurrentDbType == CurrentDbType.Oracle || DbHelper.CurrentDbType == CurrentDbType.DB2))
                {
                    if (DbHelper.CurrentDbType == CurrentDbType.Oracle)
                    {
                        sqlBuilder.SetFormula(BaseLogEntity.FieldId, "SEQ_" + this.CurrentTableName.ToUpper() + ".NEXTVAL ");
                    }
                    if (DbHelper.CurrentDbType == CurrentDbType.DB2)
                    {
                        sqlBuilder.SetFormula(BaseLogEntity.FieldId, "NEXT VALUE FOR SEQ_" + this.CurrentTableName.ToUpper());
                    }
                }
                else
                {
                    if (this.Identity && (DbHelper.CurrentDbType == CurrentDbType.Oracle || DbHelper.CurrentDbType == CurrentDbType.DB2))
                    {
                        if (string.IsNullOrEmpty(logEntity.Id))
                        {
                            if (string.IsNullOrEmpty(sequence))
                            {
                                BaseSequenceManager sequenceManager = new BaseSequenceManager(DbHelper, this.Identity);
                                sequence = sequenceManager.GetSequence(this.CurrentTableName);
                            }
                            logEntity.Id = sequence;
                        }
                        sqlBuilder.SetValue(BaseLogEntity.FieldId, logEntity.Id);
                    }
                }
            }
            if (String.IsNullOrEmpty(logEntity.UserId))
            {
                logEntity.UserId = logEntity.IPAddress;
            }
            sqlBuilder.SetValue(BaseLogEntity.FieldUserId, logEntity.UserId);
            sqlBuilder.SetValue(BaseLogEntity.FieldUserRealName, logEntity.UserRealName);
            sqlBuilder.SetValue(BaseLogEntity.FieldProcessId, logEntity.ProcessId);
            sqlBuilder.SetValue(BaseLogEntity.FieldProcessName, logEntity.ProcessName);
            sqlBuilder.SetValue(BaseLogEntity.FieldMethodId, logEntity.MethodId);
            sqlBuilder.SetValue(BaseLogEntity.FieldMethodName, logEntity.MethodName);
            sqlBuilder.SetValue(BaseLogEntity.FieldParameters, logEntity.Parameters);
            sqlBuilder.SetValue(BaseLogEntity.FieldUrlReferrer, logEntity.UrlReferrer);
            sqlBuilder.SetValue(BaseLogEntity.FieldWebUrl, logEntity.WebUrl);
            sqlBuilder.SetValue(BaseLogEntity.FieldIPAddress, logEntity.IPAddress);
            sqlBuilder.SetValue(BaseLogEntity.FieldDescription, logEntity.Description);
            //if (logEntity.CreateUserId.Length == 0)
            //{
            //    logEntity.CreateUserId = logEntity.IPAddress;
            //}
            //sqlBuilder.SetValue(BaseLogEntity.FieldCreateUserId, logEntity.CreateUserId);
            sqlBuilder.SetDBNow(BaseLogEntity.FieldCreateOn);
            // return sqlBuilder.EndInsert() > 0 ? sequence : string.Empty;
            if (DbHelper.CurrentDbType == CurrentDbType.SqlServer)
            {
                returnValue = sqlBuilder.EndInsert();
            }
            else
            {
                sqlBuilder.EndInsert();
                if (this.ReturnId)//如果需要反回值
                {
                    returnValue = int.Parse(logEntity.Id);
                }
                else
                {
                    returnValue = 0;
                }
            }
            return(returnValue);
        }
Beispiel #29
0
        /// <summary>
        /// 添加实体
        /// 全局的角色不重复、多子系统之间的角色不重复,就厉害了,以后可以合并到一起也没关系了
        /// 通用基础子系统里的角色,可能在各子系统里也有权限需要设置的情况
        /// </summary>
        /// <param name="entity">实体</param>
        public string AddObject(BaseRoleEntity entity)
        {
            string result = string.Empty;

            if (entity.SortCode == 0)
            {
                BaseSequenceManager sequenceManager = new BaseSequenceManager(DbHelper, this.Identity);
                result          = sequenceManager.Increment(BaseRoleEntity.TableName);
                entity.SortCode = int.Parse(result);
            }

            SQLBuilder sqlBuilder = new SQLBuilder(DbHelper, this.Identity, this.ReturnId);

            sqlBuilder.BeginInsert(this.CurrentTableName, BaseRoleEntity.FieldId);

            // 若是非空主键,表明已经指定了主键了
            if (!string.IsNullOrEmpty(entity.Id))
            {
                // 这里已经是指定了主键了,所以不需要返回主键了
                sqlBuilder.SetValue(BaseRoleEntity.FieldId, entity.Id);
                result = entity.Id;
            }
            else
            {
                if (DbHelper.CurrentDbType == CurrentDbType.Oracle)
                {
                    // 2015-12-23 吉日嘎拉 这里需要兼容一下以前的老的数据结构
                    sqlBuilder.SetFormula(this.PrimaryKey, "SEQ_" + BaseRoleEntity.TableName.ToUpper() + ".NEXTVAL ");
                }
                else
                {
                    entity.Id = Guid.NewGuid().ToString("N");
                    result    = entity.Id;
                    sqlBuilder.SetValue(BaseRoleEntity.FieldId, entity.Id);
                }
            }

            this.SetObject(sqlBuilder, entity);

            if (UserInfo != null)
            {
                sqlBuilder.SetValue(BaseRoleEntity.FieldCreateUserId, UserInfo.Id);
                sqlBuilder.SetValue(BaseRoleEntity.FieldCreateBy, UserInfo.RealName);
            }
            sqlBuilder.SetDBNow(BaseRoleEntity.FieldCreateOn);
            if (UserInfo != null)
            {
                sqlBuilder.SetValue(BaseRoleEntity.FieldModifiedUserId, UserInfo.Id);
                sqlBuilder.SetValue(BaseRoleEntity.FieldModifiedBy, UserInfo.RealName);
            }
            sqlBuilder.SetDBNow(BaseRoleEntity.FieldModifiedOn);

            if (DbHelper.CurrentDbType == CurrentDbType.SqlServer && this.Identity)
            {
                result = sqlBuilder.EndInsert().ToString();
            }
            else
            {
                sqlBuilder.EndInsert();
            }

            return(result);
        }
        /// <summary>
        /// 添加实体
        /// </summary>
        /// <param name="entity">实体</param>
        public string AddObject(BaseCommentEntity entity)
        {
            string sequence = string.Empty;

            this.Identity = false;
            if (entity.Id != null)
            {
                sequence = entity.Id.ToString();
            }
            SQLBuilder sqlBuilder = new SQLBuilder(DbHelper, this.Identity, this.ReturnId);

            sqlBuilder.BeginInsert(this.CurrentTableName, BaseCommentEntity.FieldId);
            if (!this.Identity)
            {
                if (string.IsNullOrEmpty(entity.Id))
                {
                    sequence  = Guid.NewGuid().ToString("N");
                    entity.Id = sequence;
                }
                sqlBuilder.SetValue(BaseCommentEntity.FieldId, entity.Id);
            }
            else
            {
                if (!this.ReturnId && (DbHelper.CurrentDbType == CurrentDbType.Oracle || DbHelper.CurrentDbType == CurrentDbType.DB2))
                {
                    if (DbHelper.CurrentDbType == CurrentDbType.Oracle)
                    {
                        sqlBuilder.SetFormula(BaseCommentEntity.FieldId, "SEQ_" + this.CurrentTableName.ToUpper() + ".NEXTVAL ");
                    }
                    if (DbHelper.CurrentDbType == CurrentDbType.DB2)
                    {
                        sqlBuilder.SetFormula(BaseCommentEntity.FieldId, "NEXT VALUE FOR SEQ_" + this.CurrentTableName.ToUpper());
                    }
                }
                else
                {
                    if (this.Identity && (DbHelper.CurrentDbType == CurrentDbType.Oracle || DbHelper.CurrentDbType == CurrentDbType.DB2))
                    {
                        if (string.IsNullOrEmpty(entity.Id))
                        {
                            if (string.IsNullOrEmpty(sequence))
                            {
                                BaseSequenceManager sequenceManager = new BaseSequenceManager(DbHelper, this.Identity);
                                sequence = sequenceManager.Increment(this.CurrentTableName);
                            }
                            entity.Id = sequence;
                        }
                        sqlBuilder.SetValue(BaseCommentEntity.FieldId, entity.Id);
                    }
                }
            }
            this.SetObject(sqlBuilder, entity);
            if (UserInfo != null)
            {
                sqlBuilder.SetValue(BaseCommentEntity.FieldCreateUserId, UserInfo.Id);
                sqlBuilder.SetValue(BaseCommentEntity.FieldCreateBy, UserInfo.RealName);
            }
            sqlBuilder.SetDBNow(BaseCommentEntity.FieldCreateOn);
            if (UserInfo != null)
            {
                sqlBuilder.SetValue(BaseCommentEntity.FieldModifiedUserId, UserInfo.Id);
                sqlBuilder.SetValue(BaseCommentEntity.FieldModifiedBy, UserInfo.RealName);
            }
            sqlBuilder.SetDBNow(BaseCommentEntity.FieldModifiedOn);
            if (this.Identity && (DbHelper.CurrentDbType == CurrentDbType.SqlServer || DbHelper.CurrentDbType == CurrentDbType.Access))
            {
                sequence = sqlBuilder.EndInsert().ToString();
            }
            else
            {
                sqlBuilder.EndInsert();
            }
            return(sequence);
        }