/// <summary>
        /// 获取财务入款通知分页列表
        /// </summary>
        /// <param name="query"></param>
        /// <returns></returns>
        public Pager<FinanceAccountEntity> GetFinanceInAccountPageList(ContributionInfoQuery query)
        {
            string orderby = "a.CID DESC";
            if (query.OrderStr != null)
            {
                orderby = "a.CID " + query.OrderStr + " | t.CID " + query.OrderStr + "";
            }

            StringBuilder strSql = null;
            strSql = new StringBuilder(@"
                              SELECT
                                    a.CID
                                    ,a.CNumber
                                    ,a.AuthorID as UserID
                                    ,ad.Address
                                    ,ad.InvoiceUnit
                                    ,ad.Tel
                                    ,ad.Mobile
                                    ,ad.ZipCode
                                    ,e.NoticeID as ReadingFeeNotice
                                    ,f.NoticeID as LayoutFeeNotice
                                    ,b.PKID as ReadingFeeID
                                    ,b.Status as ReadingFeeStatus
                                    ,b.Amount as ReadingFee
                                    ,b.Note
                                    ,c.PKID as LayoutFeeID
                                    ,c.Status as LayoutFeeStatus
                                    ,c.Amount as LayoutFee
                                    ,c.Note as PageNote
                                    ,a.Title
                                    ,dbo.fn_GetContributionCurrentEditor(a.JournalID,a.CID) as EditAuthorID
                                    ,dd.CAuthorID as FirstAuthorID
                                    ,dd.AuthorName as FirstAuthorName
                                    ,d.CAuthorID as CommunicationAuthorID
                                    ,d.AuthorName as CommunicationAuthorName
                                    ,a.AddDate
                                    ,a.Flag
                              FROM dbo.ContributionInfo a with(nolock)
                              LEFT JOIN  (select distinct (AuthorID),JournalID, Address,InvoiceUnit,Tel,Mobile,ZipCode  from  dbo.AuthorDetail  ) as  ad  ON a.AuthorID=ad.AuthorID AND a.JournalID=ad.JournalID
                              LEFT JOIN dbo.FinanceContribute b  ON a.JournalID=b.JournalID and a.CID=b.CID and b.FeeType=1
                              LEFT JOIN dbo.FinanceContribute c  ON a.JournalID=c.JournalID and a.CID=c.CID and c.FeeType=2
                              INNER JOIN dbo.ContributionAuthor d  ON a.JournalID=d.JouranalID and a.CID=d.CID and d.IsCommunication=1
                              INNER JOIN dbo.ContributionAuthor dd  ON a.JournalID=dd.JouranalID and a.CID=dd.CID and dd.IsFirst=1
                              LEFT JOIN dbo.PayNotice e  ON a.JournalID=e.JournalID and a.CID=e.CID and e.PayType=1
                              LEFT JOIN dbo.PayNotice f  ON a.JournalID=f.JournalID and a.CID=f.CID and f.PayType=2
                              WHERE a.JournalID=@JournalID AND (a.Status<>-999 or a.Status=0 ) ");

            int recordCount = 0;
            List<SqlParameter> listParameters = new List<SqlParameter>();
            SqlParameter pJournalID = new SqlParameter("@JournalID", SqlDbType.BigInt);
            pJournalID.Value = query.JournalID;
            listParameters.Add(pJournalID);
            if (query.AuthorID != null)
            {
                SqlParameter pAuthorID = new SqlParameter("@AuthorID", SqlDbType.BigInt);
                pAuthorID.Value = query.AuthorID.Value;
                listParameters.Add(pAuthorID);
                strSql.Append(" AND a.AuthorID=@AuthorID");
            }

            if (!string.IsNullOrWhiteSpace(query.CNumber))
            {
                strSql.Append(" AND a.CNumber LIKE '%" + query.CNumber + "%'");
            }
            if (query.SubjectCat != null)
            {
                strSql.Append(" AND  a.SubjectCat LIKE '%" + query.SubjectCat + "%'");
            }
            query.Title = SecurityUtils.SafeSqlString(query.Title);

            if (!string.IsNullOrWhiteSpace(query.Title))
            {
                strSql.Append(" AND a.Title LIKE '%" + query.Title + "%'");
            }
            query.Keyword = SecurityUtils.SafeSqlString(query.Keyword);
            if (!string.IsNullOrWhiteSpace(query.Keyword))
            {
                strSql.Append(" AND a.Keywords LIKE '%" + query.Keyword + "%'");
            }
            if (!string.IsNullOrWhiteSpace(query.Flag))
            {
                SqlParameter pFlag = new SqlParameter("@Flag", SqlDbType.VarChar, 20);
                pFlag.Value = SecurityUtils.SafeSqlString(query.Flag);
                listParameters.Add(pFlag);
                strSql.Append(" AND a.Flag=@Flag");
            }
            // 第一作者
            if (!string.IsNullOrWhiteSpace(query.FirstAuthor))
            {
                SqlParameter PFirst = new SqlParameter("@AuthorName", SqlDbType.VarChar, 50);
                PFirst.Value = SecurityUtils.SafeSqlString(query.FirstAuthor);
                listParameters.Add(PFirst);
                strSql.Append(" AND dd.AuthorName = @AuthorName");
            }
            // 通信作者
            if (!string.IsNullOrWhiteSpace(query.CommunicationAuthor))
            {
                SqlParameter PCommunication = new SqlParameter("@AuthorName", SqlDbType.VarChar, 50);
                PCommunication.Value = SecurityUtils.SafeSqlString(query.CommunicationAuthor);
                listParameters.Add(PCommunication);
                strSql.Append(" AND d.AuthorName = @AuthorName");
            }
            // 投稿日期
            if (query.StartDate != null)
            {
                strSql.Append(" AND a.AddDate>='").Append(query.StartDate.Value.Date).Append("'");
            }
            if (query.EndDate != null)
            {
                strSql.Append(" AND a.AddDate<'").Append(query.EndDate.Value.AddDays(1).Date).Append("'");
            }

            // 录用年期
            if (query.Year != null)
            {
                strSql.Append(" AND a.Year='").Append(query.Year).Append("'");
            }
            if (query.Issue != null)
            {
                strSql.Append(" AND a.Issue='").Append(query.Issue).Append("'");
            }

            DataSet ds = new DataSet();
            if (query.IsReport)
            {
                DbCommand cmd = db.GetSqlStringCommand(strSql.ToString());
                foreach (SqlParameter para in listParameters)
                {
                    db.AddInParameter(cmd, para.ParameterName, para.DbType, para.Value);
                }
                ds = db.ExecuteDataSet(cmd);
            }
            else
            {
                ds = db.PageingQuery(query.CurrentPage, query.PageSize, strSql.ToString(), orderby, listParameters.ToArray(), ref recordCount);
            }
            Pager<FinanceAccountEntity> pager = new Pager<FinanceAccountEntity>();
            if (ds != null && ds.Tables.Count > 0)
            {
                List<FinanceAccountEntity> list = new List<FinanceAccountEntity>();
                if (ds != null)
                {
                    FinanceAccountEntity model = null;
                    foreach (DataRow dr in ds.Tables[0].Rows)
                    {
                        model = new FinanceAccountEntity();
                        model.CID = dr.GetDataRowValue<Int64>("CID");
                        model.CNumber = dr.GetDataRowValue<String>("CNumber");
                        model.UserID = dr.GetDataRowValue<Int64>("UserID");
                        model.Address = dr.GetDataRowValue<String>("Address");
                        model.Tel = dr.GetDataRowValue<String>("Tel");
                        model.Mobile = dr.GetDataRowValue<String>("Mobile");
                        model.ZipCode = dr.GetDataRowValue<String>("ZipCode");
                        model.InvoiceUnit = dr.GetDataRowValue<String>("InvoiceUnit");
                        model.ReadingFeeNotice = dr.GetDataRowValue<Int64>("ReadingFeeNotice");
                        model.ReadingFeeNoticeStatus = dr.GetDataRowValue<Int64>("ReadingFeeNotice") == 0 ? "未通知" : "已通知";
                        model.LayoutFeeNoticeStatus = dr.GetDataRowValue<Int64>("LayoutFeeNotice") == 0 ? "未通知" : "已通知";
                        model.LayoutFeeNotice = dr.GetDataRowValue<Int64>("LayoutFeeNotice");
                        model.ReadingFeeID = dr.GetDataRowValue<Int64>("ReadingFeeID");
                        model.ReadingFeeStatus = dr.GetDataRowValue<Byte?>("ReadingFeeStatus");
                        model.ReadingFee = dr.GetDataRowValue<Decimal>("ReadingFee");
                        model.Note = dr.GetDataRowValue<String>("Note");
                        model.LayoutFeeID = dr.GetDataRowValue<Int64>("LayoutFeeID");
                        model.LayoutFeeStatus = dr.GetDataRowValue<Byte?>("LayoutFeeStatus");
                        model.LayoutFee = dr.GetDataRowValue<Decimal>("LayoutFee");
                        model.PageNote = dr.GetDataRowValue<String>("PageNote");
                        model.Title = dr.GetDataRowValue<String>("Title");
                        model.EditAuthorID = dr.GetDataRowValue<Int64>("EditAuthorID");
                        model.FirstAuthorID = dr.GetDataRowValue<Int64>("FirstAuthorID");
                        model.AuthorID = dr.GetDataRowValue<Int64>("UserID");
                        model.FirstAuthor = dr.GetDataRowValue<String>("FirstAuthorName");
                        model.CommunicationAuthorID = dr.GetDataRowValue<Int64>("CommunicationAuthorID");
                        model.CommunicationAuthor = dr.GetDataRowValue<String>("CommunicationAuthorName");
                        model.AddDate = dr.GetDataRowValue<DateTime>("AddDate");
                        model.Flag = dr.GetDataRowValue<String>("Flag");
                        list.Add(model);
                    }
                }
                pager.ItemList = list;
            }
            pager.CurrentPage = query.CurrentPage;
            pager.PageSize = query.PageSize;
            pager.TotalRecords = recordCount;
            return pager;
        }
        /// <summary>
        /// 获取财务出款通知分页列表
        /// </summary>
        /// <param name="query"></param>
        /// <returns></returns>
        public Pager<FinanceAccountEntity> GetFinanceOutAccountPageList(ContributionInfoQuery query)
        {
            StringBuilder strSql = new StringBuilder(@"
                              SELECT
                                    a.CID
                                    ,a.CNumber
                                    ,a.AuthorID as UserID
                                    ,ad.Address
                                    ,ad.InvoiceUnit
                                    ,ad.Tel
                                    ,ad.Mobile
                                    ,b.PKID as ReadingFeeID
                                    ,b.Status as ReadingFeeStatus
                                    ,b.Amount as ReadingFee
                                    ,a.Title
                                    ,d.CAuthorID as AuthorID
                                    ,d.AuthorName
                                    ,d.WorkUnit
                                    ,a.AddDate
                                    ,a.Year
                                    ,a.Issue
                              FROM dbo.ContributionInfo a with(nolock)
                              LEFT JOIN  (select distinct (AuthorID),JournalID, Address,InvoiceUnit,Tel,Mobile  from  dbo.AuthorDetail  ) as  ad  ON a.AuthorID=ad.AuthorID AND a.JournalID=ad.JournalID
                              LEFT JOIN dbo.FinanceContribute b  ON a.JournalID=b.JournalID and a.CID=b.CID and b.FeeType=2
                              INNER JOIN dbo.ContributionAuthor d  ON a.JournalID=d.JouranalID and a.CID=d.CID and d.IsCommunication=1
                              WHERE a.JournalID=@JournalID AND (a.Status<>-999 or a.Status=0 ) AND a.Year>0 AND a.Issue>0  ");
            int recordCount = 0;
            List<SqlParameter> listParameters = new List<SqlParameter>();
            SqlParameter pJournalID = new SqlParameter("@JournalID", SqlDbType.BigInt);
            pJournalID.Value = query.JournalID;
            listParameters.Add(pJournalID);

            if (!string.IsNullOrWhiteSpace(query.CNumber))
            {
                strSql.Append(" AND a.CNumber LIKE '%" + query.CNumber + "%'");
            }

            query.Title = SecurityUtils.SafeSqlString(query.Title);

            if (!string.IsNullOrWhiteSpace(query.Title))
            {
                strSql.Append(" AND a.Title LIKE '%" + query.Title + "%'");
            }

            if (query.Year > 0)
            {
                strSql.Append(" AND a.Year=" + query.Year);
            }

            if (query.Issue > 0)
            {
                strSql.Append(" AND a.Issue=" + query.Issue);
            }

            // 投稿日期
            if (query.StartDate != null)
            {
                strSql.Append(" AND a.AddDate>='").Append(query.StartDate.Value.Date).Append("'");
            }
            if (query.EndDate != null)
            {
                strSql.Append(" AND a.AddDate<'").Append(query.EndDate.Value.AddDays(1).Date).Append("'");
            }
            DataSet ds = new DataSet();
            if (query.IsReport)
            {
                DbCommand cmd = db.GetSqlStringCommand(strSql.ToString());
                foreach (SqlParameter para in listParameters)
                {
                    db.AddInParameter(cmd, para.ParameterName, para.DbType, para.Value);
                }
                ds = db.ExecuteDataSet(cmd);
            }
            else
            {
                ds = db.PageingQuery(query.CurrentPage, query.PageSize, strSql.ToString(), "a.CNumber DESC", listParameters.ToArray(), ref recordCount);
            }
            Pager<FinanceAccountEntity> pager = new Pager<FinanceAccountEntity>();
            if (ds != null && ds.Tables.Count > 0)
            {
                List<FinanceAccountEntity> list = new List<FinanceAccountEntity>();
                if (ds != null)
                {
                    FinanceAccountEntity model = null;
                    foreach (DataRow dr in ds.Tables[0].Rows)
                    {
                        model = new FinanceAccountEntity();
                        model.CID = dr.GetDataRowValue<Int64>("CID");
                        model.CNumber = dr.GetDataRowValue<String>("CNumber");
                        model.UserID = dr.GetDataRowValue<Int64>("UserID");
                        model.Address = dr.GetDataRowValue<String>("Address");
                        model.Tel = dr.GetDataRowValue<String>("Tel");
                        model.Mobile = dr.GetDataRowValue<String>("Mobile");
                        model.InvoiceUnit = dr.GetDataRowValue<String>("InvoiceUnit");
                        model.ReadingFeeID = dr.GetDataRowValue<Int64>("ReadingFeeID");
                        model.ReadingFeeStatus = dr.GetDataRowValue<Byte?>("ReadingFeeStatus");
                        model.LayoutFee = dr.GetDataRowValue<Decimal>("ReadingFee");
                        model.Title = dr.GetDataRowValue<String>("Title");
                        model.AuthorID = dr.GetDataRowValue<Int64>("AuthorID");
                        model.FirstAuthor = dr.GetDataRowValue<String>("AuthorName");
                        model.CommunicationAuthor = dr.GetDataRowValue<String>("AuthorName");
                        model.AddDate = dr.GetDataRowValue<DateTime>("AddDate");
                        model.Year = dr.IsNull("Year") ? 0 : TypeParse.ToInt(dr["Year"]);
                        model.Issue = dr.IsNull("Issue") ? 0 : TypeParse.ToInt(dr["Issue"]);
                        list.Add(model);
                    }
                }
                pager.ItemList = list;
            }
            pager.CurrentPage = query.CurrentPage;
            pager.PageSize = query.PageSize;
            pager.TotalRecords = recordCount;
            return pager;
        }
        /// <summary>
        /// /// 获取稿费统计一览表分页数据
        /// </summary>
        /// <param name="query"></param>
        /// <returns></returns>
        public Pager<FinanceAccountEntity> GetFinanceGaoFeePageList(ContributionInfoQuery query)
        {
            string tableSql = @"SELECT {0}
                            FROM dbo.ContributionInfo a with(nolock)
                            LEFT JOIN  (select distinct (AuthorID),JournalID, WorkUnit,Address,InvoiceUnit,Tel,Mobile,ZipCode  from  dbo.AuthorDetail  ) as  ad  ON a.AuthorID=ad.AuthorID AND a.JournalID=ad.JournalID
                            LEFT JOIN dbo.FinanceContribute bb  ON a.JournalID=bb.JournalID and a.CID=bb.CID and bb.FeeType=2
                            LEFT JOIN dbo.FinanceContribute b  ON a.JournalID=b.JournalID and a.CID=b.CID and b.FeeType=4
                            INNER JOIN dbo.ContributionAuthor d  ON a.JournalID=d.JouranalID and a.CID=d.CID and d.IsCommunication=1
                            INNER JOIN dbo.ContributionAuthor dd  ON a.JournalID=dd.JouranalID and a.CID=dd.CID and dd.IsFirst=1
                            WHERE " + GetFinanceGaoFeeFilter(query);
            string strSql = string.Format(tableSql, @"a.CID
                                                     ,a.CNumber
                                                     ,a.AuthorID as UserID
                                                     ,ad.WorkUnit
                                                     ,ad.Address
                                                     ,ad.InvoiceUnit
                                                     ,ad.Tel
                                                     ,ad.Mobile
                                                     ,ad.ZipCode
                                                     ,b.PKID as ArticleFeeID
                                                     ,b.Status as ArticleFeeStatus
                                                     ,b.Amount as ArticleFee
                                                     ,b.ArticleType
                                                     ,b.ArticleCount
                                                     ,b.Note as ArticleNote
                                                     ,bb.Amount as PageFee
                                                     ,bb.Note as PageFeeNote
                                                     ,bb.Status as PageFeeStatus
                                                     ,a.Title
                                                     ,dbo.fn_GetContributionCurrentEditor(a.JournalID,a.CID) as EditAuthorID
                                                     ,dd.CAuthorID as FirstAuthorID
                                                     ,dd.AuthorName as FirstAuthorName
                                                     ,d.CAuthorID as CommunicationAuthorID
                                                     ,d.AuthorName as CommunicationAuthorName
                                                     ,a.AddDate
                                                     ,ROW_NUMBER() OVER(ORDER BY a.AddDate desc) AS ROW_ID"), sumStr = string.Empty;
            if (!query.IsReport)
            {
                strSql = string.Format(SQL_Page_Select, strSql, query.StartIndex, query.EndIndex);
                if (query.isPageFeeGet)
                    sumStr = string.Format(tableSql, "RecordCount=COUNT(1),Money=SUM(bb.Amount)");
                else
                    sumStr = string.Format(tableSql, "RecordCount=COUNT(1),Money=SUM(b.Amount)");
            }
            return db.GetPageList<FinanceAccountEntity>(strSql
                , sumStr
                , query.CurrentPage, query.PageSize
                , (dr, pager) =>
                {
                    pager.TotalRecords = TypeParse.ToLong(dr["RecordCount"]);
                    pager.Money = dr.GetDrValue<Decimal>("Money");
                }
                , (dr) =>
                {
                    List<FinanceAccountEntity> list = new List<FinanceAccountEntity>();
                    FinanceAccountEntity model = null;
                    while (dr.Read())
                    {
                        model = new FinanceAccountEntity();
                        model.CID = dr.GetDrValue<Int64>("CID");
                        model.CNumber = dr.GetDrValue<String>("CNumber");
                        model.UserID = dr.GetDrValue<Int64>("UserID");
                        model.WorkUnit = dr.GetDrValue<String>("WorkUnit");
                        model.Address = dr.GetDrValue<String>("Address");
                        model.Tel = dr.GetDrValue<String>("Tel");
                        model.Mobile = dr.GetDrValue<String>("Mobile");
                        model.ZipCode = dr.GetDrValue<String>("ZipCode");
                        model.InvoiceUnit = dr.GetDrValue<String>("InvoiceUnit");
                        model.ArticlePaymentFee = dr.GetDrValue<Decimal>("ArticleFee");
                        model.ArticlePaymentFeeID = dr.GetDrValue<Int64>("ArticleFeeID");
                        model.ArticleType = dr["ArticleType"] == System.DBNull.Value ? "-1" : dr["ArticleType"].ToString();
                        model.ArticleCount = dr["ArticleCount"] == System.DBNull.Value ? (Decimal)0.00 : dr.GetDrValue<Decimal>("ArticleCount");
                        model.ArticlePaymentNote = dr.GetDrValue<String>("ArticleNote");
                        model.ArticlePaymentFeeStatus = dr.GetDrValue<Byte?>("ArticleFeeStatus");

                        model.LayoutFee = dr.GetDrValue<Decimal>("PageFee");
                        model.PageNote = dr.GetDrValue<String>("PageFeeNote");
                        model.LayoutFeeStatus = dr.GetDrValue<Byte?>("PageFeeStatus");

                        model.Title = dr.GetDrValue<String>("Title");
                        model.EditAuthorID = dr.GetDrValue<Int64>("EditAuthorID");
                        model.FirstAuthorID = dr.GetDrValue<Int64>("FirstAuthorID");
                        model.AuthorID = dr.GetDrValue<Int64>("UserID");
                        model.FirstAuthor = dr.GetDrValue<String>("FirstAuthorName");
                        model.CommunicationAuthorID = dr.GetDrValue<Int64>("CommunicationAuthorID");
                        model.CommunicationAuthor = dr.GetDrValue<String>("CommunicationAuthorName");
                        model.AddDate = dr.GetDrValue<DateTime>("AddDate");
                        list.Add(model);
                    }
                    return list;
                });

            //========================================
            //            string orderby = "a.CID DESC";
            //            if (query.OrderStr != null)
            //            {
            //                orderby = "a.CID " + query.OrderStr + " | t.CID " + query.OrderStr + "";
            //            }

            //            StringBuilder strSql = null;
            //            strSql = new StringBuilder(@"
            //                              SELECT
            //                                    a.CID
            //                                    ,a.CNumber
            //                                    ,a.AuthorID as UserID
            //                                    ,ad.Address
            //                                    ,ad.InvoiceUnit
            //                                    ,ad.Tel
            //                                    ,ad.Mobile
            //                                    ,ad.ZipCode
            //                                    ,b.PKID as ArticleFeeID
            //                                    ,b.Status as ArticleFeeStatus
            //                                    ,b.Amount as ArticleFee
            //                                    ,b.ArticleType
            //                                    ,b.ArticleCount
            //                                    ,b.Note as ArticleNote
            //                                    ,a.Title
            //                                    ,dbo.fn_GetContributionCurrentEditor(a.JournalID,a.CID) as EditAuthorID
            //                                    ,dd.CAuthorID as FirstAuthorID
            //                                    ,dd.AuthorName as FirstAuthorName
            //                                    ,d.CAuthorID as CommunicationAuthorID
            //                                    ,d.AuthorName as CommunicationAuthorName
            //                                    ,a.AddDate
            //                                    ,a.Flag
            //                              FROM dbo.ContributionInfo a with(nolock)
            //                              LEFT JOIN  (select distinct (AuthorID),JournalID, Address,InvoiceUnit,Tel,Mobile,ZipCode  from  dbo.AuthorDetail  ) as  ad  ON a.AuthorID=ad.AuthorID AND a.JournalID=ad.JournalID
            //                              LEFT JOIN dbo.FinanceContribute b  ON a.JournalID=b.JournalID and a.CID=b.CID and b.FeeType=4
            //                              INNER JOIN dbo.ContributionAuthor d  ON a.JournalID=d.JouranalID and a.CID=d.CID and d.IsCommunication=1
            //                              INNER JOIN dbo.ContributionAuthor dd  ON a.JournalID=dd.JouranalID and a.CID=dd.CID and dd.IsFirst=1
            //                              WHERE a.JournalID=@JournalID AND (a.Status<>-999 or a.Status=0 ) ");

            //            int recordCount = 0;
            //            List<SqlParameter> listParameters = new List<SqlParameter>();
            //            SqlParameter pJournalID = new SqlParameter("@JournalID", SqlDbType.BigInt);
            //            pJournalID.Value = query.JournalID;
            //            listParameters.Add(pJournalID);

            //            // 录用年期
            //            if (query.Year != null)
            //            {
            //                strSql.Append(" AND a.Year='").Append(query.Year).Append("'");
            //            }
            //            if (query.Issue != null)
            //            {
            //                strSql.Append(" AND a.Issue='").Append(query.Issue).Append("'");
            //            }

            //            DataSet ds = new DataSet();
            //            if (query.IsReport)
            //            {
            //                DbCommand cmd = db.GetSqlStringCommand(strSql.ToString());
            //                foreach (SqlParameter para in listParameters)
            //                {
            //                    db.AddInParameter(cmd, para.ParameterName, para.DbType, para.Value);
            //                }
            //                ds = db.ExecuteDataSet(cmd);
            //            }
            //            else
            //            {
            //                ds = db.PageingQuery(query.CurrentPage, query.PageSize, strSql.ToString(), orderby, listParameters.ToArray(), ref recordCount);
            //            }
            //            Pager<FinanceAccountEntity> pager = new Pager<FinanceAccountEntity>();
            //            if (ds != null && ds.Tables.Count > 0)
            //            {
            //                List<FinanceAccountEntity> list = new List<FinanceAccountEntity>();
            //                if (ds != null)
            //                {
            //                    FinanceAccountEntity model = null;
            //                    foreach (DataRow dr in ds.Tables[0].Rows)
            //                    {
            //                        model = new FinanceAccountEntity();
            //                        model.CID = dr.GetDataRowValue<Int64>("CID");
            //                        model.CNumber = dr.GetDataRowValue<String>("CNumber");
            //                        model.UserID = dr.GetDataRowValue<Int64>("UserID");
            //                        model.Address = dr.GetDataRowValue<String>("Address");
            //                        model.Tel = dr.GetDataRowValue<String>("Tel");
            //                        model.Mobile = dr.GetDataRowValue<String>("Mobile");
            //                        model.ZipCode = dr.GetDataRowValue<String>("ZipCode");
            //                        model.InvoiceUnit = dr.GetDataRowValue<String>("InvoiceUnit");
            //                        model.ArticlePaymentFee = dr.GetDataRowValue<Decimal>("ArticleFee");
            //                        model.ArticlePaymentFeeID = dr.GetDataRowValue<Int64>("ArticleFeeID");
            //                        model.ArticleType = dr["ArticleType"] == System.DBNull.Value ? "-1" : dr["ArticleType"].ToString();
            //                        model.ArticleCount = dr["ArticleCount"] == System.DBNull.Value ? (Decimal)0.00 : dr.GetDataRowValue<Decimal>("ArticleCount");
            //                        model.ArticlePaymentNote = dr.GetDataRowValue<String>("ArticleNote");
            //                        model.ArticlePaymentFeeStatus = dr.GetDataRowValue<Byte?>("ArticleFeeStatus");
            //                        model.Title = dr.GetDataRowValue<String>("Title");
            //                        model.EditAuthorID = dr.GetDataRowValue<Int64>("EditAuthorID");
            //                        model.FirstAuthorID = dr.GetDataRowValue<Int64>("FirstAuthorID");
            //                        model.AuthorID = dr.GetDataRowValue<Int64>("UserID");
            //                        model.FirstAuthor = dr.GetDataRowValue<String>("FirstAuthorName");
            //                        model.CommunicationAuthorID = dr.GetDataRowValue<Int64>("CommunicationAuthorID");
            //                        model.CommunicationAuthor = dr.GetDataRowValue<String>("CommunicationAuthorName");
            //                        model.AddDate = dr.GetDataRowValue<DateTime>("AddDate");
            //                        model.Flag = dr.GetDataRowValue<String>("Flag");
            //                        list.Add(model);
            //                    }
            //                }
            //                pager.ItemList = list;
            //            }
            //            pager.CurrentPage = query.CurrentPage;
            //            pager.PageSize = query.PageSize;
            //            pager.TotalRecords = recordCount;
            //            return pager;
        }