Esempio n. 1
0
 /// <summary>
 /// 添加实体
 /// </summary>
 /// <param name="staffEntity">实体</param>
 public string AddEntity(PiStaffEntity staffEntity)
 {
     string sequence = string.Empty;
     if (staffEntity.SortCode == 0 || staffEntity.SortCode == null)
     {
         CiSequenceManager sequenceManager = new CiSequenceManager(DBProvider, this.Identity);
         sequence = sequenceManager.GetSequence(this.CurrentTableName);
         staffEntity.SortCode = int.Parse(sequence);
     }
     this.Identity = false;
     SQLBuilder sqlBuilder = new SQLBuilder(DBProvider, this.Identity, this.ReturnId);
     sqlBuilder.BeginInsert(PiStaffTable.TableName, PiStaffTable.FieldId);
     if (!this.Identity)
     {
         if (String.IsNullOrEmpty(staffEntity.Id))
         {
             sequence = BusinessLogic.NewGuid();
             staffEntity.Id = sequence;
         }
         sqlBuilder.SetValue(PiStaffTable.FieldId, staffEntity.Id);
     }
     else
     {
         if (!this.ReturnId && (DBProvider.CurrentDbType == CurrentDbType.Oracle || DBProvider.CurrentDbType == CurrentDbType.DB2))
         {
             if (DBProvider.CurrentDbType == CurrentDbType.Oracle)
             {
                 sqlBuilder.SetFormula(PiStaffTable.FieldId, "SEQ_" + this.CurrentTableName.ToUpper() + ".NEXTVAL ");
             }
             if (DBProvider.CurrentDbType == CurrentDbType.DB2)
             {
                 sqlBuilder.SetFormula(PiStaffTable.FieldId, "NEXT VALUE FOR SEQ_" + this.CurrentTableName.ToUpper());
             }
         }
         else
         {
             if (this.Identity && (DBProvider.CurrentDbType == CurrentDbType.Oracle || DBProvider.CurrentDbType == CurrentDbType.DB2))
             {
                 if (staffEntity.Id == null)
                 {
                     if (string.IsNullOrEmpty(sequence))
                     {
                         CiSequenceManager sequenceManager = new CiSequenceManager(DBProvider, this.Identity);
                         sequence = sequenceManager.GetSequence(this.CurrentTableName);
                     }
                     staffEntity.Id = sequence;
                 }
                 sqlBuilder.SetValue(PiStaffTable.FieldId, staffEntity.Id);
             }
         }
     }
     this.SetEntity(sqlBuilder, staffEntity);
     if (UserInfo != null)
     {
         sqlBuilder.SetValue(PiStaffTable.FieldCreateUserId, UserInfo.Id);
         sqlBuilder.SetValue(PiStaffTable.FieldCreateBy, UserInfo.RealName);
     }
     sqlBuilder.SetDBNow(PiStaffTable.FieldCreateOn);
     if (UserInfo != null)
     {
         sqlBuilder.SetValue(PiStaffTable.FieldModifiedUserId, UserInfo.Id);
         sqlBuilder.SetValue(PiStaffTable.FieldModifiedBy, UserInfo.RealName);
     }
     sqlBuilder.SetDBNow(PiStaffTable.FieldModifiedOn);
     if (DBProvider.CurrentDbType == CurrentDbType.SqlServer && this.Identity)
     {
         sequence = sqlBuilder.EndInsert().ToString();
     }
     else
     {
         sqlBuilder.EndInsert();
     }
     return sequence;
 }
        /// <summary>
        /// 添加实体
        /// </summary>
        /// <param name="workFlowServiceEntity">实体</param>
        public string AddEntity(WorkFlowServiceEntity workFlowServiceEntity)
        {
            var sequence = string.Empty;

            this.Identity = false;
            if (!string.IsNullOrEmpty(workFlowServiceEntity.ServiceId))
            {
                sequence = workFlowServiceEntity.ServiceId.ToString(CultureInfo.InvariantCulture);
            }
            var sqlBuilder = new SQLBuilder(DBProvider, this.Identity, this.ReturnId);

            sqlBuilder.BeginInsert(this.CurrentTableName, WorkFlowServiceTable.FieldServiceId);
            if (!this.Identity)
            {
                if (string.IsNullOrEmpty(workFlowServiceEntity.ServiceId))
                {
                    sequence = BusinessLogic.NewGuid();
                    workFlowServiceEntity.ServiceId = sequence;
                }
                sqlBuilder.SetValue(WorkFlowServiceTable.FieldServiceId, workFlowServiceEntity.ServiceId);
            }
            else
            {
                if (!this.ReturnId && (DBProvider.CurrentDbType == CurrentDbType.Oracle || DBProvider.CurrentDbType == CurrentDbType.DB2))
                {
                    if (DBProvider.CurrentDbType == CurrentDbType.Oracle)
                    {
                        sqlBuilder.SetFormula(WorkFlowServiceTable.FieldServiceId, "SEQ_" + this.CurrentTableName.ToUpper() + ".NEXTVAL ");
                    }
                    if (DBProvider.CurrentDbType == CurrentDbType.DB2)
                    {
                        sqlBuilder.SetFormula(WorkFlowServiceTable.FieldServiceId, "NEXT VALUE FOR SEQ_" + this.CurrentTableName.ToUpper());
                    }
                }
                else
                {
                    if (this.Identity && (DBProvider.CurrentDbType == CurrentDbType.Oracle || DBProvider.CurrentDbType == CurrentDbType.DB2))
                    {
                        if (string.IsNullOrEmpty(workFlowServiceEntity.ServiceId))
                        {
                            if (string.IsNullOrEmpty(sequence))
                            {
                                var sequenceManager = new CiSequenceManager(DBProvider, this.Identity);
                                sequence = sequenceManager.GetSequence(this.CurrentTableName);
                            }
                            workFlowServiceEntity.ServiceId = sequence;
                        }
                        sqlBuilder.SetValue(WorkFlowServiceTable.FieldServiceId, workFlowServiceEntity.ServiceId);
                    }
                }
            }
            this.SetEntity(sqlBuilder, workFlowServiceEntity);
            if (this.Identity && (DBProvider.CurrentDbType == CurrentDbType.SqlServer || DBProvider.CurrentDbType == CurrentDbType.Access))
            {
                sequence = sqlBuilder.EndInsert().ToString(CultureInfo.InvariantCulture);
            }
            else
            {
                sqlBuilder.EndInsert();
            }
            return(sequence);
        }
        /// <summary>
        /// 添加实体
        /// </summary>
        /// <param name="fileEntity">实体</param>
        public string AddEntity(CiFileEntity fileEntity)
        {
            var sequence = string.Empty;

            if (fileEntity.SortCode == null || fileEntity.SortCode == 0)
            {
                var sequenceManager = new CiSequenceManager(DBProvider, this.Identity);
                sequence            = sequenceManager.GetSequence(this.CurrentTableName, sequenceManager.DefaultSequence);
                fileEntity.SortCode = BusinessLogic.ConvertToNullableInt32(sequence);
            }
            this.Identity = false;
            var sqlBuilder = new SQLBuilder(DBProvider, this.Identity, false);

            sqlBuilder.BeginInsert(this.CurrentTableName, CiFileTable.FieldId);
            if (!this.Identity)
            {
                if (String.IsNullOrEmpty(fileEntity.Id))
                {
                    sequence      = BusinessLogic.NewGuid();
                    fileEntity.Id = sequence;
                }
                sqlBuilder.SetValue(CiFileTable.FieldId, fileEntity.Id);
            }
            else
            {
                if (!this.ReturnId && DBProvider.CurrentDbType == CurrentDbType.Oracle)
                {
                    sqlBuilder.SetFormula(CiFileTable.FieldId, "SEQ_" + this.CurrentTableName.ToUpper() + ".NEXTVAL ");
                }
                else
                {
                    if (this.Identity && DBProvider.CurrentDbType == CurrentDbType.Oracle)
                    {
                        if (string.IsNullOrEmpty(fileEntity.Id))
                        {
                            if (string.IsNullOrEmpty(sequence))
                            {
                                var sequenceManager = new CiSequenceManager(DBProvider, this.Identity);
                                sequence = sequenceManager.GetSequence(this.CurrentTableName);
                            }
                            fileEntity.Id = sequence;
                        }
                        sqlBuilder.SetValue(CiFileTable.FieldId, fileEntity.Id);
                    }
                }
            }
            this.SetEntity(sqlBuilder, fileEntity);
            if (UserInfo != null)
            {
                sqlBuilder.SetValue(CiFileTable.FieldCreateUserId, UserInfo.Id);
                sqlBuilder.SetValue(CiFileTable.FieldCreateBy, UserInfo.RealName);
            }
            sqlBuilder.SetDBNow(CiFileTable.FieldCreateOn);

            /*
             * if (UserInfo != null)
             * {
             *  sqlBuilder.SetValue(CiFileTable.FieldModifiedUserId, UserInfo.Id);
             *  sqlBuilder.SetValue(CiFileTable.FieldModifiedBy, UserInfo.RealName);
             * }
             * sqlBuilder.SetDBNow(CiFileTable.FieldModifiedOn);
             */
            if (DBProvider.CurrentDbType == CurrentDbType.SqlServer && this.Identity)
            {
                sequence = sqlBuilder.EndInsert().ToString();
            }
            else
            {
                sqlBuilder.EndInsert();
            }
            return(sequence);
        }
