コード例 #1
0
ファイル: PositionDal.cs プロジェクト: pmsun-bruce/DBTool
        /// <summary>
        /// 删除职位
        /// </summary>
        /// <param name="positionId">职位ID</param>
        /// <param name="tran">中间事务对象</param>
        public void Delete(string positionId, ICTransaction tran)
        {
            PositionSearcher querySearcher = new PositionSearcher();

            querySearcher.PositionId.Equal(positionId);
            this.Delete(querySearcher, tran);
        }
コード例 #2
0
        /// <summary>
        /// 删除部门
        /// </summary>
        /// <param name="departmentId">部门ID</param>
        /// <param name="tran">中间事务对象</param>
        public void Delete(string departmentId, ICTransaction tran)
        {
            DepartmentSearcher querySearcher = new DepartmentSearcher();

            querySearcher.DepartmentId.Equal(departmentId);
            this.Delete(querySearcher, tran);
        }
コード例 #3
0
ファイル: PositionDal.cs プロジェクト: pmsun-bruce/DBTool
 /// <summary>
 /// 新建职位
 /// </summary>
 /// <param name="position">职位实体对象</param>
 /// <param name="tran">事务对象</param>
 /// <returns>返回处理后的职位实体对象</returns>
 public Position Add(Position position, ICTransaction tran)
 {
     IList<Position> positionList = new List<Position>();
     positionList.Add(position);
     positionList = this.Add(positionList, tran);
     return positionList == null ? null : positionList[0];
 }
コード例 #4
0
        /// <summary>
        /// 更新职位数据
        /// </summary>
        /// <param name="position">职位实体对象</param>
        /// <param name="tran">中间事务对象</param>
        public void Update(Position position, ICTransaction tran)
        {
            IList <Position> positionList = new List <Position>();

            positionList.Add(position);
            this.Update(positionList, tran);
        }
コード例 #5
0
ファイル: DepartmentDal.cs プロジェクト: pmsun-bruce/DBTool
 /// <summary>
 /// 新建部门
 /// </summary>
 /// <param name="department">部门实体对象</param>
 /// <param name="tran">事务对象</param>
 /// <returns>返回处理后的部门实体对象</returns>
 public Department Add(Department department, ICTransaction tran)
 {
     IList<Department> departmentList = new List<Department>();
     departmentList.Add(department);
     departmentList = this.Add(departmentList, tran);
     return departmentList == null ? null : departmentList[0];
 }
コード例 #6
0
        /// <summary>
        /// 更新员工数据
        /// </summary>
        /// <param name="employee">员工实体对象</param>
        /// <param name="tran">中间事务对象</param>
        public void Update(Employee employee, ICTransaction tran)
        {
            IList <Employee> employeeList = new List <Employee>();

            employeeList.Add(employee);
            this.Update(employeeList, tran);
        }
コード例 #7
0
ファイル: DepartmentDal.cs プロジェクト: pmsun-bruce/DBTool
        /// <summary>
        /// 更新部门数据
        /// </summary>
        /// <param name="department">部门实体对象</param>
        /// <param name="tran">中间事务对象</param>
        public void Update(Department department, ICTransaction tran)
        {
            IList <Department> departmentList = new List <Department>();

            departmentList.Add(department);
            this.Update(departmentList, tran);
        }
コード例 #8
0
        /// <summary>
        /// 删除公司
        /// </summary>
        /// <param name="companyId">公司ID</param>
        /// <param name="tran">中间事务对象</param>
        public void Delete(string companyId, ICTransaction tran)
        {
            CompanySearcher querySearcher = new CompanySearcher();

            querySearcher.CompanyId.Equal(companyId);
            this.Delete(querySearcher, tran);
        }
コード例 #9
0
        /// <summary>
        /// 更新公司数据
        /// </summary>
        /// <param name="company">公司实体对象</param>
        /// <param name="tran">中间事务对象</param>
        public void Update(Company company, ICTransaction tran)
        {
            IList <Company> companyList = new List <Company>();

            companyList.Add(company);
            this.Update(companyList, tran);
        }
コード例 #10
0
ファイル: EmployeeDal.cs プロジェクト: pmsun-bruce/DBTool
 /// <summary>
 /// 新建员工
 /// </summary>
 /// <param name="employee">员工实体对象</param>
 /// <param name="tran">中间事务对象</param>
 /// <returns>返回处理后的员工实体对象</returns>
 public Employee Add(Employee employee, ICTransaction tran)
 {
     IList<Employee> employeeList = new List<Employee>();
     employeeList.Add(employee);
     employeeList = this.Add(employeeList, tran);
     return employeeList == null ? null : employeeList[0];
 }
コード例 #11
0
        /// <summary>
        /// 删除员工
        /// </summary>
        /// <param name="employeeId">员工ID</param>
        /// <param name="tran">中间事务对象</param>
        public void Delete(string employeeId, ICTransaction tran)
        {
            EmployeeSearcher querySearcher = new EmployeeSearcher();

            querySearcher.EmployeeId.Equal(employeeId);
            this.Delete(querySearcher, tran);
        }
コード例 #12
0
ファイル: EmployeeDal.cs プロジェクト: pmsun-bruce/DBTool
        /// <summary>
        /// 查询员工数量
        /// </summary>
        /// <param name="employeeSearcher">员工查询对象</param>
        /// <param name="tran">中间事务对象</param>
        /// <returns>返回查询到的数量</returns>
        public long Count(EmployeeSearcher employeeSearcher, ICTransaction tran)
        {
            object           count         = 0;
            long             result        = 0;
            EmployeeSearcher querySearcher = null;
            MssqlQueryParser queryParser   = new MssqlQueryParser();
            StringBuilder    query         = new StringBuilder();

            query.AppendLine(@"SELECT ");
            query.AppendLine(@"   COUNT(E.EmployeeId) ");
            query.AppendLine(@"FROM ");
            query.AppendLine(@"   Employee E ");

            if (employeeSearcher != null)
            {
                querySearcher           = (EmployeeSearcher)employeeSearcher.Clone();
                querySearcher.TableName = "E";

                if (querySearcher.CurrCompany != null)
                {
                    querySearcher.CurrCompany.TableName = "C";
                    query.AppendLine(@"LEFT JOIN ");
                    query.AppendLine(@"   [Company] C ON(C.CompanyId = E.CompanyId) ");
                }

                if (querySearcher.CurrDepartment != null)
                {
                    querySearcher.CurrDepartment.TableName = "D";
                    query.AppendLine(@"LEFT JOIN ");
                    query.AppendLine(@"   [Department] D ON(D.DepartmentId = E.DepartmentId) ");
                }

                if (querySearcher.CurrPosition != null)
                {
                    querySearcher.CurrPosition.TableName = "P";
                    query.AppendLine(@"LEFT JOIN ");
                    query.AppendLine(@"   [Position] P ON(P.PositionId = E.PositionId) ");
                }
            }

            queryParser.SearcherParse(querySearcher);

            if (!string.IsNullOrEmpty(queryParser.ConditionString))
            {
                query.AppendLine(@"WHERE ");
                query.AppendLine(@"   " + queryParser.ConditionString);
            }

            if (tran != null)
            {
                DbTransaction dbTran = ((MssqlTransaction)tran).CurrentTransaction;
                count = MssqlHelper.ExecuteScalar(dbTran, CommandType.Text, query.ToString(), queryParser.ParamCollection);
            }
            else
            {
                count = MssqlHelper.ExecuteScalar(this.CurrentConnectionString, CommandType.Text, query.ToString(), queryParser.ParamCollection);
            }

            return(long.TryParse(count.ToString(), out result) ? result : 0);
        }
コード例 #13
0
        /// <summary>
        /// 根据指定条件删除部门
        /// </summary>
        /// <param name="departmentSearcher">部门查询对象</param>
        /// <param name="tran">中间事务对象</param>
        public void Delete(DepartmentSearcher departmentSearcher, ICTransaction tran)
        {
            int effectCount = 0;
            DepartmentSearcher querySearcher = null;
            MssqlQueryParser   queryParser   = new MssqlQueryParser();
            StringBuilder      query         = new StringBuilder();

            query.AppendLine(@"DELETE FROM ");
            query.AppendLine(@"   Department ");
            query.AppendLine(@"WHERE ");
            query.AppendLine(@"   DepartmentId IN (");
            query.AppendLine(@"      SELECT ");
            query.AppendLine(@"         D.DepartmentId ");
            query.AppendLine(@"      FROM ");
            query.AppendLine(@"         Department D ");

            if (departmentSearcher != null)
            {
                querySearcher           = (DepartmentSearcher)departmentSearcher.Clone();
                querySearcher.TableName = "D";

                if (querySearcher.CurrCompany != null)
                {
                    querySearcher.CurrCompany.TableName = "C";
                    query.AppendLine(@"LEFT JOIN ");
                    query.AppendLine(@"   Company C ON(C.CompanyId = D.CompanyId) ");
                }
            }

            queryParser.SearcherParse(querySearcher);

            if (!string.IsNullOrEmpty(queryParser.ConditionString))
            {
                query.AppendLine(@"WHERE ");
                query.AppendLine(@"   " + queryParser.ConditionString);
            }

            query.AppendLine(@"); ");

            try
            {
                if (tran != null)
                {
                    DbTransaction dbTran = ((MssqlTransaction)tran).CurrentTransaction;
                    effectCount = MssqlHelper.ExecuteNonQuery(dbTran, CommandType.Text, query.ToString(), queryParser.ParamCollection);
                }
                else
                {
                    effectCount = MssqlHelper.ExecuteNonQuery(this.CurrentConnectionString, CommandType.Text, query.ToString(), queryParser.ParamCollection);
                }
            }
            catch (SqlException sex)
            {
                if (sex.ErrorCode == (int)ResultCode.FKError)
                {
                    throw new ResponseException((int)ResultCode.FKError, "DELETE Department");
                }
            }
        }
