Beispiel #1
0
        /// <summary>
        /// 添加实体
        /// </summary>
        /// <param name="entity">实体</param>
        public string AddEntity(CiItemsEntity entity)
        {
            var sequence = string.Empty;

            if (string.IsNullOrEmpty(entity.SortCode.ToString()) || entity.SortCode == 0)
            {
                var sequenceManager = new CiSequenceManager(DBProvider, this.Identity);
                sequence        = sequenceManager.GetSequence(this.CurrentTableName);
                entity.SortCode = int.Parse(sequence);
            }
            this.Identity = false;
            var sqlBuilder = new SQLBuilder(DBProvider, this.Identity, this.ReturnId);

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

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

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

            if (workFlowTemplateEntity.SortCode == null || workFlowTemplateEntity.SortCode == 0)
            {
                var sequenceManager = new CiSequenceManager(DBProvider, this.Identity);
                sequence = sequenceManager.GetSequence(this.CurrentTableName);
                workFlowTemplateEntity.SortCode = int.Parse(sequence);
            }
            this.Identity = false;
            if (!string.IsNullOrEmpty(workFlowTemplateEntity.WorkFlowId))
            {
                sequence = workFlowTemplateEntity.WorkFlowId.ToString(CultureInfo.InvariantCulture);
            }
            var sqlBuilder = new SQLBuilder(DBProvider, this.Identity, this.ReturnId);

            sqlBuilder.BeginInsert(this.CurrentTableName, WorkFlowTemplateTable.FieldWorkFlowId);
            if (!this.Identity)
            {
                if (string.IsNullOrEmpty(workFlowTemplateEntity.WorkFlowId))
                {
                    sequence = BusinessLogic.NewGuid();
                    workFlowTemplateEntity.WorkFlowId = sequence;
                }
                sqlBuilder.SetValue(WorkFlowTemplateTable.FieldWorkFlowId, workFlowTemplateEntity.WorkFlowId);
            }
            else
            {
                if (!this.ReturnId && (DBProvider.CurrentDbType == CurrentDbType.Oracle || DBProvider.CurrentDbType == CurrentDbType.DB2))
                {
                    if (DBProvider.CurrentDbType == CurrentDbType.Oracle)
                    {
                        sqlBuilder.SetFormula(WorkFlowTemplateTable.FieldWorkFlowId, "SEQ_" + this.CurrentTableName.ToUpper() + ".NEXTVAL ");
                    }
                    if (DBProvider.CurrentDbType == CurrentDbType.DB2)
                    {
                        sqlBuilder.SetFormula(WorkFlowTemplateTable.FieldWorkFlowId, "NEXT VALUE FOR SEQ_" + this.CurrentTableName.ToUpper());
                    }
                }
                else
                {
                    if (this.Identity && (DBProvider.CurrentDbType == CurrentDbType.Oracle || DBProvider.CurrentDbType == CurrentDbType.DB2))
                    {
                        if (string.IsNullOrEmpty(workFlowTemplateEntity.WorkFlowId))
                        {
                            if (string.IsNullOrEmpty(sequence))
                            {
                                var sequenceManager = new CiSequenceManager(DBProvider, this.Identity);
                                sequence = sequenceManager.GetSequence(this.CurrentTableName);
                            }
                            workFlowTemplateEntity.WorkFlowId = sequence;
                        }
                        sqlBuilder.SetValue(WorkFlowTemplateTable.FieldWorkFlowId, workFlowTemplateEntity.WorkFlowId);
                    }
                }
            }
            this.SetEntity(sqlBuilder, workFlowTemplateEntity);
            if (UserInfo != null)
            {
                sqlBuilder.SetValue(WorkFlowTemplateTable.FieldCreateUserId, UserInfo.Id);
                sqlBuilder.SetValue(WorkFlowTemplateTable.FieldCreateBy, UserInfo.RealName);
                sqlBuilder.SetValue(WorkFlowTemplateTable.FieldModifiedUserId, UserInfo.Id);
                sqlBuilder.SetValue(WorkFlowTemplateTable.FieldModifiedBy, UserInfo.RealName);
            }
            sqlBuilder.SetDBNow(WorkFlowTemplateTable.FieldCreateOn);
            sqlBuilder.SetDBNow(WorkFlowTemplateTable.FieldModifiedOn);
            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);
        }
