Ejemplo n.º 1
0
        /// <summary>
        /// 添加实体
        /// </summary>
        /// <param name="entity">实体</param>
        public string AddObject(BaseBillPushEntity entity)
        {
            string key = string.Empty;

            if (entity.Id != null)
            {
                key = entity.Id.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.Id);
            }
            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))
                    {
                        BaseSequenceManager sequenceManager = new BaseSequenceManager(DbHelper);
                        entity.Id = sequenceManager.Increment(this.CurrentTableName);
                        sqlBuilder.SetValue(this.PrimaryKey, entity.Id);
                    }
                }
            }
            this.SetObject(sqlBuilder, entity);
            if (UserInfo != null)
            {
                sqlBuilder.SetValue(BaseBillPushEntity.FieldCreateBy, UserInfo.RealName);
            }
            sqlBuilder.SetDBNow(BaseBillPushEntity.FieldCreateOn);
            if (this.Identity && (DbHelper.CurrentDbType == CurrentDbType.SqlServer || DbHelper.CurrentDbType == CurrentDbType.Access))
            {
                key = sqlBuilder.EndInsert().ToString();
            }
            else
            {
                sqlBuilder.EndInsert();
            }
            if (this.Identity && (DbHelper.CurrentDbType == CurrentDbType.Oracle || DbHelper.CurrentDbType == CurrentDbType.DB2))
            {
                return(entity.Id.ToString());
            }
            return(key);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 添加实体
        /// </summary>
        /// <param name="entity">实体</param>
        public string AddObject(BaseOrganizeLogOnEntity 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, BaseOrganizeLogOnEntity.FieldId);
            if (!this.Identity)
            {
                sqlBuilder.SetValue(BaseOrganizeLogOnEntity.FieldId, entity.Id);
            }
            else
            {
                if (!this.ReturnId && (DbHelper.CurrentDbType == CurrentDbType.Oracle || DbHelper.CurrentDbType == CurrentDbType.DB2))
                {
                    if (DbHelper.CurrentDbType == CurrentDbType.Oracle)
                    {
                        sqlBuilder.SetFormula(BaseOrganizeLogOnEntity.FieldId, "SEQ_" + this.CurrentTableName.ToUpper() + ".NEXTVAL ");
                    }
                    if (DbHelper.CurrentDbType == CurrentDbType.DB2)
                    {
                        sqlBuilder.SetFormula(BaseOrganizeLogOnEntity.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(BaseOrganizeLogOnEntity.FieldId, entity.Id);
                    }
                }
            }
            this.SetObject(sqlBuilder, entity);
            sqlBuilder.SetDBNow(BaseOrganizeLogOnEntity.FieldModifiedOn);
            if (DbHelper.CurrentDbType == CurrentDbType.SqlServer && this.Identity)
            {
                result = sqlBuilder.EndInsert().ToString();
            }
            else
            {
                sqlBuilder.EndInsert();
                result = entity.Id;
            }
            return(result);
        }
        /// <summary>
        /// 添加实体
        /// </summary>
        /// <param name="entity">实体</param>
        public string AddObject(BaseUserIdentityAuditEntity entity)
        {
            string     key        = string.Empty;
            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.Id);
            }
            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))
                    {
                        BaseSequenceManager sequenceManager = new BaseSequenceManager(DbHelper);
                        entity.Id = int.Parse(sequenceManager.Increment(this.CurrentTableName));
                        sqlBuilder.SetValue(this.PrimaryKey, entity.Id);
                    }
                }
            }
            this.SetObject(sqlBuilder, entity);
            if (this.Identity && (DbHelper.CurrentDbType == CurrentDbType.SqlServer || DbHelper.CurrentDbType == CurrentDbType.Access))
            {
                key = sqlBuilder.EndInsert().ToString();
            }
            else
            {
                sqlBuilder.EndInsert();
            }
            if (this.Identity && (DbHelper.CurrentDbType == CurrentDbType.Oracle || DbHelper.CurrentDbType == CurrentDbType.DB2))
            {
                return(entity.Id.ToString());
            }
            //非主键 关联外部ID
            if (this.ReturnId)
            {
                return(entity.Id.ToString());
            }
            return(key);
        }
        /// <summary>
        /// 添加实体
        /// </summary>
        /// <param name="entity">实体</param>
        public string AddObject(TAB_USERPOPEDOMEntity entity)
        {
            string key = string.Empty;

            if (entity.MENU_GUID != null)
            {
                key = entity.MENU_GUID.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.MENU_GUID);
            }
            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))
                //    {
                //        BaseSequenceManager sequenceManager = new BaseSequenceManager(DbHelper);
                //        entity.Id = int.Parse(sequenceManager.Increment(this.CurrentTableName));
                //        sqlBuilder.SetValue(this.PrimaryKey, entity.MENU_GUID);
                //    }
                //}
            }
            this.SetObject(sqlBuilder, entity);
            if (this.Identity && (DbHelper.CurrentDbType == CurrentDbType.SqlServer || DbHelper.CurrentDbType == CurrentDbType.Access))
            {
                key = sqlBuilder.EndInsert().ToString();
            }
            else
            {
                sqlBuilder.EndInsert();
            }
            //if (this.Identity && (DbHelper.CurrentDbType == CurrentDbType.Oracle || DbHelper.CurrentDbType == CurrentDbType.DB2))
            //{
            //    return entity.Id.ToString();
            //}
            return(key);
        }