Esempio n. 4
0
        /// <summary>
        /// 添加实体
        /// </summary>
        /// <param name="piOrganizeEntity">实体</param>
        public string AddEntity(PiOrganizeEntity piOrganizeEntity, out string statusCode)
        {
            string sequence = string.Empty;

            statusCode = string.Empty;
            string[] names  = new string[] { PiOrganizeTable.FieldParentId, PiOrganizeTable.FieldFullName, PiOrganizeTable.FieldDeleteMark };
            object[] values = new object[] { piOrganizeEntity.ParentId, piOrganizeEntity.FullName, piOrganizeEntity.DeleteMark };
            if (this.Exists(names, values))
            {
                // 名称已重复
                statusCode = StatusCode.ErrorNameExist.ToString();
            }
            else
            {
                if (piOrganizeEntity.SortCode == null || piOrganizeEntity.SortCode == 0)
                {
                    CiSequenceManager sequenceManager = new CiSequenceManager(DBProvider, this.Identity);
                    sequence = sequenceManager.GetSequence(this.CurrentTableName, sequenceManager.DefaultSequence);
                    piOrganizeEntity.SortCode = int.Parse(sequence);
                }
                this.Identity = false;
                SQLBuilder sqlBuilder = new SQLBuilder(DBProvider, this.Identity, this.ReturnId);
                sqlBuilder.BeginInsert(this.CurrentTableName, PiOrganizeTable.FieldId);
                if (!this.Identity)
                {
                    if (String.IsNullOrEmpty(piOrganizeEntity.Id))
                    {
                        sequence            = BusinessLogic.NewGuid();
                        piOrganizeEntity.Id = sequence;
                    }
                    sqlBuilder.SetValue(PiOrganizeTable.FieldId, piOrganizeEntity.Id);
                }
                else
                {
                    if (!this.ReturnId && (DBProvider.CurrentDbType == CurrentDbType.Oracle || DBProvider.CurrentDbType == CurrentDbType.DB2))
                    {
                        if (DBProvider.CurrentDbType == CurrentDbType.Oracle)
                        {
                            sqlBuilder.SetFormula(PiOrganizeTable.FieldId, "SEQ_" + this.CurrentTableName.ToUpper() + ".NEXTVAL ");
                        }
                        if (DBProvider.CurrentDbType == CurrentDbType.DB2)
                        {
                            sqlBuilder.SetFormula(PiOrganizeTable.FieldId, "NEXT VALUE FOR SEQ_" + this.CurrentTableName.ToUpper());
                        }
                    }
                    else
                    {
                        if (this.Identity && (DBProvider.CurrentDbType == CurrentDbType.Oracle || DBProvider.CurrentDbType == CurrentDbType.DB2))
                        {
                            if (piOrganizeEntity.Id == null)
                            {
                                if (string.IsNullOrEmpty(sequence))
                                {
                                    CiSequenceManager sequenceManager = new CiSequenceManager(DBProvider, this.Identity);
                                    sequence = sequenceManager.GetSequence(this.CurrentTableName);
                                }
                                piOrganizeEntity.Id = sequence;
                            }
                            sqlBuilder.SetValue(PiOrganizeTable.FieldId, piOrganizeEntity.Id);
                        }
                    }
                }
                this.SetEntity(sqlBuilder, piOrganizeEntity);
                //if (UserInfo != null)
                //{
                //    sqlBuilder.SetValue(PiOrganizeTable.FieldCreateUserId, UserInfo.Id);
                //    sqlBuilder.SetValue(PiOrganizeTable.FieldCreateBy, UserInfo.RealName);
                //}
                sqlBuilder.SetDBNow(PiOrganizeTable.FieldCreateOn);
                sqlBuilder.SetDBNow(PiOrganizeTable.FieldModifiedOn);
                if (this.Identity && (DBProvider.CurrentDbType == CurrentDbType.SqlServer || DBProvider.CurrentDbType == CurrentDbType.Access))
                {
                    sequence = sqlBuilder.EndInsert().ToString();
                    // 运行成功
                    statusCode = StatusCode.OKAdd.ToString();
                }
                else
                {
                    sqlBuilder.EndInsert();
                    // 运行成功
                    statusCode = StatusCode.OKAdd.ToString();
                }
            }
            return(sequence);
        }
