Ejemplo n.º 1
0
        /// <summary>
        /// 根据页数获取抓拍记录
        /// </summary>
        /// <param name="page"></param>
        /// <returns></returns>
        private List <MyCmpFaceLogWidthImgModel> GetCmpFaceLogByPage(int page)
        {
            int        curpage    = 0;
            int        index      = 0;
            List <int> pageSplit  = new List <int>();
            var        queryCount = thirft.QueryCmpRecordTotalCountH(cORViewModel.CompOfRecordsValueObj);

            if (queryCount.Count <= 0)
            {
                return(null);
            }
            cORViewModel.CompOfRecordsValueObj.MaxDataCount = queryCount[0].Count;
            for (int no = queryCount[0].Dayarr.Count - 1; no >= 0; no--)
            {
                var dayary = queryCount[0].Dayarr[no];
                curpage += dayary.Count % cORViewModel.CompOfRecordsValueObj.PageSize != 0 ? dayary.Count / cORViewModel.CompOfRecordsValueObj.PageSize + 1 : dayary.Count / cORViewModel.CompOfRecordsValueObj.PageSize;
                pageSplit.Add(curpage);
            }
            cORViewModel.MaxPage = curpage;
            foreach (var dayPage in pageSplit)
            {
                if (page <= dayPage)
                {
                    index         = pageSplit.IndexOf(dayPage);
                    exportCurrDay = queryCount[0].Dayarr[queryCount[0].Dayarr.Count - 1 - index].Daystr;
                    DateTime dt1     = Convert.ToDateTime(queryCount[0].Dayarr[queryCount[0].Dayarr.Count - 1 - index].Daystr.Insert(6, "/").Insert(4, "/"));
                    TimeSpan dt1Span = new TimeSpan(dt1.Ticks);
                    DateTime dt2     = new DateTime(1970, 1, 1);
                    TimeSpan dt2Span = new TimeSpan(dt2.Ticks);
                    long     longdtPkCompRecordStarTime = Convert.ToInt64(dt1Span.TotalSeconds - dt2Span.TotalSeconds);
                    if (longdtPkCompRecordStarTime > cORViewModel.CompOfRecordsValueObj.StartDayValue)
                    {
                        cORViewModel.CompOfRecordsValueObj.StartDayValue = longdtPkCompRecordStarTime;
                    }
                    if (page != cORViewModel.MaxPage)
                    {
                        long longdtPkCompRecordEndTime = Convert.ToInt64(dt1Span.TotalSeconds - dt2Span.TotalSeconds) + 24 * 60 * 60;
                        var  todayEndtime = Convert.ToInt64(new TimeSpan(dt1.AddDays(1).Ticks).TotalSeconds - dt2Span.TotalSeconds);
                        if (longdtPkCompRecordEndTime > todayEndtime)
                        {
                            longdtPkCompRecordEndTime = todayEndtime;
                        }
                        cORViewModel.CompOfRecordsValueObj.EndDayValue = longdtPkCompRecordEndTime;
                    }
                    cORViewModel.CompOfRecordsValueObj.MaxDataCount = queryCount[0].Dayarr[queryCount[0].Dayarr.Count - 1 - index].Count;
                    break;
                }
            }
            if (page > 1)
            {
                int pageTem = 0;
                if (index == 0)
                {
                    pageTem = 0;
                }
                else
                {
                    pageTem = pageSplit[index - 1];
                }
                cORViewModel.CompOfRecordsValueObj.PageStartRow = cORViewModel.CompOfRecordsValueObj.MaxDataCount - ((page - pageTem) * cORViewModel.CompOfRecordsValueObj.PageSize);
                if (cORViewModel.CompOfRecordsValueObj.PageStartRow < 0)
                {
                    cORViewModel.CompOfRecordsValueObj.PageStartRow = 0;
                }
            }
            else
            {
                cORViewModel.CompOfRecordsValueObj.PageStartRow = cORViewModel.CompOfRecordsValueObj.MaxDataCount - (cORViewModel.CompOfRecordsValueObj.PageSize);
                if (cORViewModel.CompOfRecordsValueObj.PageStartRow < 0)
                {
                    cORViewModel.CompOfRecordsValueObj.PageStartRow = 0;
                }
            }
            return(thirft.QueryCmpLogOld(cORViewModel.CompOfRecordsValueObj));
        }