Ejemplo n.º 5
0
        /// <summary>
        /// 添加实体
        /// </summary>
        /// <param name="entity">实体</param>
        public string AddObject(BaseLoginLogEntity entity)
        {
            string result = string.Empty;

            if (string.IsNullOrEmpty(entity.Id))
            {
                entity.Id = System.Guid.NewGuid().ToString("N");
            }
            result = entity.Id.ToString();

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

            sqlBuilder.BeginInsert(this.CurrentTableName, this.PrimaryKey);
            if (!string.IsNullOrEmpty(entity.Id))
            {
                // 这里已经是指定了主键了,所以不需要返回主键了
                sqlBuilder.ReturnId = false;
                sqlBuilder.SetValue(this.PrimaryKey, entity.Id);
            }
            else
            {
                if ((DbHelper.CurrentDbType == CurrentDbType.Oracle || DbHelper.CurrentDbType == CurrentDbType.DB2))
                {
                    if (DbHelper.CurrentDbType == CurrentDbType.Oracle)
                    {
                        sqlBuilder.SetFormula(this.PrimaryKey, "SEQ_BASE_LOGINLOG.NEXTVAL ");
                    }
                    if (DbHelper.CurrentDbType == CurrentDbType.DB2)
                    {
                        sqlBuilder.SetFormula(this.PrimaryKey, "NEXT VALUE FOR SEQ_" + this.CurrentTableName.ToUpper());
                    }
                }
                else
                {
                    entity.Id = System.Guid.NewGuid().ToString("N");
                    sqlBuilder.SetValue(this.PrimaryKey, entity.Id);
                }
            }
            this.SetObject(sqlBuilder, entity);
            sqlBuilder.SetDBNow(BaseLoginLogEntity.FieldCreateOn);
            if (this.Identity && (DbHelper.CurrentDbType == CurrentDbType.SqlServer || DbHelper.CurrentDbType == CurrentDbType.Access))
            {
                result = sqlBuilder.EndInsert().ToString();
            }
            else
            {
                sqlBuilder.EndInsert();
            }
            if (this.Identity && (DbHelper.CurrentDbType == CurrentDbType.Oracle || DbHelper.CurrentDbType == CurrentDbType.DB2))
            {
                return(entity.Id.ToString());
            }
            return(result);
        }
Ejemplo n.º 6
0
        /// <summary>
        /// 添加实体
        /// </summary>
        /// <param name="entity">实体</param>
        public string AddEntity(BaseContactTargetEntity entity)
        {
            string sequence = string.Empty;

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

            sqlBuilder.BeginInsert(BaseContactTargetEntity.TableName, BaseContactTargetEntity.FieldId);
            if (entity.Id is string)
            {
                this.Identity = false;
            }
            if (!this.Identity)
            {
                sqlBuilder.SetValue(BaseContactTargetEntity.FieldId, entity.Id);
            }
            else
            {
                if (!this.ReturnId && DbHelper.CurrentDbType == CurrentDbType.Oracle)
                {
                    sqlBuilder.SetFormula(BaseContactTargetEntity.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(BaseContactTargetEntity.FieldId, entity.Id);
                    }
                }
            }
            this.SetEntity(sqlBuilder, entity);
            if (UserInfo != null)
            {
                sqlBuilder.SetValue(BaseContactTargetEntity.FieldCreateUserId, UserInfo.Id);
                sqlBuilder.SetValue(BaseContactTargetEntity.FieldCreateBy, UserInfo.RealName);
            }
            sqlBuilder.SetDBNow(BaseContactTargetEntity.FieldCreateOn);
            if (DbHelper.CurrentDbType == CurrentDbType.SqlServer && this.Identity)
            {
                sequence = sqlBuilder.EndInsert().ToString();
            }
            else
            {
                sqlBuilder.EndInsert();
            }
            return(sequence);
        }
