Example #1
0
        /// <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;
        }
Example #2
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];
 }
Example #3
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;
 }
Example #4
0
 /// <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);
 }
Example #5
0
        /// <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;
        }
Example #6
0
 /// <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;
 }
Example #7
0
 /// <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;
 }
Example #8
0
 /// <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);
 }
Example #9
0
        /// <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");
                }
            }
        }
Example #10
0
 /// <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;
 }
Example #11
0
 /// <summary>
 /// 根据指定条件删除公司
 /// </summary>
 /// <param name="companySearcher">公司查询对象</param>
 public void Delete(CompanySearcher companySearcher)
 {
     this.Delete(companySearcher, null);
 }
Example #12
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);
 }
Example #13
0
        /// <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;
        }
Example #14
0
 /// <summary>
 /// 查询公司数量
 /// </summary>
 /// <param name="companySearcher">公司查询对象</param>
 /// <returns>返回查询到的数量</returns>
 public long Count(CompanySearcher companySearcher)
 {
     return this.Count(companySearcher, null);
 }
Example #15
0
        /// <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;
        }