コード例 #14
0
        /// <summary>
        /// 根据指定条件删除职位
        /// </summary>
        /// <param name="positionSearcher">职位查询对象</param>
        /// <param name="tran">中间事务对象</param>
        public void Delete(PositionSearcher positionSearcher, ICTransaction tran)
        {
            PositionSearcher     querySearcher = null;
            HibernateTransaction hTran         = null;
            ISession             session       = null;
            HQLQueryParser       queryParser   = new HQLQueryParser();
            StringBuilder        query         = new StringBuilder();

            query.Append("DELETE FROM ");
            query.Append("  Position  ");
            query.Append("WHERE ");
            query.Append("  PositionId IN (");
            query.Append("    SELECT ");
            query.Append("      P.PositionId ");
            query.Append("    FROM ");
            query.Append("      Position P ");

            if (positionSearcher != null)
            {
                querySearcher           = (PositionSearcher)positionSearcher.Clone();
                querySearcher.TableName = "P";

                if (querySearcher.CurrCompany != null)
                {
                    querySearcher.CurrCompany.TableName = "C";
                    query.Append("LEFT JOIN ");
                    query.Append("  P.CurrCompany C ");
                }

                if (querySearcher.CurrDepartment != null)
                {
                    querySearcher.CurrDepartment.TableName = "D";
                    query.Append("LEFT JOIN ");
                    query.Append("  P.CurrDepartment D ");
                }
            }

            queryParser.SearcherParse(querySearcher);

            if (!string.IsNullOrEmpty(queryParser.ConditionString))
            {
                query.Append("WHERE ");
                query.Append("  " + queryParser.ConditionString);
            }

            query.Append(")");

            if (tran != null)
            {
                hTran   = (HibernateTransaction)tran;
                session = hTran.CurrentSession;
            }
            else
            {
                session = this.CurrentHibernateConfig.GetCurrentSession();
            }

            int effectCount = HibernateHelper.DeleteObjectByHQL(session, query.ToString(), queryParser.ParamCollection);
        }
コード例 #15
0
        /// <summary>
        /// 新建员工
        /// </summary>
        /// <param name="employee">员工实体对象</param>
        /// <param name="tran">中间事务对象</param>
        /// <returns>返回处理后的员工实体对象</returns>
        public Employee Add(Employee employee, ICTransaction tran)
        {
            IList <Employee> employeeList = new List <Employee>();

            employeeList.Add(employee);
            employeeList = this.Add(employeeList, tran);
            return(employeeList == null ? null : employeeList[0]);
        }
コード例 #16
0
        /// <summary>
        /// 新建公司
        /// </summary>
        /// <param name="company">公司实体对象</param>
        /// <param name="tran">中间事务对象</param>
        /// <returns>返回处理后的公司实体对象</returns>
        public Company Add(Company company, ICTransaction tran)
        {
            IList <Company> companyList = new List <Company>();

            companyList.Add(company);
            companyList = this.Add(companyList, tran);
            return(companyList == null ? null : companyList[0]);
        }
コード例 #17
0
ファイル: DepartmentDal.cs プロジェクト: pmsun-bruce/DBTool
        /// <summary>
        /// 新建部门
        /// </summary>
        /// <param name="department">部门实体对象</param>
        /// <param name="tran">事务对象</param>
        /// <returns>返回处理后的部门实体对象</returns>
        public Department Add(Department department, ICTransaction tran)
        {
            IList <Department> departmentList = new List <Department>();

            departmentList.Add(department);
            departmentList = this.Add(departmentList, tran);
            return(departmentList == null ? null : departmentList[0]);
        }
コード例 #18
0
        /// <summary>
        /// 新建职位
        /// </summary>
        /// <param name="position">职位实体对象</param>
        /// <param name="tran">事务对象</param>
        /// <returns>返回处理后的职位实体对象</returns>
        public Position Add(Position position, ICTransaction tran)
        {
            IList <Position> positionList = new List <Position>();

            positionList.Add(position);
            positionList = this.Add(positionList, tran);
            return(positionList == null ? null : positionList[0]);
        }
コード例 #19
0
        /// <summary>
        /// 查找指定ID的公司
        /// </summary>
        /// <param name="companyId">公司ID</param>
        /// <param name="tran">中间事务对象</param>
        /// <returns>返回公司实体对象</returns>
        public Company FindSingle(string companyId, ICTransaction tran)
        {
            CompanySearcher companySearcher = new CompanySearcher();

            companySearcher.CompanyId.Equal(companyId);
            IList <Company> companyList = this.FindList(companySearcher);

            return((companyList == null || companyList.Count == 0) ? null : companyList[0]);
        }
コード例 #20
0
        /// <summary>
        /// 查找指定ID的部门
        /// </summary>
        /// <param name="departmentId">部门ID</param>
        /// <param name="tran">中间事务对象</param>
        /// <returns>返回部门实体对象</returns>
        public Department FindSingle(string departmentId, ICTransaction tran)
        {
            DepartmentSearcher departmentSearcher = new DepartmentSearcher();

            departmentSearcher.DepartmentId.Equal(departmentId);
            IList <Department> departmentList = this.FindList(departmentSearcher);

            return((departmentList == null || departmentList.Count == 0) ? null : departmentList[0]);
        }
コード例 #21
0
        /// <summary>
        /// 查找指定ID的员工
        /// </summary>
        /// <param name="employeeId">员工ID</param>
        /// <param name="tran">中间事务对象</param>
        /// <returns>返回员工实体对象</returns>
        public Employee FindSingle(string employeeId, ICTransaction tran)
        {
            EmployeeSearcher employeeSearcher = new EmployeeSearcher();

            employeeSearcher.EmployeeId.Equal(employeeId);
            IList <Employee> employeeList = this.FindList(employeeSearcher);

            return((employeeList == null || employeeList.Count == 0) ? null : employeeList[0]);
        }
コード例 #22
0
ファイル: PositionDal.cs プロジェクト: pmsun-bruce/DBTool
        /// <summary>
        /// 查找指定ID的职位
        /// </summary>
        /// <param name="positionId">职位ID</param>
        /// <param name="tran">中间事务对象</param>
        /// <returns>返回职位实体对象</returns>
        public Position FindSingle(string positionId, ICTransaction tran)
        {
            PositionSearcher positionSearcher = new PositionSearcher();

            positionSearcher.PositionId.Equal(positionId);
            IList <Position> positionList = this.FindList(positionSearcher);

            return((positionList == null || positionList.Count == 0) ? null : positionList[0]);
        }
コード例 #23
0
ファイル: PositionDal.cs プロジェクト: pmsun-bruce/DBTool
        /// <summary>
        /// 查询职位数量
        /// </summary>
        /// <param name="positionSearcher">职位查询对象</param>
        /// <param name="tran">中间事务对象</param>
        /// <returns>返回查询到的数量</returns>
        public long Count(PositionSearcher positionSearcher, ICTransaction tran)
        {
            object           count         = 0;
            long             result        = 0;
            PositionSearcher querySearcher = null;
            MysqlQueryParser queryParser   = new MysqlQueryParser();
            StringBuilder    query         = new StringBuilder();

            query.AppendLine(@"SELECT ");
            query.AppendLine(@"   COUNT(P.PositionId) ");
            query.AppendLine(@"FROM ");
            query.AppendLine(@"   Position P ");

            if (positionSearcher != null)
            {
                querySearcher           = (PositionSearcher)positionSearcher.Clone();
                querySearcher.TableName = "P";

                if (querySearcher.CurrCompany != null)
                {
                    querySearcher.CurrCompany.TableName = "C";
                    query.AppendLine(@"LEFT JOIN ");
                    query.AppendLine(@"   `Company` C ON(C.CompanyId = P.CompanyId) ");
                }

                if (querySearcher.CurrDepartment != null)
                {
                    querySearcher.CurrDepartment.TableName = "D";
                    query.AppendLine(@"LEFT JOIN ");
                    query.AppendLine(@"   `Department` D ON(D.DepartmentId = P.DepartmentId) ");
                }
            }

            queryParser.SearcherParse(querySearcher);

            if (!string.IsNullOrEmpty(queryParser.ConditionString))
            {
                query.AppendLine(@"WHERE ");
                query.AppendLine(@"   " + queryParser.ConditionString);
            }

            if (tran != null)
            {
                count = MySqlHelper.ExecuteScalar((MySqlConnection)tran.Connection, query.ToString(), queryParser.ParamCollection.ToArray());
            }
            else
            {
                count = MySqlHelper.ExecuteScalar(this.CurrentConnectionString, query.ToString(), queryParser.ParamCollection.ToArray());
            }

            return(long.TryParse(count.ToString(), out result) ? result : 0);
        }
コード例 #24
0
        public void CreateTable(TableInfo tableInfo)
        {
            ICTransaction tran = this.BeginTransaction();

            try
            {
                CreateTable(tableInfo, tran);
                tran.Commit();
            }
            catch (Exception ex)
            {
                tran.Rollback();
                throw new Exception(ex.Message, ex);
            }
        }
コード例 #25
0
        public void DropColumn(TableInfo tableInfo, ColumnInfo columnInfo)
        {
            ICTransaction tran = this.BeginTransaction();

            try
            {
                DropColumn(tableInfo, columnInfo, tran);
                tran.Commit();
            }
            catch (Exception ex)
            {
                tran.Rollback();
                throw new Exception(ex.Message, ex);
            }
        }