Ejemplo n.º 7
0
        /// <summary>
        /// 添加
        /// </summary>
        /// <param name="workReportEntity">实体</param>
        /// <returns>主键</returns>
        private string AddEntity(BaseWorkReportEntity workReportEntity)
        {
            string returnValue = string.Empty;
            BaseSequenceManager sequenceManager = new BaseSequenceManager(DbHelper);
            string sequence = sequenceManager.GetSequence(BaseWorkReportTable.TableName);

            workReportEntity.SortCode = sequence;

            //获取职员的部门主键和公司主键
            BaseStaffManager staffManager = new BaseStaffManager(DbHelper, UserInfo);
            string           CompanyId    = staffManager.GetProperty(workReportEntity.StaffId, BaseStaffTable.FieldCompanyId);
            string           DepartmentId = staffManager.GetProperty(workReportEntity.StaffId, BaseStaffTable.FieldDepartmentId);

            SQLBuilder sqlBuilder = new SQLBuilder(DbHelper);

            sqlBuilder.BeginInsert(BaseWorkReportTable.TableName);
            sqlBuilder.SetValue(BaseWorkReportTable.FieldId, sequence);
            sqlBuilder.SetValue(BaseWorkReportTable.FieldCompanyId, CompanyId);
            sqlBuilder.SetValue(BaseWorkReportTable.FieldDepartmentId, DepartmentId);
            this.SetEntity(sqlBuilder, workReportEntity);
            sqlBuilder.SetValue(BaseWorkReportTable.FieldCreateUserId, UserInfo.Id);
            sqlBuilder.SetDBNow(BaseWorkReportTable.FieldCreateOn);
            returnValue = sqlBuilder.EndInsert() > 0 ? sequence : string.Empty;
            return(returnValue);
        }
        /// <summary>
        /// 添加实体
        /// </summary>
        /// <param name="parameterEntity">实体对象</param>
        /// <returns>主键</returns>
        public string AddEntity(BaseParameterEntity parameterEntity)
        {
            if (string.IsNullOrEmpty(parameterEntity.Id))
            {
                parameterEntity.Id = Guid.NewGuid().ToString();
            }
            SQLBuilder sqlBuilder = new SQLBuilder(DbHelper);

            sqlBuilder.BeginInsert(this.CurrentTableName);
            sqlBuilder.SetValue(BaseParameterEntity.FieldId, parameterEntity.Id);
            sqlBuilder.SetValue(BaseParameterEntity.FieldCategoryId, parameterEntity.CategoryId);
            sqlBuilder.SetValue(BaseParameterEntity.FieldParameterId, parameterEntity.ParameterId);
            sqlBuilder.SetValue(BaseParameterEntity.FieldParameterCode, parameterEntity.ParameterCode);
            sqlBuilder.SetValue(BaseParameterEntity.FieldWorked, parameterEntity.Worked ? 1 : 0);
            sqlBuilder.SetValue(BaseParameterEntity.FieldParameterContent, parameterEntity.ParameterContent);
            sqlBuilder.SetValue(BaseParameterEntity.FieldEnabled, parameterEntity.Enabled ? 1 : 0);
            sqlBuilder.SetValue(BaseParameterEntity.FieldDeletionStateCode, parameterEntity.DeletionStateCode);
            sqlBuilder.SetValue(BaseParameterEntity.FieldDescription, parameterEntity.Description);
            if (UserInfo != null)
            {
                sqlBuilder.SetValue(BaseParameterEntity.FieldCreateUserId, UserInfo.Id);
                sqlBuilder.SetValue(BaseParameterEntity.FieldCreateBy, UserInfo.RealName);
            }
            sqlBuilder.SetDBNow(BaseParameterEntity.FieldCreateOn);
            return(sqlBuilder.EndInsert() > 0 ? parameterEntity.Id : string.Empty);
        }
Ejemplo n.º 9
0
        //
        //  撤销权限的实现部分
        //

        #region private int Revoke(BasePermissionManager permissionManager, string systemCode, string organizeId, string result) 为了提高撤销的运行速度
        /// <summary>
        /// 为了提高撤销的运行速度
        /// </summary>
        /// <param name="permissionManager">资源权限读写器</param>
        /// <param name="organizeId">组织机构主键</param>
        /// <param name="result">权限主键</param>
        /// <returns>影响行数</returns>
        private int Revoke(BasePermissionManager permissionManager, string systemCode, string organizeId, string permissionId)
        {
            int result = 0;

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

            parameters.Add(new KeyValuePair <string, object>(BasePermissionEntity.FieldResourceCategory, BaseOrganizeEntity.TableName));
            parameters.Add(new KeyValuePair <string, object>(BasePermissionEntity.FieldResourceId, organizeId));
            parameters.Add(new KeyValuePair <string, object>(BasePermissionEntity.FieldPermissionId, permissionId));
            result = permissionManager.Delete(parameters);

            // 2015-09-21 吉日嘎拉 这里增加变更日志
            string     tableName  = systemCode + ".Permission.Organize";
            SQLBuilder sqlBuilder = new SQLBuilder(this.DbHelper);

            sqlBuilder.BeginInsert(BaseModifyRecordEntity.TableName);
            sqlBuilder.SetValue(BaseModifyRecordEntity.FieldTableCode, tableName);
            sqlBuilder.SetFormula(BaseModifyRecordEntity.FieldId, "SEQ_" + BaseModifyRecordEntity.TableName + ".NEXTVAL");
            sqlBuilder.SetValue(BaseModifyRecordEntity.FieldRecordKey, organizeId);
            sqlBuilder.SetValue(BaseModifyRecordEntity.FieldColumnCode, permissionId);
            sqlBuilder.SetValue(BaseModifyRecordEntity.FieldColumnDescription, BaseModuleManager.GetNameByCache(systemCode, permissionId));
            sqlBuilder.SetValue(BaseModifyRecordEntity.FieldOldValue, "1");
            sqlBuilder.SetValue(BaseModifyRecordEntity.FieldNewValue, "撤销授权");
            sqlBuilder.SetValue(BaseModifyRecordEntity.FieldCreateUserId, this.UserInfo.Id);
            sqlBuilder.SetValue(BaseModifyRecordEntity.FieldCreateBy, this.UserInfo.RealName);
            sqlBuilder.SetDBNow(BaseModifyRecordEntity.FieldCreateOn);
            sqlBuilder.SetValue(BaseModifyRecordEntity.FieldIPAddress, this.UserInfo.IPAddress);
            sqlBuilder.EndInsert();

            return(result);
        }
Ejemplo n.º 10
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);
        }
