/// <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) { PageList<Company> resultList = new PageList<Company>(); PageDataTable pageDataTable = this.FindDataTable(companySearcher, pager, tran); Company ele = null; if (pageDataTable != null) { resultList = new PageList<Company>(); 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 Company(); if (!(aRow["CompanyId"] is DBNull)) { ele.CompanyId = aRow["CompanyId"].ToString(); } if (!(aRow["Address"] is DBNull)) { ele.Address = aRow["Address"].ToString(); } if (!(aRow["CompanyCode"] is DBNull)) { ele.CompanyCode = aRow["CompanyCode"].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["ParentCompanyId"] is DBNull)) { ele.ParentCompanyId = aRow["ParentCompanyId"].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; }
/// <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]; }
/// <summary> /// 查找指定条件的公司集合 /// </summary> /// <param name="companySearcher">公司查询对象</param> /// <param name="tran">中间事务对象</param> /// <returns>返回公司实体对象集合</returns> public IList<Company> FindList(CompanySearcher companySearcher, ICTransaction tran) { PageList<Company> pageList = this.FindList(companySearcher, null, tran); return pageList == null ? null : pageList.RecordList; }
/// <summary> /// 查找指定条件的公司分页集合 /// </summary> /// <param name="companySearcher">公司查询对象</param> /// <param name="pager">分页对象</param> /// <returns>返回查找到的分页集合,包括按条件可查询到的所有记录数和当前分页的对象集合</returns> public PageList<Company> FindList(CompanySearcher companySearcher, Pager pager) { return this.FindList(companySearcher, pager, null); }
/// <summary> /// 根据指定条件查找公司分页集合 /// </summary> /// <param name="companySearcher">公司查询对象</param> /// <param name="pager">分页对象</param> /// <param name="tran">中间事务对象</param> /// <returns>返回查找到的分页集合,包括按条件可查询到的所有记录数和当前分页的DataTable数据</returns> public PageDataTable FindDataTable(CompanySearcher companySearcher, Pager pager, ICTransaction tran) { CompanySearcher querySearcher = null; MysqlQueryParser queryParser = new MysqlQueryParser(); PageDataTable pDataTable = new PageDataTable(); DataSet resultSet = null; StringBuilder query = new StringBuilder(); StringBuilder conditionQuery = new StringBuilder(); StringBuilder sortQuery = new StringBuilder(); if (companySearcher != null) { querySearcher = (CompanySearcher)companySearcher.Clone(); querySearcher.TableName = "C"; } 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(@" C.`CompanyId` "); query.AppendLine(@" ,C.`CompanyCode` "); query.AppendLine(@" ,C.`Name` "); query.AppendLine(@" ,C.`Address` "); query.AppendLine(@" ,C.`ParentCompanyId` "); query.AppendLine(@" ,C.`RVersion` "); query.AppendLine(@" ,C.`Status` "); query.AppendLine(@" ,C.`CreaterId` "); query.AppendLine(@" ,C.`CreateTime` "); query.AppendLine(@" ,C.`UpdatorId` "); query.AppendLine(@" ,C.`UpdateTime` "); query.AppendLine(@"FROM "); query.AppendLine(@" `Company` C "); 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(companySearcher, tran); pDataTable.RecordList = resultSet.Tables[0]; } return pDataTable; }
/// <summary> /// 查找指定条件的公司集合 /// </summary> /// <param name="companySearcher">公司查询对象</param> /// <returns>返回公司实体对象集合</returns> public IList<Company> FindList(CompanySearcher companySearcher) { PageList<Company> pageList = this.FindList(companySearcher, null, null); return pageList == null ? null : pageList.RecordList; }
/// <summary> /// 根据指定条件查找公司集合 /// </summary> /// <param name="companySearcher">公司查询对象</param> /// <param name="tran">中间事务对象</param> /// <returns>返回一个DataTable对象</returns> public DataTable FindDataTable(CompanySearcher companySearcher, ICTransaction tran) { PageDataTable pageDataTable = this.FindDataTable(companySearcher, null, tran); return pageDataTable == null ? null : pageDataTable.RecordList; }
/// <summary> /// 根据指定条件查找公司分页集合 /// </summary> /// <param name="companySearcher">公司查询对象</param> /// <param name="pager">分页对象</param> /// <returns>返回查找到的分页集合,包括按条件可查询到的所有记录数和当前分页的DataTable数据</returns> public PageDataTable FindDataTable(CompanySearcher companySearcher, Pager pager) { return this.FindDataTable(companySearcher, pager, null); }
/// <summary> /// 根据指定条件删除公司 /// </summary> /// <param name="companySearcher">公司查询对象</param> /// <param name="tran">中间事务对象</param> public void Delete(CompanySearcher companySearcher, ICTransaction tran) { int effectCount = 0; CompanySearcher querySearcher = null; MysqlQueryParser queryParser = new MysqlQueryParser(); StringBuilder query = new StringBuilder(); query.AppendLine(@"DELETE FROM "); query.AppendLine(@" Company "); 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); } try { if (tran != null) { effectCount = MySqlHelper.ExecuteNonQuery((MySqlConnection)tran.Connection, query.ToString(), queryParser.ParamCollection.ToArray()); } else { effectCount = MySqlHelper.ExecuteNonQuery(this.CurrentConnectionString, query.ToString(), queryParser.ParamCollection.ToArray()); } } catch(SqlException sex) { if (sex.ErrorCode == (int)ResultCode.FKError) { throw new ResponseException((int)ResultCode.FKError, "DELETE Company"); } } }
/// <summary> /// 根据指定条件查找公司集合 /// </summary> /// <param name="companySearcher">公司查询对象</param> /// <returns>返回一个DataTable对象</returns> public DataTable FindDataTable(CompanySearcher companySearcher) { PageDataTable pageDataTable = this.FindDataTable(companySearcher, null, null); return pageDataTable == null ? null : pageDataTable.RecordList; }
/// <summary> /// 根据指定条件删除公司 /// </summary> /// <param name="companySearcher">公司查询对象</param> public void Delete(CompanySearcher companySearcher) { this.Delete(companySearcher, null); }
/// <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); }
/// <summary> /// 查询公司数量 /// </summary> /// <param name="companySearcher">公司查询对象</param> /// <param name="tran">中间事务对象</param> /// <returns>返回查询到的数量</returns> public long Count(CompanySearcher companySearcher, ICTransaction tran) { object count = 0; long result = 0; CompanySearcher querySearcher = null; MysqlQueryParser queryParser = new MysqlQueryParser(); StringBuilder query = new StringBuilder(); query.AppendLine(@"SELECT "); query.AppendLine(@" COUNT(C.CompanyId) "); 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 (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; }
/// <summary> /// 查询公司数量 /// </summary> /// <param name="companySearcher">公司查询对象</param> /// <returns>返回查询到的数量</returns> public long Count(CompanySearcher companySearcher) { return this.Count(companySearcher, null); }
/// <summary> /// 根据指定条件查找公司分页集合 /// </summary> /// <param name="companySearcher">公司查询对象</param> /// <param name="pager">分页对象</param> /// <param name="tran">中间事务对象</param> /// <returns>返回查找到的分页集合,包括按条件可查询到的所有记录数和当前分页的DataTable数据</returns> public PageDataTable FindDataTable(CompanySearcher companySearcher, Pager pager, ICTransaction tran) { CompanySearcher querySearcher = null; MssqlQueryParser queryParser = new MssqlQueryParser(); PageDataTable pDataTable = new PageDataTable(); DataSet resultSet = null; StringBuilder query = new StringBuilder(); StringBuilder conditionQuery = new StringBuilder(); StringBuilder sortQuery = new StringBuilder(); if (companySearcher != null) { querySearcher = (CompanySearcher)companySearcher.Clone(); querySearcher.TableName = "C"; } 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(@" C.[CompanyId] "); query.AppendLine(@" ,C.[CompanyCode] "); query.AppendLine(@" ,C.[Name] "); query.AppendLine(@" ,C.[Address] "); query.AppendLine(@" ,C.[ParentCompanyId] "); query.AppendLine(@" ,C.[RVersion] "); query.AppendLine(@" ,C.[Status] "); query.AppendLine(@" ,C.[CreaterId] "); query.AppendLine(@" ,C.[CreateTime] "); query.AppendLine(@" ,C.[UpdatorId] "); query.AppendLine(@" ,C.[UpdateTime] "); query.AppendLine(@"FROM "); query.AppendLine(@" [Company] C "); 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, "Company", 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, "Company", 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(companySearcher, tran); pDataTable.RecordList = resultSet.Tables[0]; } return pDataTable; }