コード例 #26
0
ファイル: DepartmentDal.cs プロジェクト: pmsun-bruce/DBTool
        /// <summary>
        /// 查询部门数量
        /// </summary>
        /// <param name="departmentSearcher">部门查询对象</param>
        /// <param name="tran">事务对象</param>
        /// <returns>返回查询到的数量</returns>
        public long Count(DepartmentSearcher departmentSearcher, ICTransaction tran)
        {
            DepartmentSearcher   querySearcher = null;
            HibernateTransaction hTran         = null;
            ISession             session       = null;
            HQLQueryParser       queryParser   = new HQLQueryParser();
            StringBuilder        query         = new StringBuilder();

            query.Append("SELECT ");
            query.Append("  COUNT(*) ");
            query.Append("FROM ");
            query.Append("  Department D ");

            if (departmentSearcher != null)
            {
                querySearcher           = (DepartmentSearcher)departmentSearcher.Clone();
                querySearcher.TableName = "D";

                if (querySearcher.CurrCompany != null)
                {
                    querySearcher.CurrCompany.TableName = "C";
                    query.Append("LEFT JOIN ");
                    query.Append("  D.CurrCompany C ");
                }
            }

            queryParser.SearcherParse(querySearcher);

            if (!string.IsNullOrEmpty(queryParser.ConditionString))
            {
                query.Append("WHERE ");
                query.Append("  " + queryParser.ConditionString);
            }

            if (tran != null)
            {
                hTran   = (HibernateTransaction)tran;
                session = hTran.CurrentSession;
            }
            else
            {
                session = this.CurrentHibernateConfig.GetCurrentSession();
            }

            long count = HibernateHelper.FindUniqueObjectByHQL <long>(session, query.ToString(), queryParser.ParamCollection);

            return(count);
        }
コード例 #27
0
        public void AddColumn(TableInfo tableInfo, ColumnInfo columnInfo, ICTransaction tran)
        {
            StringBuilder colQuery = new StringBuilder();

            colQuery.AppendLine(AddColumnSql(tableInfo, columnInfo));
            colQuery.AppendLine(AddColumnConstraintSql(tableInfo, columnInfo, tran));

            if (tran == null)
            {
                MySqlHelper.ExecuteNonQuery(this.CurrentConnectionString, colQuery.ToString());
            }
            else
            {
                MySqlHelper.ExecuteNonQuery((MySqlConnection)tran.Connection, colQuery.ToString());
            }
        }
コード例 #28
0
        private bool CheckExistConstraint(TableInfo tableInfo, string indexName, ICTransaction tran)
        {
            string existQuery = string.Format(@"SELECT COUNT(*) FROM information_schema.statistics WHERE table_schema = '{0}' and table_name = '{1}' and index_name = '{2}'; ", this.CurrentSchema, tableInfo.TableName, indexName);
            object count      = 0;

            if (tran == null)
            {
                count = MySqlHelper.ExecuteScalar(this.CurrentConnectionString, existQuery);
            }
            else
            {
                count = MySqlHelper.ExecuteScalar((MySqlConnection)tran.Connection, existQuery);
            }

            return(Convert.ToInt32(count) > 0 ? true : false);
        }
コード例 #29
0
 /// <summary>
 /// 更新员工数据
 /// </summary>
 /// <param name="employeeList">员工实体对象</param>
 /// <param name="tran">中间事务对象</param>
 public void Update(IList <Employee> employeeList, ICTransaction tran)
 {
     try
     {
         if (employeeList != null)
         {
             foreach (Employee employee in employeeList)
             {
                 this.Update(employee, tran);
             }
         }
     }
     catch (Exception ex)
     {
         throw new Exception(ex.Message, ex);
     }
 }
コード例 #30
0
        /// <summary>
        /// 查找指定ID的员工
        /// </summary>
        /// <param name="employeeId">员工ID</param>
        /// <param name="tran">中间事务对象</param>
        /// <returns>返回员工实体对象</returns>
        public Employee FindSingle(string employeeId, ICTransaction tran)
        {
            HibernateTransaction hTran   = null;
            ISession             session = null;

            if (tran != null)
            {
                hTran   = (HibernateTransaction)tran;
                session = hTran.CurrentSession;
            }
            else
            {
                session = this.CurrentHibernateConfig.GetCurrentSession();
            }

            return(HibernateHelper.FindObjectById <Employee>(session, employeeId));
        }
コード例 #31
0
        public bool IsExistColumn(string tableName, string columnName, ICTransaction tran)
        {
            StringBuilder query = new StringBuilder();

            query.AppendLine(@"SELECT ");
            query.AppendLine(@"  COUNT(*) ");
            query.AppendLine(@"FROM ");
            query.AppendLine(@"  `information_schema`.`columns` ");
            query.AppendLine(@"WHERE ");
            query.AppendLine(@"  table_schema = @TableSchema ");
            query.AppendLine(@"AND ");
            query.AppendLine(@"  table_name = @TableName ");
            query.AppendLine(@"AND ");
            query.AppendLine(@"  column_name = @ColumnName ");

            MySqlParameter[] paramCollection = new MySqlParameter[3];
            paramCollection[0] = new MySqlParameter("TableSchema", MySqlDbType.String);
            paramCollection[1] = new MySqlParameter("TableName", MySqlDbType.String);
            paramCollection[2] = new MySqlParameter("ColumnName", MySqlDbType.String);

            paramCollection[0].Value = this.CurrentSchema;
            paramCollection[1].Value = tableName;
            paramCollection[2].Value = columnName;

            object          result = null;
            MySqlConnection dbConn = null;

            if (tran == null)
            {
                dbConn = (MySqlConnection)this.OpenNewDbConnection();
                result = MySqlHelper.ExecuteScalar(dbConn, query.ToString(), paramCollection);
                this.CloseDbConnection(dbConn);
            }
            else
            {
                dbConn = (MySqlConnection)tran.Connection;
                result = MySqlHelper.ExecuteScalar(dbConn, query.ToString(), paramCollection);
            }

            if (result is DBNull || Convert.ToInt32(result) == 0)
            {
                return(false);
            }

            return(true);
        }
コード例 #32
0
        public void DropTable(string tableName, ICTransaction tran)
        {
            if (IsExistTable(tableName))
            {
                StringBuilder dropQuery = new StringBuilder();
                dropQuery.AppendLine(string.Format(@"DROP TABLE {0}; ", tableName));

                if (tran == null)
                {
                    MySqlHelper.ExecuteNonQuery(this.CurrentConnectionString, dropQuery.ToString());
                }
                else
                {
                    MySqlHelper.ExecuteNonQuery((MySqlConnection)tran.Connection, dropQuery.ToString());
                }
            }
        }
コード例 #33
0
 /// <summary>
 /// 更新公司数据
 /// </summary>
 /// <param name="companyList">公司实体对象</param>
 /// <param name="tran">中间事务对象</param>
 public void Update(IList <Company> companyList, ICTransaction tran)
 {
     try
     {
         if (companyList != null)
         {
             foreach (Company company in companyList)
             {
                 this.Update(company, tran);
             }
         }
     }
     catch (Exception ex)
     {
         throw new Exception(ex.Message, ex);
     }
 }
コード例 #34
0
ファイル: PositionDal.cs プロジェクト: pmsun-bruce/DBTool
        /// <summary>
        /// 更新职位数据
        /// </summary>
        /// <param name="position">职位实体对象</param>
        /// <param name="tran">中间事务对象</param>
        public void Update(Position position, ICTransaction tran)
        {
            Position oldPosition = this.FindSingle(position.PositionId, tran);
            int updateColCount = 0;

            if (position == null)
            {
                throw new ArgumentException("position");
            }

            if (oldPosition == null)
            {
                throw new ResponseException((int)ResultCode.NoDataExists, position.PositionCode);
            }

            if (position.RVersion != oldPosition.RVersion)
            {
                throw new ResponseException((int)ResultCode.VersionChanged, oldPosition.RVersion.ToString());
            }

            StringBuilder query = new StringBuilder();
            query.AppendLine(@"UPDATE ");
            query.AppendLine(@"   `Position` ");
            query.AppendLine(@"SET ");
            query.AppendLine(@"   `PositionId` = @PositionId ");

            if ((!string.IsNullOrEmpty(position.PositionCode) && !position.PositionCode.Equals(oldPosition.PositionCode))
                || (!string.IsNullOrEmpty(oldPosition.PositionCode) && !oldPosition.PositionCode.Equals(position.PositionCode)))
            {
                updateColCount++;
                query.AppendLine(@"  ,`PositionCode` = @PositionCode ");
            }

            if ((!string.IsNullOrEmpty(position.CompanyId) && !position.CompanyId.Equals(oldPosition.CompanyId))
                || (!string.IsNullOrEmpty(oldPosition.CompanyId) && !oldPosition.CompanyId.Equals(position.CompanyId)))
            {
                updateColCount++;
                query.AppendLine(@"  ,`CompanyId` = @CompanyId ");
            }

            if ((!string.IsNullOrEmpty(position.DepartmentId) && !position.DepartmentId.Equals(oldPosition.DepartmentId))
                || (!string.IsNullOrEmpty(oldPosition.DepartmentId) && !oldPosition.DepartmentId.Equals(position.DepartmentId)))
            {
                updateColCount++;
                query.AppendLine(@"  ,`DepartmentId` = @DepartmentId ");
            }

            if ((!string.IsNullOrEmpty(position.Name) && !position.Name.Equals(oldPosition.Name))
                || (!string.IsNullOrEmpty(oldPosition.Name) && !oldPosition.Name.Equals(position.Name)))
            {
                updateColCount++;
                query.AppendLine(@"  ,`Name` = @Name ");
            }

            if (position.Status != oldPosition.Status)
            {
                updateColCount++;
                query.AppendLine(@"  ,`Status` = @Status ");
            }

            if ((!string.IsNullOrEmpty(position.PositionCode) && !position.PositionCode.Equals(oldPosition.PositionCode))
                || (!string.IsNullOrEmpty(oldPosition.PositionCode) && !oldPosition.PositionCode.Equals(position.PositionCode)))
            {
                updateColCount++;
                query.AppendLine(@"  ,`CreaterId` = @CreaterId ");
            }

            if (oldPosition.CreateTime.CompareTo(position.CreateTime) != 0 && position.CreateTime != DateTime.MinValue)
            {
                updateColCount++;
                query.AppendLine(@"  ,`CreateTime` = @CreateTime ");
            }

            if ((!string.IsNullOrEmpty(position.PositionCode) && !position.PositionCode.Equals(oldPosition.PositionCode))
                || (!string.IsNullOrEmpty(oldPosition.PositionCode) && !oldPosition.PositionCode.Equals(position.PositionCode)))
            {
                updateColCount++;
                query.AppendLine(@"  ,`UpdatorId` = @UpdatorId ");
            }

            if (oldPosition.UpdateTime.CompareTo(position.UpdateTime) != 0 && position.UpdateTime != DateTime.MinValue)
            {
                updateColCount++;
                query.AppendLine(@"  ,`UpdateTime` = @UpdateTime ");
            }

            query.AppendLine(@"  ,`RVersion` = @RVersion ");
            query.AppendLine(@"WHERE ");
            query.AppendLine(@"   `PositionId` = @PositionId ");

            if (updateColCount == 0)
            {
                return;
            }

            position.UpdateTime = DateTime.Now;
            MySqlParameter[] paramCollection = new MySqlParameter[9];
            paramCollection[0] = new MySqlParameter("@PositionId", MySqlDbType.String, 40);
            paramCollection[1] = new MySqlParameter("@PositionCode", MySqlDbType.String, 13);
            paramCollection[2] = new MySqlParameter("@CompanyId", MySqlDbType.String, 40);
            paramCollection[3] = new MySqlParameter("@DepartmentId", MySqlDbType.String, 40);
            paramCollection[4] = new MySqlParameter("@Name", MySqlDbType.String, 100);
            paramCollection[5] = new MySqlParameter("@RVersion", MySqlDbType.Int32);
            paramCollection[6] = new MySqlParameter("@Status", MySqlDbType.Int32);
            paramCollection[7] = new MySqlParameter("@UpdatorId", MySqlDbType.String, 40);
            paramCollection[8] = new MySqlParameter("@UpdateTime", MySqlDbType.DateTime);

            paramCollection[0].Value = position.PositionId;
            paramCollection[1].Value = position.PositionCode;
            paramCollection[2].Value = position.CompanyId;
            paramCollection[3].Value = position.DepartmentId;
            paramCollection[4].Value = position.Name;
            paramCollection[5].Value = position.RVersion;
            paramCollection[6].Value = position.Status;
            paramCollection[7].Value = position.UpdatorId;
            paramCollection[8].Value = position.UpdateTime;

            try
            {
                int effectCount = 0;

                if (position != null)
                {
                    if (tran != null)
                    {
                        effectCount = MySqlHelper.ExecuteNonQuery((MySqlConnection)tran.Connection, query.ToString(), paramCollection);
                    }
                    else
                    {
                        effectCount = MySqlHelper.ExecuteNonQuery(this.CurrentConnectionString, query.ToString(), paramCollection);
                    }
                }

                // 抛出一个异常
                if (effectCount == 0)
                {
                    throw new ResponseException((int)ResultCode.NoDataUpdate, position.PositionCode);
                }
            }
            catch(Exception ex)
            {
                throw new Exception(ex.Message, ex);
            }
        }