Ejemplo n.º 11
0
        /// <summary>
        /// 离职处理
        /// </summary>
        /// <param name="id">主键</param>
        /// <returns>影响行数</returns>
        public int Leave(BaseUserEntity userEntity, BaseUserLogOnEntity userLogOnEntity, string comment)
        {
            int result = 0;

            if (userEntity != null)
            {
                // 更新用户实体
                this.UpdateObject(userEntity);
            }

            // 更新登录信息
            if (userLogOnEntity != null)
            {
                BaseUserLogOnManager userLogOnManager = new BaseUserLogOnManager(this.UserInfo);
                userLogOnManager.UpdateObject(userLogOnEntity);
            }

            // 填写评论
            if (!string.IsNullOrWhiteSpace(comment))
            {
                SQLBuilder sqlBuilder = new SQLBuilder(BaseSystemInfo.ServerDbType);
                sqlBuilder.BeginInsert(BaseCommentEntity.TableName);
                sqlBuilder.SetValue(BaseCommentEntity.FieldId, System.Guid.NewGuid().ToString("N"));
                sqlBuilder.SetValue(BaseCommentEntity.FieldCategoryCode, BaseUserEntity.TableName);
                sqlBuilder.SetValue(BaseCommentEntity.FieldObjectId, userEntity.Id);
                sqlBuilder.SetValue(BaseCommentEntity.FieldContents, comment);
                sqlBuilder.SetValue(BaseCommentEntity.FieldWorked, 1);
                sqlBuilder.SetValue(BaseCommentEntity.FieldDepartmentId, userEntity.DepartmentId);
                sqlBuilder.SetValue(BaseCommentEntity.FieldDepartmentName, userEntity.DepartmentName);
                sqlBuilder.SetValue(BaseCommentEntity.FieldCreateUserId, this.UserInfo.Id);
                sqlBuilder.SetValue(BaseCommentEntity.FieldCreateBy, this.UserInfo.RealName);
                sqlBuilder.SetDBNow(BaseCommentEntity.FieldCreateOn);
                sqlBuilder.SetValue(BaseCommentEntity.FieldIPAddress, this.UserInfo.IPAddress);
                sqlBuilder.SetValue(BaseCommentEntity.FieldEnabled, 1);
                sqlBuilder.SetValue(BaseCommentEntity.FieldDeletionStateCode, 0);
                sqlBuilder.EndInsert();
            }

            // 2016-03-17 吉日嘎拉 停止吉信的号码
            if (userEntity != null && !string.IsNullOrEmpty(userEntity.NickName))
            {
                AfterLeaveStopIM(userEntity);
            }

            // 2016-03-17 吉日嘎拉 停止吉信的号码
            if (userEntity != null && !string.IsNullOrEmpty(userEntity.Id))
            {
                BaseUserContactEntity userContactEntity = BaseUserContactManager.GetObjectByCache(userEntity.Id);
                {
                    if (userContactEntity != null && !string.IsNullOrEmpty(userContactEntity.CompanyMail))
                    {
                        ChangeUserMailStatus(userContactEntity.CompanyMail, true);
                    }
                }
            }

            return(result);
        }
Ejemplo n.º 12
0
        /// <summary>
        /// 设置属性
        /// </summary>
        /// <param name="dbHelper">数据库连接</param>
        /// <param name="tableName">目标表名</param>
        /// <param name="targetFields">更新字段</param>
        /// <param name="targetValues">更新值</param>
        /// <returns>影响行数</returns>
        public static int Insert(IDbHelper dbHelper, string tableName, string[] targetFields, Object[] targetValues)
        {
            SQLBuilder sqlBuilder = new SQLBuilder(dbHelper);

            sqlBuilder.BeginInsert(tableName);
            for (int i = 0; i < targetFields.Length; i++)
            {
                sqlBuilder.SetValue(targetFields[i], targetValues[i]);
            }
            return(sqlBuilder.EndInsert());
        }
Ejemplo n.º 13
0
        /// <summary>
        /// 添加一条记录
        /// </summary>
        /// <param name="noteEntity">实体对象</param>
        /// <returns>主键</returns>
        public string AddEntity(BaseNoteEntity noteEntity)
        {
            string     id         = Guid.NewGuid().ToString();
            SQLBuilder sqlBuilder = new SQLBuilder(DbHelper);

            sqlBuilder.BeginInsert(this.CurrentTableName);
            sqlBuilder.SetValue(BaseNoteEntity.FieldId, id);
            this.SetEntity(sqlBuilder, noteEntity);
            if (UserInfo != null)
            {
                sqlBuilder.SetValue(BaseNoteEntity.FieldCreateUserId, UserInfo.Id);
                sqlBuilder.SetDBNow(BaseNoteEntity.FieldCreateOn);
            }
            sqlBuilder.SetDBNow(BaseNoteEntity.FieldModifiedOn);
            return(sqlBuilder.EndInsert() > 0 ? id : string.Empty);
        }
Ejemplo n.º 14
0
        /// <summary>
        /// 添加实体
        /// </summary>
        /// <param name="entity">实体</param>
        public string AddObject(TAB_EMPLOYEEEntity entity)
        {
            string key = string.Empty;

            key = entity.ID.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.ID);
            }
            this.SetObject(sqlBuilder, entity);
            sqlBuilder.EndInsert();
            return(key);
        }