Esempio n. 5
0
        /// <summary>
        /// 添加实体
        /// </summary>
        /// <param name="userControlsEntity">实体</param>
        public string AddEntity(UserControlsEntity userControlsEntity)
        {
            var sequence = string.Empty;

            this.Identity = false;
            if (!string.IsNullOrEmpty(userControlsEntity.Id))
            {
                sequence = userControlsEntity.Id.ToString(CultureInfo.InvariantCulture);
            }
            var sqlBuilder = new SQLBuilder(DBProvider, this.Identity, this.ReturnId);

            sqlBuilder.BeginInsert(this.CurrentTableName, UserControlsTable.FieldId);
            if (!this.Identity)
            {
                if (string.IsNullOrEmpty(userControlsEntity.Id))
                {
                    sequence = BusinessLogic.NewGuid();
                    userControlsEntity.Id = sequence;
                }
                sqlBuilder.SetValue(UserControlsTable.FieldId, userControlsEntity.Id);
            }
            else
            {
                if (!this.ReturnId && (DBProvider.CurrentDbType == CurrentDbType.Oracle || DBProvider.CurrentDbType == CurrentDbType.DB2))
                {
                    if (DBProvider.CurrentDbType == CurrentDbType.Oracle)
                    {
                        sqlBuilder.SetFormula(UserControlsTable.FieldId, "SEQ_" + this.CurrentTableName.ToUpper() + ".NEXTVAL ");
                    }
                    if (DBProvider.CurrentDbType == CurrentDbType.DB2)
                    {
                        sqlBuilder.SetFormula(UserControlsTable.FieldId, "NEXT VALUE FOR SEQ_" + this.CurrentTableName.ToUpper());
                    }
                }
                else
                {
                    if (this.Identity && (DBProvider.CurrentDbType == CurrentDbType.Oracle || DBProvider.CurrentDbType == CurrentDbType.DB2))
                    {
                        if (string.IsNullOrEmpty(userControlsEntity.Id))
                        {
                            if (string.IsNullOrEmpty(sequence))
                            {
                                var sequenceManager = new CiSequenceManager(DBProvider, this.Identity);
                                sequence = sequenceManager.GetSequence(this.CurrentTableName);
                            }
                            userControlsEntity.Id = sequence;
                        }
                        sqlBuilder.SetValue(UserControlsTable.FieldId, userControlsEntity.Id);
                    }
                }
            }
            this.SetEntity(sqlBuilder, userControlsEntity);
            if (UserInfo != null)
            {
                sqlBuilder.SetValue(UserControlsTable.FieldCreateUserId, UserInfo.Id);
                sqlBuilder.SetValue(UserControlsTable.FieldCreateBy, UserInfo.RealName);
                sqlBuilder.SetValue(UserControlsTable.FieldModifiedUserId, UserInfo.Id);
                sqlBuilder.SetValue(UserControlsTable.FieldModifiedBy, UserInfo.RealName);
            }
            sqlBuilder.SetDBNow(UserControlsTable.FieldCreateOn);
            sqlBuilder.SetDBNow(UserControlsTable.FieldModifiedOn);
            if (this.Identity && (DBProvider.CurrentDbType == CurrentDbType.SqlServer || DBProvider.CurrentDbType == CurrentDbType.Access))
            {
                sequence = sqlBuilder.EndInsert().ToString(CultureInfo.InvariantCulture);
            }
            else
            {
                sqlBuilder.EndInsert();
            }
            return(sequence);
        }