コード例 #35
0
ファイル: PositionDal.cs プロジェクト: pmsun-bruce/DBTool
        /// <summary>
        /// 根据指定条件查找职位分页集合
        /// </summary>
        /// <param name="positionSearcher">职位查询对象</param>
        /// <param name="pager">分页对象</param>
        /// <param name="tran">中间事务对象</param>
        /// <returns>返回查找到的分页集合,包括按条件可查询到的所有记录数和当前分页的DataTable数据</returns>
        public PageDataTable FindDataTable(PositionSearcher positionSearcher, Pager pager, ICTransaction tran)
        {
            PageDataTable pDataTable = null;
            PageList<Position> positionList = this.FindList(positionSearcher, pager, tran);

            if (positionList != null)
            {
                pDataTable.PageIndex = positionList.PageIndex;
                pDataTable.TotalCount = positionList.TotalCount;
                pDataTable.RecordList = new DataTable("Position");
                pDataTable.RecordList.Columns.AddRange(new DataColumn[] {
                    new DataColumn("PositionCode", typeof(String)),
                    new DataColumn("PositionId", typeof(String)),
                    new DataColumn("CompanyId", typeof(String)),
                    new DataColumn("DepartmentId", typeof(String)),
                    new DataColumn("CreaterId", typeof(String)),
                    new DataColumn("CreateTime", typeof(DateTime)),
                    new DataColumn("Name", typeof(String)),
                    new DataColumn("RVersion", typeof(Int32)),
                    new DataColumn("Status", typeof(Int32)),
                    new DataColumn("UpdateTime", typeof(DateTime)),
                    new DataColumn("UpdatorId", typeof(String))
                });

                foreach (Position position in positionList.RecordList)
                {
                    pDataTable.RecordList.Rows.Add(
                        position.PositionCode,
                        position.PositionId,
                        position.CurrCompany.CompanyId,
                        position.CurrDepartment.DepartmentId,
                        position.CreaterId,
                        position.CreateTime,
                        position.Name,
                        position.RVersion,
                        position.Status,
                        position.UpdateTime,
                        position.UpdatorId
                    );
                }
            }

            return pDataTable;
        }
コード例 #36
0
ファイル: DepartmentDal.cs プロジェクト: pmsun-bruce/DBTool
 /// <summary>
 /// 根据指定条件查找部门集合
 /// </summary>
 /// <param name="departmentSearcher">部门查询对象</param>
 /// <param name="tran">中间事务对象</param>
 /// <returns>返回一个DataTable对象</returns>
 public DataTable FindDataTable(DepartmentSearcher departmentSearcher, ICTransaction tran)
 {
     PageDataTable pageDataTable = this.FindDataTable(departmentSearcher, null, tran);
     return pageDataTable == null ? null : pageDataTable.RecordList;
 }
コード例 #37
0
ファイル: DepartmentDal.cs プロジェクト: pmsun-bruce/DBTool
 /// <summary>
 /// 删除部门
 /// </summary>
 /// <param name="departmentId">部门ID</param>
 /// <param name="tran">中间事务对象</param>
 public void Delete(string departmentId, ICTransaction tran)
 {
     DepartmentSearcher querySearcher = new DepartmentSearcher();
     querySearcher.DepartmentId.Equal(departmentId);
     this.Delete(querySearcher, tran);
 }
コード例 #38
0
ファイル: DepartmentDal.cs プロジェクト: pmsun-bruce/DBTool
        /// <summary>
        /// 批量新建部门
        /// </summary>
        /// <param name="departmentList">部门实体对象集合</param>
        /// <param name="tran">中间事务对象</param>
        /// <returns>返回处理后的部门实体对象集合</returns>
        public IList<Department> Add(IList<Department> departmentList, ICTransaction tran)
        {
            IList<Department> newDepartmentList = new List<Department>();
            Department newDepartment = null;
            bool allSucc = true;

            try
            {
                if (departmentList != null)
                {
                    foreach (Department department in departmentList)
                    {
                        if (allSucc)
                        {
                            newDepartment = this.Add(department, tran);

                            if (string.IsNullOrEmpty(newDepartment.DepartmentId))
                            {
                                allSucc = false;

                                foreach (Department nDepartment in newDepartmentList)
                                {
                                    nDepartment.DepartmentId = string.Empty;
                                }
                            }
                        }

                        newDepartmentList.Add(newDepartment);
                    }
                }
            }
            catch(Exception ex)
            {
                throw new Exception(ex.Message, ex);
            }

            return newDepartmentList;
        }
コード例 #39
0
ファイル: PositionDal.cs プロジェクト: pmsun-bruce/DBTool
        /// <summary>
        /// 根据指定条件查找职位分页集合
        /// </summary>
        /// <param name="positionSearcher">职位查询对象</param>
        /// <param name="pager">分页对象</param>
        /// <param name="tran">中间事务对象</param>
        /// <returns>返回查找到的分页集合,包括按条件可查询到的所有记录数和当前分页的DataTable数据</returns>
        public PageDataTable FindDataTable(PositionSearcher positionSearcher, Pager pager, ICTransaction tran)
        {
            PositionSearcher querySearcher = null;
            MysqlQueryParser queryParser = new MysqlQueryParser();
            PageDataTable pDataTable = new PageDataTable();
            DataSet resultSet = null;
            StringBuilder query = new StringBuilder();
            StringBuilder joinQuery = new StringBuilder();
            StringBuilder conditionQuery = new StringBuilder();
            StringBuilder sortQuery = new StringBuilder();

            if (positionSearcher != null)
            {
                querySearcher = (PositionSearcher)positionSearcher.Clone();
                querySearcher.TableName = "P";

                if (querySearcher.CurrCompany != null)
                {
                    querySearcher.CurrCompany.TableName = "C";
                    joinQuery.AppendLine(@"LEFT JOIN ");
                    joinQuery.AppendLine(@"   `Company] C ON(C.CompanyId = P.CompanyId) ");
                }

                if (querySearcher.CurrDepartment != null)
                {
                    querySearcher.CurrDepartment.TableName = "D";
                    joinQuery.AppendLine(@"LEFT JOIN ");
                    joinQuery.AppendLine(@"   `Department] D ON(D.DepartmentId = P.DepartmentId) ");
                }
            }

            queryParser.SearcherParse(querySearcher);

            if (!string.IsNullOrEmpty(queryParser.ConditionString))
            {
                conditionQuery.AppendLine(@"WHERE ");
                conditionQuery.AppendLine(@"   " + queryParser.ConditionString);
            }

            if (!string.IsNullOrEmpty(queryParser.SortString))
            {
                sortQuery.AppendLine(@"ORDER BY ");
                sortQuery.AppendLine(@"   " + queryParser.SortString);
            }

            query.AppendLine(@"SELECT ");
            query.AppendLine(@"   P.`PositionId`");
            query.AppendLine(@"  ,P.`PositionCode`");
            query.AppendLine(@"  ,P.`CompanyId`");
            query.AppendLine(@"  ,P.`DepartmentId`");
            query.AppendLine(@"  ,P.`Name`");
            query.AppendLine(@"  ,P.`RVersion`");
            query.AppendLine(@"  ,P.`Status`");
            query.AppendLine(@"  ,P.`CreaterId`");
            query.AppendLine(@"  ,P.`CreateTime`");
            query.AppendLine(@"  ,P.`UpdatorId`");
            query.AppendLine(@"  ,P.`UpdateTime`");
            query.AppendLine(@"FROM ");
            query.AppendLine(@"   `Position] P ");
            query.AppendLine(joinQuery.ToString());
            query.AppendLine(conditionQuery.ToString());
            query.AppendLine(sortQuery.ToString());

            if (pager != null && pager.PageSize != 0 && pager.StartRecord >= 0)
            {
                query.AppendLine(@" LIMIT " + pager.StartRecord.ToString() + "," + pager.PageSize + " ");
            }

            query.AppendLine(@"; ");

            if (tran != null)
            {
                resultSet = MySqlHelper.ExecuteDataset((MySqlConnection)tran.Connection, query.ToString(), queryParser.ParamCollection.ToArray());
            }
            else
            {
                resultSet = MySqlHelper.ExecuteDataset(this.CurrentConnectionString, query.ToString(), queryParser.ParamCollection.ToArray());
            }

            if (resultSet != null)
            {
                if (pager != null)
                {
                    pDataTable.PageIndex = pager.CurrentPage;
                }

                pDataTable.TotalCount = this.Count(positionSearcher);
                pDataTable.RecordList = resultSet.Tables[0];
            }

            return pDataTable;
        }