Ejemplo n.º 15
0
        //
        //  撤销权限的实现部分
        //

        #region public int Revoke(string systemCode, string userId, string permissionId) 为了提高撤销的运行速度
        /// <summary>
        /// 为了提高撤销的运行速度
        /// </summary>
        /// <param name="systemCode">系统编号</param>
        /// <param name="userId">用户主键</param>
        /// <param name="permissionId">权限主键</param>
        /// <returns>影响行数</returns>
        public int Revoke(string systemCode, string userId, string permissionId)
        {
            int result = 0;

            if (String.IsNullOrEmpty(userId) && String.IsNullOrEmpty(permissionId))
            {
                return(result);
            }

            this.CurrentTableName = systemCode + "Permission";

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

            parameters.Add(new KeyValuePair <string, object>(BasePermissionEntity.FieldResourceCategory, BaseUserEntity.TableName));
            parameters.Add(new KeyValuePair <string, object>(BasePermissionEntity.FieldResourceId, userId));
            parameters.Add(new KeyValuePair <string, object>(BasePermissionEntity.FieldPermissionId, permissionId));
            // 伪删除、数据有冗余,但是有历史记录
            // result = permissionManager.SetDeleted(parameters);
            // 真删除、执行效率高、但是没有历史记录
            result = this.Delete(parameters);

            // 2015-09-21 吉日嘎拉 这里增加变更日志
            string     tableName  = systemCode + ".Permission.User";
            SQLBuilder sqlBuilder = new SQLBuilder(this.DbHelper);

            sqlBuilder.BeginInsert(BaseModifyRecordEntity.TableName);
            sqlBuilder.SetValue(BaseModifyRecordEntity.FieldTableCode, tableName);
            if (DbHelper.CurrentDbType == CurrentDbType.Oracle)
            {
                sqlBuilder.SetFormula(BaseModifyRecordEntity.FieldId, "SEQ_" + BaseModifyRecordEntity.TableName + ".NEXTVAL");
            }
            sqlBuilder.SetValue(BaseModifyRecordEntity.FieldRecordKey, userId);
            sqlBuilder.SetValue(BaseModifyRecordEntity.FieldColumnCode, "撤销授权");
            sqlBuilder.SetValue(BaseModifyRecordEntity.FieldColumnDescription, BaseModuleManager.GetNameByCache(systemCode, permissionId));
            sqlBuilder.SetValue(BaseModifyRecordEntity.FieldOldValue, "1");
            sqlBuilder.SetValue(BaseModifyRecordEntity.FieldNewValue, permissionId);
            sqlBuilder.SetValue(BaseModifyRecordEntity.FieldCreateUserId, this.UserInfo.Id);
            sqlBuilder.SetValue(BaseModifyRecordEntity.FieldCreateBy, this.UserInfo.RealName);
            sqlBuilder.SetDBNow(BaseModifyRecordEntity.FieldCreateOn);
            sqlBuilder.SetValue(BaseModifyRecordEntity.FieldIPAddress, this.UserInfo.IPAddress);
            sqlBuilder.EndInsert();

            return(result);
        }
Ejemplo n.º 16
0
        /// <summary>
        /// 添加日志
        /// </summary>
        /// <param name="entity">日志对象</param>
        /// <returns>主键</returns>
        public string AddObject(BaseLogEntity entity)
        {
            // 2013-10-06 JiRiGala 改进为添加到消息队列里,提高系统的性能
            // System.Messaging.MessageQueue messageQueue = new System.Messaging.MessageQueue(".\\Private$\\DotNetLog");
            // System.Messaging.StatusMessage message = new System.Messaging.StatusMessage();
            // message.Body = entity;
            // message.Formatter = new System.Messaging.XmlMessageFormatter(new Type[] { typeof(string) });
            // messageQueue.Send(message);

            if (!BaseSystemInfo.RecordLog)
            {
                return(string.Empty);
            }

            if (string.IsNullOrEmpty(entity.Id))
            {
                entity.Id = System.Guid.NewGuid().ToString("N");
            }

            SQLBuilder sqlBuilder = new SQLBuilder(DbHelper);

            sqlBuilder.BeginInsert(this.CurrentTableName, this.Identity);
            sqlBuilder.SetValue(BaseLogEntity.FieldId, entity.Id);
            sqlBuilder.SetValue(BaseLogEntity.FieldTaskId, entity.TaskId);
            sqlBuilder.SetValue(BaseLogEntity.FieldService, entity.Service);
            sqlBuilder.SetValue(BaseLogEntity.FieldStartTime, entity.StartTime);
            sqlBuilder.SetValue(BaseLogEntity.FieldUserId, entity.UserId);
            sqlBuilder.SetValue(BaseLogEntity.FieldUserRealName, entity.UserRealName);
            sqlBuilder.SetValue(BaseLogEntity.FieldCompanyId, entity.CompanyId);
            sqlBuilder.SetValue(BaseLogEntity.FieldUrlReferrer, entity.UrlReferrer);
            sqlBuilder.SetValue(BaseLogEntity.FieldWebUrl, entity.WebUrl);
            sqlBuilder.SetValue(BaseLogEntity.FieldParameters, entity.Parameters);
            sqlBuilder.SetValue(BaseLogEntity.FieldClientIP, entity.ClientIP);
            sqlBuilder.SetValue(BaseLogEntity.FieldServerIP, entity.ServerIP);
            sqlBuilder.SetValue(BaseLogEntity.FieldElapsedTicks, entity.ElapsedTicks);
            sqlBuilder.SetValue(BaseLogEntity.FieldDescription, entity.Description);

            // sqlBuilder.SetDBNow(BaseLogEntity.FieldStartTime);
            sqlBuilder.EndInsert();

            return(entity.Id);
        }
