/// <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); }
/// <summary> /// 查找指定条件的公司分页集合 /// </summary> /// <param name="companySearcher">公司查询对象</param> /// <param name="pager">分页对象</param> /// <param name="tran">中间事务对象</param> /// <returns>返回查找到的分页集合,包括按条件可查询到的所有记录数和当前分页的对象集合</returns> public PageList <Company> FindList(CompanySearcher companySearcher, Pager pager, ICTransaction tran) { CompanySearcher querySearcher = null; HibernateTransaction hTran = null; ISession session = null; PageList <Company> pList = new PageList <Company>(); HQLQueryParser queryParser = new HQLQueryParser(); StringBuilder query = new StringBuilder(); query.AppendLine("SELECT "); query.AppendLine(" C "); query.AppendLine("FROM "); query.AppendLine(" Company C "); if (companySearcher != null) { querySearcher = (CompanySearcher)companySearcher.Clone(); querySearcher.TableName = "C"; } queryParser.SearcherParse(querySearcher); if (!string.IsNullOrEmpty(queryParser.ConditionString)) { query.AppendLine("WHERE "); query.AppendLine(" " + queryParser.ConditionString); } if (!string.IsNullOrEmpty(queryParser.SortString)) { query.AppendLine("ORDER BY "); query.AppendLine(" " + 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 <Company>(session, query.ToString(), queryParser.ParamCollection, pager); } else { pList.RecordList = HibernateHelper.FindObjectListByHQL <Company>(session, query.ToString(), queryParser.ParamCollection); } return(pList); }
/// <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); }
/// <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)); }
/// <summary> /// 查找指定ID的部门 /// </summary> /// <param name="departmentId">部门ID</param> /// <param name="tran">中间事务对象</param> /// <returns>返回部门实体对象</returns> public Department FindSingle(string departmentId, 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 <Department>(session, departmentId)); }
/// <summary> /// 更新员工数据 /// </summary> /// <param name="employeeList">员工实体对象</param> /// <param name="tran">中间事务对象</param> public void Update(IList <Employee> employeeList, 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 (employeeList != null) { foreach (Employee employee in employeeList) { HibernateHelper.UpdateObject <Employee>(session, employee); } if (ihTran != null) { ihTran.Commit(); } } HibernateHelper.FlushSession(session); } catch (Exception ex) { if (ihTran != null) { ihTran.Rollback(); } throw new Exception(ex.Message, ex); } }
/// <summary> /// 删除员工 /// </summary> /// <param name="employeeId">员工ID</param> /// <param name="tran">中间事务对象</param> public void Delete(string employeeId, ICTransaction tran) { HibernateTransaction hTran = null; ISession session = null; if (tran != null) { hTran = (HibernateTransaction)tran; session = hTran.CurrentSession; } else { session = this.CurrentHibernateConfig.GetCurrentSession(); } Employee employee = HibernateHelper.FindObjectById <Employee>(session, employeeId); HibernateHelper.DeleteObject <Employee>(session, employee); }
/// <summary> /// 删除部门 /// </summary> /// <param name="departmentId">部门ID</param> /// <param name="tran">中间事务对象</param> public void Delete(string departmentId, ICTransaction tran) { HibernateTransaction hTran = null; ISession session = null; if (tran != null) { hTran = (HibernateTransaction)tran; session = hTran.CurrentSession; } else { session = this.CurrentHibernateConfig.GetCurrentSession(); } Department department = HibernateHelper.FindObjectById <Department>(session, departmentId); HibernateHelper.DeleteObject <Department>(session, department); }
/// <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); }
/// <summary> /// 删除公司 /// </summary> /// <param name="companyId">公司ID</param> /// <param name="tran">中间事务对象</param> public void Delete(string companyId, ICTransaction tran) { HibernateTransaction hTran = null; ISession session = null; if (tran != null) { hTran = (HibernateTransaction)tran; session = hTran.CurrentSession; } else { session = this.CurrentHibernateConfig.GetCurrentSession(); } Company company = HibernateHelper.FindObjectById <Company>(session, companyId); HibernateHelper.DeleteObject <Company>(session, company); }
/// <summary> /// 根据指定条件删除公司 /// </summary> /// <param name="companySearcher">公司查询对象</param> /// <param name="tran">中间事务对象</param> public void Delete(CompanySearcher companySearcher, ICTransaction tran) { CompanySearcher querySearcher = null; HibernateTransaction hTran = null; ISession session = null; HQLQueryParser queryParser = new HQLQueryParser(); StringBuilder query = new StringBuilder(); query.AppendLine("DELETE FROM "); query.AppendLine(" Company C "); if (companySearcher != null) { querySearcher = (CompanySearcher)companySearcher.Clone(); querySearcher.TableName = "C"; } queryParser.SearcherParse(querySearcher); if (!string.IsNullOrEmpty(queryParser.ConditionString)) { query.AppendLine("WHERE "); query.AppendLine(" " + queryParser.ConditionString); } if (tran != null) { hTran = (HibernateTransaction)tran; session = hTran.CurrentSession; } else { session = this.CurrentHibernateConfig.GetCurrentSession(); } int effectCount = HibernateHelper.DeleteObjectByHQL(session, query.ToString(), queryParser.ParamCollection); }
/// <summary> /// 批量新建员工 /// </summary> /// <param name="employeeList">员工实体对象集合</param> /// <param name="tran">中间事务对象</param> /// <returns>返回处理后的员工实体对象集合</returns> public IList <Employee> Add(IList <Employee> employeeList, ICTransaction tran) { IList <Employee> newEmployeeList = new List <Employee>(); 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 (employeeList != null) { Employee newEmployee = null; foreach (Employee employee in employeeList) { newEmployee = HibernateHelper.AddObject <Employee>(session, employee); newEmployeeList.Add(newEmployee); if (string.IsNullOrEmpty(newEmployee.EmployeeId) && 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(newEmployeeList); }
/// <summary> /// 查找指定条件的员工分页集合 /// </summary> /// <param name="employeeSearcher">员工查询对象</param> /// <param name="pager">分页对象</param> /// <param name="tran">中间事务对象</param> /// <returns>返回查找到的分页集合,包括按条件可查询到的所有记录数和当前分页的对象集合</returns> public PageList <Employee> FindList(EmployeeSearcher employeeSearcher, Pager pager, ICTransaction tran) { EmployeeSearcher querySearcher = null; HibernateTransaction hTran = null; ISession session = null; PageList <Employee> pList = new PageList <Employee>(); HQLQueryParser queryParser = new HQLQueryParser(); StringBuilder query = new StringBuilder(); query.Append("SELECT "); query.Append(" E "); query.Append("FROM "); query.Append(" Employee E "); if (employeeSearcher != null) { querySearcher = (EmployeeSearcher)employeeSearcher.Clone(); querySearcher.TableName = "E"; if (querySearcher.CurrCompany != null) { querySearcher.CurrCompany.TableName = "C"; query.Append("LEFT JOIN "); query.Append(" E.CurrCompany C "); } if (querySearcher.CurrDepartment != null) { querySearcher.CurrDepartment.TableName = "D"; query.Append("LEFT JOIN "); query.Append(" E.CurrDepartment D "); } if (querySearcher.CurrPosition != null) { querySearcher.CurrPosition.TableName = "P"; query.Append("LEFT JOIN "); query.Append(" E.CurrPosition P "); } } 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 <Employee>(session, query.ToString(), queryParser.ParamCollection, pager); } else { pList.RecordList = HibernateHelper.FindObjectListByHQL <Employee>(session, query.ToString(), queryParser.ParamCollection); } return(pList); }
/// <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>(); 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 (departmentList != null) { Department newDepartment = null; foreach (Department department in departmentList) { newDepartment = HibernateHelper.AddObject <Department>(session, department); newDepartmentList.Add(newDepartment); if (string.IsNullOrEmpty(newDepartment.DepartmentId) && 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(newDepartmentList); }