コード例 #40
0
ファイル: PositionDal.cs プロジェクト: pmsun-bruce/DBTool
        /// <summary>
        /// 批量新建职位
        /// </summary>
        /// <param name="positionList">职位实体对象集合</param>
        /// <param name="tran">事务对象</param>
        /// <returns>返回处理后的职位实体对象集合</returns>
        public IList<Position> Add(IList<Position> positionList, ICTransaction tran)
        {
            IList<Position> newPositionList = new List<Position>();
            HibernateTransaction hTran = null;
            ISession session = null;
            ITransaction ihTran = null;

            if (tran != null)
            {
                hTran = (HibernateTransaction)tran;
                session = hTran.CurrentSession;
            }
            else
            {
                session = this.CurrentHibernateConfig.GetCurrentSession();
                ihTran = session.BeginTransaction();
            }

            try
            {
                bool isPass = true;

                if (positionList != null)
                {
                    Position newPosition = null;

                    foreach (Position position in positionList)
                    {
                        newPosition = HibernateHelper.AddObject<Position>(session, position);
                        newPositionList.Add(newPosition);

                        if (string.IsNullOrEmpty(newPosition.PositionId) && isPass)
                        {
                            isPass = false;
                        }
                    }
                }

                if (ihTran != null)
                {
                    if (isPass)
                    {
                        ihTran.Commit();
                    }
                    else
                    {
                        ihTran.Rollback();
                    }

                    HibernateHelper.FlushSession(session);
                }
            }
            catch(Exception ex)
            {
                if (ihTran != null)
                {
                    ihTran.Rollback();
                    HibernateHelper.FlushSession(session);
                }

                throw new Exception(ex.Message, ex);
            }

            return newPositionList;
        }
コード例 #41
0
ファイル: PositionDal.cs プロジェクト: pmsun-bruce/DBTool
        /// <summary>
        /// 查找指定条件的职位分页集合
        /// </summary>
        /// <param name="positionSearcher">职位查询对象</param>
        /// <param name="pager">分页对象</param>
        /// <param name="tran">中间事务对象</param>
        /// <returns>返回查找到的分页集合,包括按条件可查询到的所有记录数和当前分页的对象集合</returns>
        public PageList<Position> FindList(PositionSearcher positionSearcher, Pager pager, ICTransaction tran)
        {
            PositionSearcher querySearcher = null;
            HibernateTransaction hTran = null;
            ISession session = null;
            PageList<Position> pList = new PageList<Position>();
            HQLQueryParser queryParser = new HQLQueryParser();
            StringBuilder query = new StringBuilder();

            query.Append("SELECT ");
            query.Append(" P ");
            query.Append("FROM ");
            query.Append("  Position P ");

            if (positionSearcher != null)
            {
                querySearcher = (PositionSearcher)positionSearcher.Clone();
                querySearcher.TableName = "P";

                if (querySearcher.CurrCompany != null)
                {
                    querySearcher.CurrCompany.TableName = "C";
                    query.Append("LEFT JOIN ");
                    query.Append("  P.CurrCompany C ");
                }

                if (querySearcher.CurrDepartment != null)
                {
                    querySearcher.CurrDepartment.TableName = "D";
                    query.Append("LEFT JOIN ");
                    query.Append("  P.CurrDepartment D ");
                }
            }

            queryParser.SearcherParse(querySearcher);

            if (!string.IsNullOrEmpty(queryParser.ConditionString))
            {
                query.Append("WHERE ");
                query.Append("  " + queryParser.ConditionString);
            }

            if (!string.IsNullOrEmpty(queryParser.SortString))
            {
                query.Append("ORDER BY ");
                query.Append("  " + queryParser.SortString);
            }

            if (tran != null)
            {
                hTran = (HibernateTransaction)tran;
                session = hTran.CurrentSession;
                pList.TotalCount = this.Count(querySearcher, tran);
            }
            else
            {
                session = this.CurrentHibernateConfig.GetCurrentSession();
                pList.TotalCount = this.Count(querySearcher);
            }

            if (pager != null)
            {
                pList.RecordList = HibernateHelper.FindObjectListByHQL<Position>(session, query.ToString(), queryParser.ParamCollection, pager);
            }
            else
            {
                pList.RecordList = HibernateHelper.FindObjectListByHQL<Position>(session, query.ToString(), queryParser.ParamCollection);
            }

            return pList;
        }
コード例 #42
0
ファイル: PositionDal.cs プロジェクト: pmsun-bruce/DBTool
        /// <summary>
        /// 根据指定条件删除职位
        /// </summary>
        /// <param name="positionSearcher">职位查询对象</param>
        /// <param name="tran">中间事务对象</param>
        public void Delete(PositionSearcher positionSearcher, ICTransaction tran)
        {
            PositionSearcher querySearcher = null;
            HibernateTransaction hTran = null;
            ISession session = null;
            HQLQueryParser queryParser = new HQLQueryParser();
            StringBuilder query = new StringBuilder();

            query.Append("DELETE FROM ");
            query.Append("  Position  ");
            query.Append("WHERE ");
            query.Append("  PositionId IN (");
            query.Append("    SELECT ");
            query.Append("      P.PositionId ");
            query.Append("    FROM ");
            query.Append("      Position P ");

            if (positionSearcher != null)
            {
                querySearcher = (PositionSearcher)positionSearcher.Clone();
                querySearcher.TableName = "P";

                if (querySearcher.CurrCompany != null)
                {
                    querySearcher.CurrCompany.TableName = "C";
                    query.Append("LEFT JOIN ");
                    query.Append("  P.CurrCompany C ");
                }

                if (querySearcher.CurrDepartment != null)
                {
                    querySearcher.CurrDepartment.TableName = "D";
                    query.Append("LEFT JOIN ");
                    query.Append("  P.CurrDepartment D ");
                }
            }

            queryParser.SearcherParse(querySearcher);

            if (!string.IsNullOrEmpty(queryParser.ConditionString))
            {
                query.Append("WHERE ");
                query.Append("  " + queryParser.ConditionString);
            }

            query.Append(")");

            if (tran != null)
            {
                hTran = (HibernateTransaction)tran;
                session = hTran.CurrentSession;
            }
            else
            {
                session = this.CurrentHibernateConfig.GetCurrentSession();
            }

            int effectCount = HibernateHelper.DeleteObjectByHQL(session, query.ToString(), queryParser.ParamCollection);
        }
コード例 #43
0
ファイル: PositionDal.cs プロジェクト: pmsun-bruce/DBTool
 /// <summary>
 /// 根据指定条件查找职位集合
 /// </summary>
 /// <param name="positionSearcher">职位查询对象</param>
 /// <param name="tran">中间事务对象</param>
 /// <returns>返回一个DataTable对象</returns>
 public DataTable FindDataTable(PositionSearcher positionSearcher, ICTransaction tran)
 {
     PageDataTable pageDataTable = this.FindDataTable(positionSearcher, null, tran);
     return pageDataTable == null ? null : pageDataTable.RecordList;
 }
コード例 #44
0
ファイル: PositionDal.cs プロジェクト: pmsun-bruce/DBTool
 /// <summary>
 /// 查找指定ID的职位
 /// </summary>
 /// <param name="positionId">职位ID</param>
 /// <param name="tran">中间事务对象</param>
 /// <returns>返回职位实体对象</returns>
 public Position FindSingle(string positionId, ICTransaction tran)
 {
     PositionSearcher positionSearcher = new PositionSearcher();
     positionSearcher.PositionId.Equal(positionId);
     IList<Position> positionList = this.FindList(positionSearcher);
     return (positionList == null || positionList.Count == 0) ? null : positionList[0];
 }