Ejemplo n.º 17
0
        /// <summary>
        /// 添加实体
        /// 20151008 吉日嘎拉 把排序码去掉,排序码没有意义
        /// </summary>
        /// <param name="entity">实体</param>
        public string AddObject(BaseMessageEntity entity)
        {
            string result = string.Empty;

            // 20151008 吉日嘎拉 消息的主键没必要自增,为了安全性高一些,直接用GUID就可以了,代码页简洁了,思路也简单了
            if (string.IsNullOrEmpty(entity.Id))
            {
                entity.Id = Guid.NewGuid().ToString("N");
            }

            result = entity.Id;

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

            sqlBuilder.BeginInsert(this.CurrentTableName, BaseMessageEntity.FieldId);
            sqlBuilder.SetValue(BaseMessageEntity.FieldId, entity.Id);

            this.SetObject(sqlBuilder, entity);

            if (UserInfo != null)
            {
                sqlBuilder.SetValue(BaseMessageEntity.FieldCreateUserId, UserInfo.Id);
                sqlBuilder.SetValue(BaseMessageEntity.FieldCreateBy, UserInfo.RealName);
                sqlBuilder.SetValue(BaseMessageEntity.FieldCreateDepartmentId, UserInfo.DepartmentId);
                sqlBuilder.SetValue(BaseMessageEntity.FieldCreateDepartmentName, UserInfo.DepartmentName);
                sqlBuilder.SetValue(BaseMessageEntity.FieldCreateCompanyId, entity.CreateCompanyId);
                sqlBuilder.SetValue(BaseMessageEntity.FieldCreateCompanyName, entity.CreateCompanyName);
            }
            else if (!string.IsNullOrEmpty(entity.CreateBy))
            {
                sqlBuilder.SetValue(BaseMessageEntity.FieldCreateBy, entity.CreateBy);
            }

            sqlBuilder.SetDBNow(BaseMessageEntity.FieldCreateOn);

            sqlBuilder.EndInsert();

            return(result);
        }
Ejemplo n.º 18
0
        /// <summary>
        /// 添加实体
        /// </summary>
        /// <param name="entity">实体</param>
        public string AddObject(BaseUserContactEntity entity)
        {
            SQLBuilder sqlBuilder = new SQLBuilder(DbHelper, this.Identity, this.ReturnId);

            sqlBuilder.BeginInsert(this.CurrentTableName, BaseUserContactEntity.FieldId);
            sqlBuilder.SetValue(BaseUserContactEntity.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);
            sqlBuilder.EndInsert();
            return(entity.Id);
        }
Ejemplo n.º 19
0
        /// <summary>
        /// 添加实体
        /// </summary>
        /// <param name="entity">实体</param>
        public string AddObject(BaseExportDataEntity entity)
        {
            string result = string.Empty;

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

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

            sqlBuilder.BeginInsert(this.CurrentTableName, this.PrimaryKey);
            if (!this.Identity)
            {
                // 这里已经是指定了主键了,所以不需要返回主键了
                sqlBuilder.SetValue(this.PrimaryKey, entity.Id);
            }
            this.SetObject(sqlBuilder, entity);
            if (UserInfo != null)
            {
                sqlBuilder.SetValue(BaseExportDataEntity.FieldCreateUserId, UserInfo.Id);
                sqlBuilder.SetValue(BaseExportDataEntity.FieldCreateBy, UserInfo.RealName);
            }
            sqlBuilder.SetDBNow(BaseExportDataEntity.FieldCreateOn);
            // 若是远程调用接口?
            if (this.RemoteInterface)
            {
                sqlBuilder.PrepareCommand();
                DbHelperUtilities.ExecuteNonQuery(UserInfo, sqlBuilder.CommandText, CommandType.Text.ToString(), sqlBuilder.DbParameters);
            }
            else
            {
                sqlBuilder.EndInsert();
            }

            return(result);
        }
Ejemplo n.º 20
0
        /// <summary>
        /// 记录异常情况
        /// </summary>
        /// <param name="Exception">异常类</param>
        /// <returns>主键</returns>
        public string AddObject(Exception ex)
        {
            // string result = BaseSequenceManager.Instance.Increment(DbHelper, BaseExceptionEntity.TableName);
            string     sequence   = Guid.NewGuid().ToString("N");
            SQLBuilder sqlBuilder = new SQLBuilder(DbHelper);

            sqlBuilder.BeginInsert(this.CurrentTableName);
            sqlBuilder.SetValue(BaseExceptionEntity.FieldId, sequence);
            // sqlBuilder.SetValue(BaseExceptionEntity.FieldTitle, UserInfo.ProcessName);
            // sqlBuilder.SetValue(BaseExceptionEntity.FieldProcessId, UserInfo.ProcessId);
            // sqlBuilder.SetValue(BaseExceptionEntity.FieldProcessName, UserInfo.ProcessName);
            sqlBuilder.SetValue(BaseExceptionEntity.FieldMessage, ex.Message);
            sqlBuilder.SetValue(BaseExceptionEntity.FieldThreadName, ex.Source);
            sqlBuilder.SetValue(BaseExceptionEntity.FieldFormattedMessage, ex.StackTrace);
            if (UserInfo != null)
            {
                sqlBuilder.SetValue(BaseExceptionEntity.FieldIPAddress, UserInfo.IPAddress);
                sqlBuilder.SetValue(BaseExceptionEntity.FieldCreateUserId, UserInfo.Id);
                sqlBuilder.SetValue(BaseExceptionEntity.FieldCreateBy, UserInfo.RealName);
            }
            sqlBuilder.SetDBNow(BaseExceptionEntity.FieldCreateOn);
            return(sqlBuilder.EndInsert() > 0 ? sequence : string.Empty);
        }
