コード例 #1
0
ファイル: QRCodeService.cs プロジェクト: dayunxiang/PjFlood
 public BsTableDataSource <VillageTransferPersonViewModel> Get(QRVillageTransferPerson request)
 {
     return(QRCodeManager.QRVillageTransferPerson(request));
 }
コード例 #2
0
        public BsTableDataSource <VillageTransferPersonViewModel> QRVillageTransferPerson(QRVillageTransferPerson request)
        {
            using (var db = DbFactory.Open())
            {
                if (string.IsNullOrEmpty(request.adcd))
                {
                    throw new Exception("参数异常!");
                }
                var _year   = request.year == null ? DateTime.Now.Year : request.year;
                var builder = db.From <ADCDInfo>();
                builder.LeftJoin <ADCDInfo, VillageTransferPerson>((x, y) => x.adcd == y.adcd);
                builder.LeftJoin <VillageTransferPerson, DangerZone>((x, y) => x.DangerZoneType == y.DangerZoneName);
                if (!string.IsNullOrEmpty(request.adcd))
                {
                    builder.And(x => x.adcd == request.adcd);
                }
                builder.And <VillageTransferPerson>(y => y.Year == _year);
                builder.Select("VillageTransferPerson.*,ADCDInfo.adnm,DangerZone.Id as DId");
                var count = db.Count(builder);

                if (!string.IsNullOrEmpty(request.Sort) && !string.IsNullOrEmpty(request.Order) && request.Order == "asc")
                {
                    builder.OrderBy(x => request.Sort);
                }
                else if (!string.IsNullOrEmpty(request.Sort) && !string.IsNullOrEmpty(request.Order) && request.Order == "desc")
                {
                    builder.OrderByDescending(x => request.Sort);
                }
                else
                {
                    builder.OrderBy(x => x.adcd);
                }

                var PageSize  = request.PageSize == 0 ? 15 : request.PageSize;
                var PageIndex = request.PageIndex == 0 ? 0 : request.PageIndex * PageSize;
                builder.Limit(PageIndex, PageSize);
                var list = db.Select <VillageTransferPersonViewModel>(builder);

                return(new BsTableDataSource <VillageTransferPersonViewModel>()
                {
                    rows = list, total = count
                });
            }
        }