コード例 #45
0
ファイル: PositionDal.cs プロジェクト: pmsun-bruce/DBTool
        /// <summary>
        /// 新建职位
        /// </summary>
        /// <param name="position">职位实体对象</param>
        /// <param name="tran">中间事务对象</param>
        /// <returns>返回处理后的职位实体对象</returns>
        public Position Add(Position position, ICTransaction tran)
        {
            if (position == null)
            {
                throw new ArgumentNullException("position");
            }

            position.PositionId = KeyGenerator.GenNewGuidKey();
            StringBuilder query = new StringBuilder();
            query.AppendLine(@"INSERT INTO ");
            query.AppendLine(@"   `Position` ( ");
            query.AppendLine(@"      `PositionId` ");
            query.AppendLine(@"     ,`PositionCode` ");
            query.AppendLine(@"     ,`CompanyId` ");
            query.AppendLine(@"     ,`DepartmentId` ");
            query.AppendLine(@"     ,`Name` ");
            query.AppendLine(@"     ,`RVersion` ");
            query.AppendLine(@"     ,`Status` ");
            query.AppendLine(@"     ,`CreaterId` ");
            query.AppendLine(@"     ,`CreateTime` ");
            query.AppendLine(@"     ,`UpdatorId` ");
            query.AppendLine(@"     ,`UpdateTime` ");
            query.AppendLine(@"   ) ");
            query.AppendLine(@"VALUES ( ");
            query.AppendLine(@"      @PositionId ");
            query.AppendLine(@"     ,@PositionCode ");
            query.AppendLine(@"     ,@CompanyId ");
            query.AppendLine(@"     ,@DepartmentId ");
            query.AppendLine(@"     ,@Name ");
            query.AppendLine(@"     ,@RVersion ");
            query.AppendLine(@"     ,@Status ");
            query.AppendLine(@"     ,@CreaterId ");
            query.AppendLine(@"     ,@CreateTime ");
            query.AppendLine(@"     ,@UpdatorId ");
            query.AppendLine(@"     ,@UpdateTime ");
            query.AppendLine(@"); ");

            MySqlParameter[] paramCollection = new MySqlParameter[11];
            paramCollection[0] = new MySqlParameter("@PositionId", MySqlDbType.String, 40);
            paramCollection[1] = new MySqlParameter("@PositionCode", MySqlDbType.String, 13);
            paramCollection[2] = new MySqlParameter("@CompanyId", MySqlDbType.String, 40);
            paramCollection[3] = new MySqlParameter("@DepartmentId", MySqlDbType.String, 40);
            paramCollection[4] = new MySqlParameter("@Name", MySqlDbType.String, 100);
            paramCollection[5] = new MySqlParameter("@RVersion", MySqlDbType.Int32);
            paramCollection[6] = new MySqlParameter("@Status", MySqlDbType.Int32);
            paramCollection[7] = new MySqlParameter("@CreaterId", MySqlDbType.String, 40);
            paramCollection[8] = new MySqlParameter("@CreateTime", MySqlDbType.DateTime);
            paramCollection[9] = new MySqlParameter("@UpdatorId", MySqlDbType.String, 40);
            paramCollection[10] = new MySqlParameter("@UpdateTime", MySqlDbType.DateTime);

            paramCollection[0].Value = position.PositionId;
            paramCollection[1].Value = position.PositionCode;
            paramCollection[2].Value = position.CompanyId;
            paramCollection[3].Value = position.DepartmentId;
            paramCollection[4].Value = position.Name;
            paramCollection[5].Value = position.RVersion;
            paramCollection[6].Value = position.Status;
            paramCollection[7].Value = position.CreaterId;
            paramCollection[8].Value = position.CreateTime;
            paramCollection[9].Value = position.UpdatorId;
            paramCollection[10].Value = position.UpdateTime;

            try
            {
                int effectCount = 0;

                if (tran != null)
                {
                    effectCount = MySqlHelper.ExecuteNonQuery((MySqlConnection)tran.Connection, query.ToString(), paramCollection);
                }
                else
                {
                    effectCount = MySqlHelper.ExecuteNonQuery(this.CurrentConnectionString, query.ToString(), paramCollection);
                }

                if (effectCount == 0)
                {
                    position.PositionId = string.Empty;
                    throw new ResponseException((int)ResultCode.NoDataInsert, position.PositionCode);
                }
            }
            catch(Exception ex)
            {
                position.PositionId = string.Empty;
                throw new Exception(ex.Message, ex);
            }

            return position;
        }
コード例 #46
0
ファイル: PositionDal.cs プロジェクト: pmsun-bruce/DBTool
        /// <summary>
        /// 更新职位数据
        /// </summary>
        /// <param name="positionList">职位实体对象</param>
        /// <param name="tran">中间事务对象</param>
        public void Update(IList<Position> positionList, ICTransaction tran)
        {
            HibernateTransaction hTran = null;
            ISession session = null;
            ITransaction ihTran = null;

            if (tran != null)
            {
                hTran = (HibernateTransaction)tran;
                session = hTran.CurrentSession;
            }
            else
            {
                session = this.CurrentHibernateConfig.GetCurrentSession();
                ihTran = session.BeginTransaction();
            }

            try
            {
                if (positionList != null)
                {
                    foreach (Position position in positionList)
                    {
                        HibernateHelper.UpdateObject<Position>(session, position);
                    }

                    if (ihTran != null)
                    {
                        ihTran.Commit();
                    }
                }

                HibernateHelper.FlushSession(session);
            }
            catch(Exception ex)
            {
                if (ihTran != null)
                {
                    ihTran.Rollback();
                }

                throw new Exception(ex.Message, ex);
            }
        }
コード例 #47
0
ファイル: DepartmentDal.cs プロジェクト: pmsun-bruce/DBTool
 /// <summary>
 /// 查找指定条件的部门集合
 /// </summary>
 /// <param name="departmentSearcher">部门查询对象</param>
 /// <param name="tran">中间事务对象</param>
 /// <returns>返回部门实体对象集合</returns>
 public IList<Department> FindList(DepartmentSearcher departmentSearcher, ICTransaction tran)
 {
     PageList<Department> pageList = this.FindList(departmentSearcher, null, tran);
     return pageList == null ? null : pageList.RecordList;
 }
コード例 #48
0
ファイル: DepartmentDal.cs プロジェクト: pmsun-bruce/DBTool
        /// <summary>
        /// 查找指定条件的部门分页集合
        /// </summary>
        /// <param name="departmentSearcher">部门查询对象</param>
        /// <param name="pager">分页对象</param>
        /// <param name="tran">中间事务对象</param>
        /// <returns>返回查找到的分页集合,包括按条件可查询到的所有记录数和当前分页的对象集合</returns>
        public PageList<Department> FindList(DepartmentSearcher departmentSearcher, Pager pager, ICTransaction tran)
        {
            PageList<Department> resultList = new PageList<Department>();
            PageDataTable pageDataTable = this.FindDataTable(departmentSearcher, pager, tran);
            Department ele = null;

            if (pageDataTable != null)
            {
                resultList = new PageList<Department>();
                resultList.PageIndex = pageDataTable.PageIndex;
                resultList.TotalCount = pageDataTable.TotalCount;

                if (pageDataTable.RecordList != null && pageDataTable.RecordList.Rows.Count > 0)
                {
                    foreach (DataRow aRow in pageDataTable.RecordList.Rows)
                    {
                        ele = new Department();

                        if (!(aRow["DepartmentId"] is DBNull))
                        {
                            ele.DepartmentId = aRow["DepartmentId"].ToString();
                        }

                        if (!(aRow["CompanyId"] is DBNull))
                        {
                            ele.CompanyId = aRow["CompanyId"].ToString();
                        }

                        if (!(aRow["DepartmentCode"] is DBNull))
                        {
                            ele.DepartmentCode = aRow["DepartmentCode"].ToString();
                        }

                        if (!(aRow["CreaterId"] is DBNull))
                        {
                            ele.CreaterId = aRow["CreaterId"].ToString();
                        }

                        if (!(aRow["CreateTime"] is DBNull))
                        {
                            ele.CreateTime = Convert.ToDateTime(aRow["CreateTime"]);
                        }

                        if (!(aRow["Name"] is DBNull))
                        {
                            ele.Name = aRow["Name"].ToString();
                        }

                        if (!(aRow["RVersion"] is DBNull))
                        {
                            ele.RVersion = Convert.ToInt32(aRow["RVersion"]);
                        }

                        if (!(aRow["Status"] is DBNull))
                        {
                            ele.Status = Convert.ToInt32(aRow["Status"]);
                        }

                        if (!(aRow["UpdateTime"] is DBNull))
                        {
                            ele.UpdateTime = Convert.ToDateTime(aRow["UpdateTime"]);
                        }

                        if (!(aRow["UpdatorId"] is DBNull))
                        {
                            ele.UpdatorId = aRow["UpdatorId"].ToString();
                        }

                        resultList.RecordList.Add(ele);
                    }
                }
            }

            return resultList;
        }
コード例 #49
0
ファイル: DepartmentDal.cs プロジェクト: pmsun-bruce/DBTool
        /// <summary>
        /// 查询部门数量
        /// </summary>
        /// <param name="departmentSearcher">部门查询对象</param>
        /// <param name="tran">中间事务对象</param>
        /// <returns>返回查询到的数量</returns>
        public long Count(DepartmentSearcher departmentSearcher, ICTransaction tran)
        {
            object count = 0;
            long result = 0;
            DepartmentSearcher querySearcher = null;
            MssqlQueryParser queryParser = new MssqlQueryParser();
            StringBuilder query = new StringBuilder();
            query.AppendLine(@"SELECT ");
            query.AppendLine(@"   COUNT(D.DepartmentId) ");
            query.AppendLine(@"FROM ");
            query.AppendLine(@"   Department D ");

            if (departmentSearcher != null)
            {
                querySearcher = (DepartmentSearcher)departmentSearcher.Clone();
                querySearcher.TableName = "D";

                if (querySearcher.CurrCompany != null)
                {
                    querySearcher.CurrCompany.TableName = "C";
                    query.AppendLine(@"LEFT JOIN ");
                    query.AppendLine(@"   [Company] C ON(C.CompanyId = D.CompanyId) ");
                }
            }

            queryParser.SearcherParse(querySearcher);

            if (!string.IsNullOrEmpty(queryParser.ConditionString))
            {
                query.AppendLine(@"WHERE ");
                query.AppendLine(@"   " + queryParser.ConditionString);
            }

            if (tran != null)
            {
                DbTransaction dbTran = ((MssqlTransaction)tran).CurrentTransaction;
                count = MssqlHelper.ExecuteScalar(dbTran, CommandType.Text, query.ToString(), queryParser.ParamCollection);
            }
            else
            {
                count = MssqlHelper.ExecuteScalar(this.CurrentConnectionString, CommandType.Text, query.ToString(), queryParser.ParamCollection);
            }

            return long.TryParse(count.ToString(), out result) ? result : 0;
        }