Beispiel #5
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);
        }
        /// <summary>
        /// 添加实体
        /// </summary>
        /// <param name="piRoleEntity">实体</param>
        public string AddEntity(PiRoleEntity piRoleEntity)
        {
            string sequence = string.Empty;

            if (piRoleEntity.SortCode == null || piRoleEntity.SortCode == 0)
            {
                CiSequenceManager sequenceManager = new CiSequenceManager(DBProvider, this.Identity);
                sequence = sequenceManager.GetSequence(this.CurrentTableName, sequenceManager.DefaultSequence);
                piRoleEntity.SortCode = int.Parse(sequence);
            }
            this.Identity = false;
            SQLBuilder sqlBuilder = new SQLBuilder(DBProvider, this.Identity, this.ReturnId);

            sqlBuilder.BeginInsert(this.CurrentTableName, PiRoleTable.FieldId);
            if (!this.Identity)
            {
                if (String.IsNullOrEmpty(piRoleEntity.Id))
                {
                    sequence        = BusinessLogic.NewGuid();
                    piRoleEntity.Id = sequence;
                }
                sqlBuilder.SetValue(PiRoleTable.FieldId, piRoleEntity.Id);
            }
            else
            {
                if (!this.ReturnId && (DBProvider.CurrentDbType == CurrentDbType.Oracle || DBProvider.CurrentDbType == CurrentDbType.DB2))
                {
                    if (DBProvider.CurrentDbType == CurrentDbType.Oracle)
                    {
                        sqlBuilder.SetFormula(PiRoleTable.FieldId, "SEQ_" + this.CurrentTableName.ToUpper() + ".NEXTVAL ");
                    }
                    if (DBProvider.CurrentDbType == CurrentDbType.DB2)
                    {
                        sqlBuilder.SetFormula(PiRoleTable.FieldId, "NEXT VALUE FOR SEQ_" + this.CurrentTableName.ToUpper());
                    }
                }
                else
                {
                    if (this.Identity && (DBProvider.CurrentDbType == CurrentDbType.Oracle || DBProvider.CurrentDbType == CurrentDbType.DB2))
                    {
                        if (piRoleEntity.Id == null)
                        {
                            if (string.IsNullOrEmpty(sequence))
                            {
                                CiSequenceManager sequenceManager = new CiSequenceManager(DBProvider, this.Identity);
                                sequence = sequenceManager.GetSequence(this.CurrentTableName);
                            }
                            piRoleEntity.Id = sequence;
                        }
                        sqlBuilder.SetValue(PiRoleTable.FieldId, piRoleEntity.Id);
                    }
                }
            }
            this.SetEntity(sqlBuilder, piRoleEntity);
            if (UserInfo != null)
            {
                sqlBuilder.SetValue(PiRoleTable.FieldCreateUserId, UserInfo.Id);
                sqlBuilder.SetValue(PiRoleTable.FieldCreateBy, UserInfo.RealName);
            }
            sqlBuilder.SetDBNow(PiRoleTable.FieldCreateOn);
            if (UserInfo != null)
            {
                sqlBuilder.SetValue(PiRoleTable.FieldModifiedUserId, UserInfo.Id);
                sqlBuilder.SetValue(PiRoleTable.FieldModifiedBy, UserInfo.RealName);
            }
            sqlBuilder.SetDBNow(PiRoleTable.FieldModifiedOn);
            if (this.Identity && (DBProvider.CurrentDbType == CurrentDbType.SqlServer || DBProvider.CurrentDbType == CurrentDbType.Access))
            {
                sequence = sqlBuilder.EndInsert().ToString();
            }
            else
            {
                sqlBuilder.EndInsert();
            }
            // 运行成功
            return(sequence);
        }