Ejemplo n.º 21
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);
        }
Ejemplo n.º 22
0
        /// <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);
        }
Ejemplo n.º 23
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);
        }
Ejemplo n.º 24
0
        /// <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="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);
        }
Ejemplo n.º 26
0
        /// <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="userInfo">用户</param>
        /// <param name="dtAreaRouteMark">路由设置</param>
        /// <returns>影响行数</returns>
        public int SetAreaRouteMark(string areaId, DataTable dtAreaRouteMark)
        {
            int    result   = 0;
            string areaName = string.Empty;

            BaseAreaEntity areaEntity = BaseAreaManager.GetObjectByCache(areaId);

            if (areaEntity != null)
            {
                areaName = areaEntity.FullName;
            }

            if (string.IsNullOrEmpty(areaName))
            {
                return(result);
            }

            IDbHelper dbHelper = DbHelperFactory.GetHelper(BaseSystemInfo.UserCenterDbType, BaseSystemInfo.UserCenterDbConnection);

            foreach (DataRow dr in dtAreaRouteMark.Rows)
            {
                // BaseAreaProvinceMarkEntity entity = null;
                if (string.IsNullOrWhiteSpace(dr["Id"].ToString()))
                {
                    /*
                     * entity = new BaseAreaProvinceMarkEntity();
                     * BaseEntity.Create<BaseAreaProvinceMarkEntity>(dr);
                     * entity.Province = dr["AREANAME"].ToString();
                     * entity.ProvinceId = dr["AREAID"].ToString();
                     * entity.Mark = dr["MARK"].ToString();
                     * entity.Description = dr["DESCRIPTION"].ToString();
                     * entity.CreateBy = this.UserInfo.RealName;
                     * entity.CreateUserId = this.UserInfo.Id;
                     * entity.CreateOn = DateTime.Now;
                     * this.AddObject(entity);
                     */

                    SQLBuilder sqlBuilder = new SQLBuilder(dbHelper);
                    sqlBuilder.BeginInsert("BASEAREA_PROVINCEMARK");
                    sqlBuilder.SetFormula("Id", "SEQ_BASEAREA_PROVINCEMARK.NEXTVAL");
                    sqlBuilder.SetValue("MARK", dr["MARK"].ToString());
                    sqlBuilder.SetValue("DESCRIPTION", dr["DESCRIPTION"].ToString());
                    sqlBuilder.SetValue("AREAID", areaId);
                    sqlBuilder.SetValue("AREA", areaName);
                    sqlBuilder.SetValue("ProvinceID", dr["AREAID"].ToString());
                    sqlBuilder.SetValue("Province", dr["AREANAME"].ToString());
                    sqlBuilder.SetValue("CreateUserId", this.UserInfo.Id);
                    sqlBuilder.SetValue("CreateBy", this.UserInfo.RealName);
                    sqlBuilder.SetDBNow("CreateOn");
                    sqlBuilder.SetValue("Enabled", 1);
                    sqlBuilder.EndInsert();
                    // sqlBuilder.PrepareCommand();
                    // dotNetService.AreaService.ExecuteNonQuery(UserInfo, sqlBuilder.CommandText, sqlBuilder.DbParameters, CommandType.Text.ToString());
                }
                else
                {
                    /*
                     * if (string.IsNullOrWhiteSpace(dr["MARK"].ToString()) && string.IsNullOrWhiteSpace(dr["DESCRIPTION"].ToString()))
                     * {
                     *  this.Delete(dr["Id"].ToString());
                     * }
                     * else
                     * {
                     *  entity = this.GetObject(dr["Id"].ToString());
                     *  // entity = BaseEntity.Create<BaseAreaProvinceMarkEntity>(dr);
                     *  entity.Mark = dr["MARK"].ToString();
                     *  entity.Description = dr["DESCRIPTION"].ToString();
                     *  entity.ModifiedBy = this.UserInfo.RealName;
                     *  entity.ModifiedUserId = this.UserInfo.Id;
                     *  entity.ModifiedOn = DateTime.Now;
                     *  this.Update(entity);
                     * }
                     */
                    SQLBuilder sqlBuilder = new SQLBuilder(dbHelper);
                    if (string.IsNullOrWhiteSpace(dr["MARK"].ToString()) && string.IsNullOrWhiteSpace(dr["DESCRIPTION"].ToString()))
                    {
                        sqlBuilder.BeginDelete("BASEAREA_PROVINCEMARK");
                        sqlBuilder.SetWhere("Id", dr["Id"].ToString());
                        sqlBuilder.EndDelete();
                        // sqlBuilder.PrepareCommand();
                        // dotNetService.AreaService.ExecuteNonQuery(UserInfo, sqlBuilder.CommandText, sqlBuilder.DbParameters, CommandType.Text.ToString());
                    }
                    else
                    {
                        sqlBuilder.BeginUpdate("BASEAREA_PROVINCEMARK");
                        sqlBuilder.SetValue("MARK", dr["MARK"].ToString());
                        sqlBuilder.SetValue("DESCRIPTION", dr["DESCRIPTION"].ToString());
                        sqlBuilder.SetValue("ModifiedUserId", this.UserInfo.Id);
                        sqlBuilder.SetValue("ModifiedBy", this.UserInfo.RealName);
                        sqlBuilder.SetDBNow("ModifiedOn");
                        sqlBuilder.SetWhere("ID", dr["Id"].ToString());
                        sqlBuilder.EndUpdate();
                        // sqlBuilder.PrepareCommand();
                        // dotNetService.AreaService.ExecuteNonQuery(UserInfo, sqlBuilder.CommandText, sqlBuilder.DbParameters, CommandType.Text.ToString());
                    }
                }
            }

            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);
        }