コード例 #50
0
ファイル: DepartmentDal.cs プロジェクト: pmsun-bruce/DBTool
        /// <summary>
        /// 更新部门数据
        /// </summary>
        /// <param name="department">部门实体对象</param>
        /// <param name="tran">中间事务对象</param>
        public void Update(Department department, ICTransaction tran)
        {
            Department oldDepartment = this.FindSingle(department.DepartmentId, tran);
            int updateColCount = 0;

            if (department == null)
            {
                throw new ArgumentException("department");
            }

            if (oldDepartment == null)
            {
                throw new ResponseException((int)ResultCode.NoDataExists, department.DepartmentCode);
            }

            if (department.RVersion != oldDepartment.RVersion)
            {
                throw new ResponseException((int)ResultCode.VersionChanged, oldDepartment.RVersion.ToString());
            }

            StringBuilder query = new StringBuilder();
            query.AppendLine(@"UPDATE ");
            query.AppendLine(@"   [Department]");
            query.AppendLine(@"SET ");
            query.AppendLine(@"   [DepartmentId] = @DepartmentId ");

            if ((!string.IsNullOrEmpty(department.DepartmentCode) && !department.DepartmentCode.Equals(oldDepartment.DepartmentCode))
                || (!string.IsNullOrEmpty(oldDepartment.DepartmentCode) && !oldDepartment.DepartmentCode.Equals(department.DepartmentCode)))
            {
                updateColCount++;
                query.AppendLine(@"  ,[DepartmentCode] = @DepartmentCode ");
            }

            if ((!string.IsNullOrEmpty(department.CompanyId) && !department.CompanyId.Equals(oldDepartment.CompanyId))
                || (!string.IsNullOrEmpty(oldDepartment.CompanyId) && !oldDepartment.CompanyId.Equals(department.CompanyId)))
            {
                updateColCount++;
                query.AppendLine(@"  ,[CompanyId] = @CompanyId ");
            }

            if ((!string.IsNullOrEmpty(department.Name) && !department.Name.Equals(oldDepartment.Name))
                || (!string.IsNullOrEmpty(oldDepartment.Name) && !oldDepartment.Name.Equals(department.Name)))
            {
                updateColCount++;
                query.AppendLine(@"  ,[Name] = @Name ");
            }

            if (oldDepartment.Status != department.Status)
            {
                updateColCount++;
                query.AppendLine(@"  ,[Status] = @Status ");
            }

            if ((!string.IsNullOrEmpty(department.CreaterId) && !department.CreaterId.Equals(oldDepartment.CreaterId))
                || (!string.IsNullOrEmpty(oldDepartment.CreaterId) && !oldDepartment.CreaterId.Equals(department.CreaterId)))
            {
                updateColCount++;
                query.AppendLine(@"  ,[CreaterId] = @CreaterId ");
            }

            if (oldDepartment.CreateTime.CompareTo(department.CreateTime) != 0 && department.CreateTime != DateTime.MinValue)
            {
                updateColCount++;
                query.AppendLine(@"  ,[CreateTime] = @CreateTime ");
            }

            if ((!string.IsNullOrEmpty(department.UpdatorId) && !department.UpdatorId.Equals(oldDepartment.UpdatorId))
                || (!string.IsNullOrEmpty(oldDepartment.UpdatorId) && !oldDepartment.UpdatorId.Equals(department.UpdatorId)))
            {
                updateColCount++;
                query.AppendLine(@"  ,[UpdatorId] = @UpdatorId ");
            }

            if (oldDepartment.UpdateTime.CompareTo(department.UpdateTime) != 0 && department.UpdateTime != DateTime.MinValue)
            {
                updateColCount++;
                query.AppendLine(@"  ,[UpdateTime] = @UpdateTime ");
            }

            query.AppendLine(@"  ,[RVersion] = @RVersion ");
            query.AppendLine(@"WHERE ");
            query.AppendLine(@"   [DepartmentId] = @DepartmentId ");

            if (updateColCount == 0)
            {
                return;
            }

            department.UpdateTime = DateTime.Now;
            DBParamCollection<DBParam> paramCollection = new DBParamCollection<DBParam>();
            paramCollection.Add(new DBParam("@DepartmentId", department.DepartmentId, DbType.String, 40));
            paramCollection.Add(new DBParam("@DepartmentCode", department.DepartmentCode, DbType.String, 10));
            paramCollection.Add(new DBParam("@CompanyId", department.CompanyId, DbType.String, 40));
            paramCollection.Add(new DBParam("@Name", department.Name, DbType.String, 100));
            paramCollection.Add(new DBParam("@RVersion", department.RVersion, DbType.Int32));
            paramCollection.Add(new DBParam("@Status", department.Status, DbType.Int32));
            paramCollection.Add(new DBParam("@CreaterId", department.CreaterId, DbType.String, 40));
            paramCollection.Add(new DBParam("@CreateTime", department.CreateTime, DbType.DateTime));
            paramCollection.Add(new DBParam("@UpdatorId", department.UpdatorId, DbType.String, 40));
            paramCollection.Add(new DBParam("@UpdateTime", department.UpdateTime, DbType.DateTime));

            try
            {
                int effectCount = 0;

                if (department != null)
                {
                    if (tran != null)
                    {
                        DbTransaction dbTran = ((MssqlTransaction)tran).CurrentTransaction;
                        effectCount = MssqlHelper.ExecuteNonQuery(dbTran, CommandType.Text, query.ToString(), paramCollection);
                    }
                    else
                    {
                        effectCount = MssqlHelper.ExecuteNonQuery(this.CurrentConnectionString, CommandType.Text, query.ToString(), paramCollection);
                    }
                }

                // 抛出一个异常
                if (effectCount == 0)
                {
                    throw new ResponseException((int)ResultCode.NoDataUpdate, department.DepartmentCode);
                }
            }
            catch(Exception ex)
            {
                throw new Exception(ex.Message, ex);
            }
        }
コード例 #51
0
ファイル: DepartmentDal.cs プロジェクト: pmsun-bruce/DBTool
        /// <summary>
        /// 根据指定条件删除部门
        /// </summary>
        /// <param name="departmentSearcher">部门查询对象</param>
        /// <param name="tran">中间事务对象</param>
        public void Delete(DepartmentSearcher departmentSearcher, ICTransaction tran)
        {
            int effectCount = 0;
            DepartmentSearcher querySearcher = null;
            MssqlQueryParser queryParser = new MssqlQueryParser();
            StringBuilder query = new StringBuilder();
            query.AppendLine(@"DELETE FROM ");
            query.AppendLine(@"   Department ");
            query.AppendLine(@"WHERE ");
            query.AppendLine(@"   DepartmentId IN (");
            query.AppendLine(@"      SELECT ");
            query.AppendLine(@"         D.DepartmentId ");
            query.AppendLine(@"      FROM ");
            query.AppendLine(@"         Department D ");

            if (departmentSearcher != null)
            {
                querySearcher = (DepartmentSearcher)departmentSearcher.Clone();
                querySearcher.TableName = "D";

                if (querySearcher.CurrCompany != null)
                {
                    querySearcher.CurrCompany.TableName = "C";
                    query.AppendLine(@"LEFT JOIN ");
                    query.AppendLine(@"   Company C ON(C.CompanyId = D.CompanyId) ");
                }
            }

            queryParser.SearcherParse(querySearcher);

            if (!string.IsNullOrEmpty(queryParser.ConditionString))
            {
                query.AppendLine(@"WHERE ");
                query.AppendLine(@"   " + queryParser.ConditionString);
            }

            query.AppendLine(@"); ");

            try
            {
                if (tran != null)
                {
                    DbTransaction dbTran = ((MssqlTransaction)tran).CurrentTransaction;
                    effectCount = MssqlHelper.ExecuteNonQuery(dbTran, CommandType.Text, query.ToString(), queryParser.ParamCollection);
                }
                else
                {
                    effectCount = MssqlHelper.ExecuteNonQuery(this.CurrentConnectionString, CommandType.Text, query.ToString(), queryParser.ParamCollection);
                }
            }
            catch(SqlException sex)
            {
                if (sex.ErrorCode == (int)ResultCode.FKError)
                {
                    throw new ResponseException((int)ResultCode.FKError, "DELETE Department");
                }
            }
        }
コード例 #52
0
ファイル: PositionDal.cs プロジェクト: pmsun-bruce/DBTool
 /// <summary>
 /// 更新职位数据
 /// </summary>
 /// <param name="position">职位实体对象</param>
 /// <param name="tran">中间事务对象</param>
 public void Update(Position position, ICTransaction tran)
 {
     IList<Position> positionList = new List<Position>();
     positionList.Add(position);
     this.Update(positionList, tran);
 }