Esempio n. 6
0
        /// <summary>
        /// 添加实体
        /// </summary>
        /// <param name="operatorInstanceEntity">实体</param>
        public string AddEntity(OperatorInstanceEntity operatorInstanceEntity)
        {
            var sequence = string.Empty;

            this.Identity = false;
            if (operatorInstanceEntity.OperatorInsId != null)
            {
                sequence = operatorInstanceEntity.OperatorInsId.ToString();
            }
            var sqlBuilder = new SQLBuilder(DBProvider, this.Identity, this.ReturnId);

            sqlBuilder.BeginInsert(this.CurrentTableName, OperatorInstanceTable.FieldOperatorInsId);
            if (!this.Identity)
            {
                if (string.IsNullOrEmpty(operatorInstanceEntity.OperatorInsId))
                {
                    sequence = BusinessLogic.NewGuid();
                    operatorInstanceEntity.OperatorInsId = sequence;
                }
                sqlBuilder.SetValue(OperatorInstanceTable.FieldOperatorInsId, operatorInstanceEntity.OperatorInsId);
            }
            else
            {
                if (!this.ReturnId && (DBProvider.CurrentDbType == CurrentDbType.Oracle || DBProvider.CurrentDbType == CurrentDbType.DB2))
                {
                    if (DBProvider.CurrentDbType == CurrentDbType.Oracle)
                    {
                        sqlBuilder.SetFormula(OperatorInstanceTable.FieldOperatorInsId, "SEQ_" + this.CurrentTableName.ToUpper() + ".NEXTVAL ");
                    }
                    if (DBProvider.CurrentDbType == CurrentDbType.DB2)
                    {
                        sqlBuilder.SetFormula(OperatorInstanceTable.FieldOperatorInsId, "NEXT VALUE FOR SEQ_" + this.CurrentTableName.ToUpper());
                    }
                }
                else
                {
                    if (this.Identity && (DBProvider.CurrentDbType == CurrentDbType.Oracle || DBProvider.CurrentDbType == CurrentDbType.DB2))
                    {
                        if (string.IsNullOrEmpty(operatorInstanceEntity.OperatorInsId))
                        {
                            if (string.IsNullOrEmpty(sequence))
                            {
                                var sequenceManager = new CiSequenceManager(DBProvider, this.Identity);
                                sequence = sequenceManager.GetSequence(this.CurrentTableName);
                            }
                            operatorInstanceEntity.OperatorInsId = sequence;
                        }
                        sqlBuilder.SetValue(OperatorInstanceTable.FieldOperatorInsId, operatorInstanceEntity.OperatorInsId);
                    }
                }
            }
            this.SetEntity(sqlBuilder, operatorInstanceEntity);
            if (this.Identity && (DBProvider.CurrentDbType == CurrentDbType.SqlServer || DBProvider.CurrentDbType == CurrentDbType.Access))
            {
                sequence = sqlBuilder.EndInsert().ToString();
            }
            else
            {
                sqlBuilder.EndInsert();
            }
            return(sequence);
        }