Ejemplo n.º 29
0
        //
        // 授予权限的实现部分
        //

        #region public string Grant(string systemCode, string roleId, string permissionId, bool chekExists = true) 为了提高授权的运行速度
        /// <summary>
        /// 为了提高授权的运行速度
        /// </summary>
        /// <param name="systemCode">系统编号</param>
        /// <param name="roleId">角色主键</param>
        /// <param name="permissionId">权限主键</param>
        /// <returns>主键</returns>
        public string Grant(string systemCode, string roleId, string permissionId, bool chekExists = true)
        {
            string result = string.Empty;

            string currentId = string.Empty;

            this.CurrentTableName = systemCode + "Permission";

            string tableName = systemCode + "Role";

            // 判断是否已经存在这个权限,若已经存在就不重复增加了
            if (chekExists)
            {
                List <KeyValuePair <string, object> > whereParameters = new List <KeyValuePair <string, object> >();
                whereParameters.Add(new KeyValuePair <string, object>(BasePermissionEntity.FieldResourceCategory, tableName));
                whereParameters.Add(new KeyValuePair <string, object>(BasePermissionEntity.FieldResourceId, roleId));
                whereParameters.Add(new KeyValuePair <string, object>(BasePermissionEntity.FieldPermissionId, permissionId));
                currentId = this.GetId(whereParameters);
                if (!string.IsNullOrEmpty(currentId))
                {
                    List <KeyValuePair <string, object> > parameters = new List <KeyValuePair <string, object> >();
                    parameters.Add(new KeyValuePair <string, object>(BasePermissionEntity.FieldEnabled, 1));
                    parameters.Add(new KeyValuePair <string, object>(BasePermissionEntity.FieldDeletionStateCode, 0));
                    parameters.Add(new KeyValuePair <string, object>(BasePermissionEntity.FieldModifiedUserId, this.UserInfo.Id));
                    parameters.Add(new KeyValuePair <string, object>(BasePermissionEntity.FieldModifiedBy, this.UserInfo.RealName));
                    parameters.Add(new KeyValuePair <string, object>(BasePermissionEntity.FieldModifiedOn, DateTime.Now));
                    // 更新状态,设置为有效、并取消删除标志,权限也不是天天变动的,所以可以更新一下
                    this.SetProperty(currentId, parameters);
                }
            }

            if (string.IsNullOrEmpty(currentId))
            {
                BasePermissionEntity permissionEntity = new BasePermissionEntity();
                permissionEntity.ResourceCategory = tableName;
                permissionEntity.ResourceId       = roleId;
                permissionEntity.PermissionId     = permissionId;
                // 防止不允许为NULL的错误发生
                permissionEntity.Enabled           = 1;
                permissionEntity.DeletionStateCode = 0;
                BasePermissionManager permissionManager = new BasePermissionManager(DbHelper, UserInfo, this.CurrentTableName);
                result = permissionManager.Add(permissionEntity);
            }

            // 2015-09-21 吉日嘎拉 这里增加变更日志
            tableName = systemCode + ".Permission.Role";
            SQLBuilder sqlBuilder = new SQLBuilder(this.DbHelper);

            sqlBuilder.BeginInsert(BaseModifyRecordEntity.TableName);
            sqlBuilder.SetValue(BaseModifyRecordEntity.FieldTableCode, tableName);
            if (DbHelper.CurrentDbType == CurrentDbType.Oracle)
            {
                sqlBuilder.SetFormula(BaseModifyRecordEntity.FieldId, "SEQ_" + BaseModifyRecordEntity.TableName + ".NEXTVAL");
            }
            sqlBuilder.SetValue(BaseModifyRecordEntity.FieldRecordKey, roleId);
            sqlBuilder.SetValue(BaseModifyRecordEntity.FieldColumnCode, "授权");
            sqlBuilder.SetValue(BaseModifyRecordEntity.FieldColumnDescription, BaseModuleManager.GetNameByCache(systemCode, permissionId));
            sqlBuilder.SetValue(BaseModifyRecordEntity.FieldOldValue, null);
            sqlBuilder.SetValue(BaseModifyRecordEntity.FieldNewValue, permissionId);
            sqlBuilder.SetValue(BaseModifyRecordEntity.FieldCreateUserId, this.UserInfo.Id);
            sqlBuilder.SetValue(BaseModifyRecordEntity.FieldCreateBy, this.UserInfo.RealName);
            sqlBuilder.SetDBNow(BaseModifyRecordEntity.FieldCreateOn);
            sqlBuilder.SetValue(BaseModifyRecordEntity.FieldIPAddress, this.UserInfo.IPAddress);
            sqlBuilder.EndInsert();

            return(result);
        }
Ejemplo n.º 30
0
        /// <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);
        }