コード例 #53
0
ファイル: DepartmentDal.cs プロジェクト: pmsun-bruce/DBTool
        /// <summary>
        /// 根据指定条件查找部门分页集合
        /// </summary>
        /// <param name="departmentSearcher">部门查询对象</param>
        /// <param name="pager">分页对象</param>
        /// <param name="tran">中间事务对象</param>
        /// <returns>返回查找到的分页集合,包括按条件可查询到的所有记录数和当前分页的DataTable数据</returns>
        public PageDataTable FindDataTable(DepartmentSearcher departmentSearcher, Pager pager, ICTransaction tran)
        {
            DepartmentSearcher querySearcher = null;
            MssqlQueryParser queryParser = new MssqlQueryParser();
            PageDataTable pDataTable = new PageDataTable();
            DataSet resultSet = null;
            StringBuilder query = new StringBuilder();
            StringBuilder joinQuery = new StringBuilder();
            StringBuilder conditionQuery = new StringBuilder();
            StringBuilder sortQuery = new StringBuilder();

            if (departmentSearcher != null)
            {
                querySearcher = (DepartmentSearcher)departmentSearcher.Clone();
                querySearcher.TableName = "D";

                if (querySearcher.CurrCompany != null)
                {
                    querySearcher.CurrCompany.TableName = "C";
                    joinQuery.AppendLine(@"LEFT JOIN ");
                    joinQuery.AppendLine(@"   [Company] C ON(C.CompanyId = D.CompanyId) ");
                }
            }

            queryParser.SearcherParse(querySearcher);

            if (!string.IsNullOrEmpty(queryParser.ConditionString))
            {
                conditionQuery.AppendLine(@"WHERE ");
                conditionQuery.AppendLine(@"   " + queryParser.ConditionString);
            }

            if (!string.IsNullOrEmpty(queryParser.SortString))
            {
                sortQuery.AppendLine(@"ORDER BY ");
                sortQuery.AppendLine(@"   " + queryParser.SortString);
            }

            query.AppendLine(@"SELECT ");
            query.AppendLine(@"   D.[DepartmentId] ");
            query.AppendLine(@"  ,D.[DepartmentCode] ");
            query.AppendLine(@"  ,D.[CompanyId] ");
            query.AppendLine(@"  ,D.[Name] ");
            query.AppendLine(@"  ,D.[RVersion] ");
            query.AppendLine(@"  ,D.[Status] ");
            query.AppendLine(@"  ,D.[CreaterId] ");
            query.AppendLine(@"  ,D.[CreateTime] ");
            query.AppendLine(@"  ,D.[UpdatorId] ");
            query.AppendLine(@"  ,D.[UpdateTime] ");
            query.AppendLine(@"FROM ");
            query.AppendLine(@"   [Department] D ");
            query.AppendLine(joinQuery.ToString());
            query.AppendLine(conditionQuery.ToString());
            query.AppendLine(sortQuery.ToString());
            query.AppendLine(@"; ");

            if (tran != null)
            {
                DbTransaction dbTran = ((MssqlTransaction)tran).CurrentTransaction;

                if (pager != null)
                {
                    resultSet = MssqlHelper.ExecuteDataSet(dbTran, CommandType.Text, query.ToString(), pager, "Department", queryParser.ParamCollection);
                }
                else
                {
                    resultSet = MssqlHelper.ExecuteDataSet(dbTran, CommandType.Text, query.ToString(), queryParser.ParamCollection);
                }
            }
            else
            {
                if (pager != null)
                {
                    resultSet = MssqlHelper.ExecuteDataSet(this.CurrentConnectionString, CommandType.Text, query.ToString(), pager, "Department", queryParser.ParamCollection);
                }
                else
                {
                    resultSet = MssqlHelper.ExecuteDataSet(this.CurrentConnectionString, CommandType.Text, query.ToString(), queryParser.ParamCollection);
                }
            }

            if (resultSet != null)
            {
                if (pager != null)
                {
                    pDataTable.PageIndex = pager.CurrentPage;
                }

                pDataTable.TotalCount = this.Count(departmentSearcher, tran);
                pDataTable.RecordList = resultSet.Tables[0];
            }

            return pDataTable;
        }
コード例 #54
0
ファイル: PositionDal.cs プロジェクト: pmsun-bruce/DBTool
 /// <summary>
 /// 查找指定条件的职位集合
 /// </summary>
 /// <param name="positionSearcher">职位查询对象</param>
 /// <param name="tran">中间事务对象</param>
 /// <returns>返回职位实体对象集合</returns>
 public IList<Position> FindList(PositionSearcher positionSearcher, ICTransaction tran)
 {
     PageList<Position> pageList = this.FindList(positionSearcher, null, tran);
     return pageList == null ? null : pageList.RecordList;
 }
コード例 #55
0
ファイル: DepartmentDal.cs プロジェクト: pmsun-bruce/DBTool
        /// <summary>
        /// 新建部门
        /// </summary>
        /// <param name="department">部门实体对象</param>
        /// <param name="tran">中间事务对象</param>
        /// <returns>返回处理后的部门实体对象</returns>
        public Department Add(Department department, ICTransaction tran)
        {
            if (department == null)
            {
                throw new ArgumentNullException("department");
            }

            department.DepartmentId = KeyGenerator.GenNewGuidKey();
            StringBuilder query = new StringBuilder();
            query.AppendLine(@"INSERT INTO ");
            query.AppendLine(@"  [Department] ( ");
            query.AppendLine(@"     [DepartmentId] ");
            query.AppendLine(@"    ,[DepartmentCode] ");
            query.AppendLine(@"    ,[CompanyId]  ");
            query.AppendLine(@"    ,[Name] ");
            query.AppendLine(@"    ,[RVersion] ");
            query.AppendLine(@"    ,[Status] ");
            query.AppendLine(@"    ,[CreaterId] ");
            query.AppendLine(@"    ,[CreateTime] ");
            query.AppendLine(@"    ,[UpdatorId] ");
            query.AppendLine(@"    ,[UpdateTime] ");
            query.AppendLine(@"   )");
            query.AppendLine(@"VALUES (");
            query.AppendLine(@"     @DepartmentId ");
            query.AppendLine(@"    ,@DepartmentCode ");
            query.AppendLine(@"    ,@CompanyId ");
            query.AppendLine(@"    ,@Name ");
            query.AppendLine(@"    ,@RVersion ");
            query.AppendLine(@"    ,@Status ");
            query.AppendLine(@"    ,@CreaterId ");
            query.AppendLine(@"    ,@CreateTime ");
            query.AppendLine(@"    ,@UpdatorId ");
            query.AppendLine(@"    ,@UpdateTime ");
            query.AppendLine(@"); ");

            DBParamCollection<DBParam> paramCollection = new DBParamCollection<DBParam>();
            paramCollection.Add(new DBParam("@DepartmentId", department.DepartmentId, DbType.String, 40));
            paramCollection.Add(new DBParam("@DepartmentCode", department.DepartmentCode, DbType.String, 10));
            paramCollection.Add(new DBParam("@CompanyId", department.CompanyId, DbType.String, 40));
            paramCollection.Add(new DBParam("@Name", department.Name, DbType.String, 100));
            paramCollection.Add(new DBParam("@RVersion", department.RVersion, DbType.Int32));
            paramCollection.Add(new DBParam("@Status", department.Status, DbType.Int32));
            paramCollection.Add(new DBParam("@CreaterId", department.CreaterId, DbType.String, 40));
            paramCollection.Add(new DBParam("@CreateTime", department.CreateTime, DbType.DateTime));
            paramCollection.Add(new DBParam("@UpdatorId", department.UpdatorId, DbType.String, 40));
            paramCollection.Add(new DBParam("@UpdateTime", department.UpdateTime, DbType.DateTime));

            try
            {
                int effectCount = 0;

                if (tran != null)
                {
                    DbTransaction dbTran = ((MssqlTransaction)tran).CurrentTransaction;
                    effectCount = MssqlHelper.ExecuteNonQuery(dbTran, CommandType.Text, query.ToString(), paramCollection);
                }
                else
                {
                    effectCount = MssqlHelper.ExecuteNonQuery(this.CurrentConnectionString, CommandType.Text, query.ToString(), paramCollection);
                }

                if (effectCount == 0)
                {
                    department.DepartmentId = string.Empty;
                    throw new ResponseException((int)ResultCode.NoDataInsert, department.DepartmentCode);
                }
            }
            catch(Exception ex)
            {
                department.DepartmentId = string.Empty;
                throw new Exception(ex.Message, ex);
            }

            return department;
        }
コード例 #56
0
ファイル: PositionDal.cs プロジェクト: pmsun-bruce/DBTool
        /// <summary>
        /// 删除职位
        /// </summary>
        /// <param name="positionId">职位ID</param>
        /// <param name="tran">中间事务对象</param>
        public void Delete(string positionId, ICTransaction tran)
        {
            HibernateTransaction hTran = null;
            ISession session = null;

            if (tran != null)
            {
                hTran = (HibernateTransaction)tran;
                session = hTran.CurrentSession;
            }
            else
            {
                session = this.CurrentHibernateConfig.GetCurrentSession();
            }

            Position position = HibernateHelper.FindObjectById<Position>(session, positionId);
            HibernateHelper.DeleteObject<Position>(session, position);
        }
コード例 #57
0
ファイル: DepartmentDal.cs プロジェクト: pmsun-bruce/DBTool
 /// <summary>
 /// 查找指定ID的部门
 /// </summary>
 /// <param name="departmentId">部门ID</param>
 /// <param name="tran">中间事务对象</param>
 /// <returns>返回部门实体对象</returns>
 public Department FindSingle(string departmentId, ICTransaction tran)
 {
     DepartmentSearcher departmentSearcher = new DepartmentSearcher();
     departmentSearcher.DepartmentId.Equal(departmentId);
     IList<Department> departmentList = this.FindList(departmentSearcher);
     return (departmentList == null || departmentList.Count == 0) ? null : departmentList[0];
 }
コード例 #58
0
ファイル: PositionDal.cs プロジェクト: pmsun-bruce/DBTool
 /// <summary>
 /// 更新职位数据
 /// </summary>
 /// <param name="positionList">职位实体对象</param>
 /// <param name="tran">中间事务对象</param>
 public void Update(IList<Position> positionList, ICTransaction tran)
 {
     try
     {
         if (positionList != null)
         {
             foreach (Position position in positionList)
             {
                 this.Update(position, tran);
             }
         }
     }
     catch(Exception ex)
     {
         throw new Exception(ex.Message, ex);
     }
 }
コード例 #59
0
ファイル: DepartmentDal.cs プロジェクト: pmsun-bruce/DBTool
 /// <summary>
 /// 更新部门数据
 /// </summary>
 /// <param name="departmentList">部门实体对象</param>
 /// <param name="tran">中间事务对象</param>
 public void Update(IList<Department> departmentList, ICTransaction tran)
 {
     try
     {
         if (departmentList != null)
         {
             foreach (Department department in departmentList)
             {
                 this.Update(department, tran);
             }
         }
     }
     catch(Exception ex)
     {
         throw new Exception(ex.Message, ex);
     }
 }
コード例 #60
0
ファイル: PositionDal.cs プロジェクト: pmsun-bruce/DBTool
        /// <summary>
        /// 查找指定ID的职位
        /// </summary>
        /// <param name="positionId">职位ID</param>
        /// <param name="tran">中间事务对象</param>
        /// <returns>返回职位实体对象</returns>
        public Position FindSingle(string positionId, ICTransaction tran)
        {
            HibernateTransaction hTran = null;
            ISession session = null;

            if (tran != null)
            {
                hTran = (HibernateTransaction)tran;
                session = hTran.CurrentSession;
            }
            else
            {
                session = this.CurrentHibernateConfig.GetCurrentSession();
            }

            return HibernateHelper.FindObjectById<Position>(session, positionId);
        }