示例#1
0
 public BsTableDataSource <VillageViewModel> GET(NoVerifyGetList request)
 {
     return(NoVerifyVillageWorkingGroupManage.GetList(request));
 }
        public BsTableDataSource <VillageViewModel> GetList(NoVerifyGetList request)
        {
            try
            {
                using (var db = DbFactory.Open())
                {
                    //if (string.IsNullOrEmpty(adcd))
                    //{ throw new Exception("请重新登录"); }
                    //取镇下面的所有行政村
                    var builder = db.From <ADCDInfo>();
                    builder.LeftJoin <ADCDInfo, VillageWorkingGroup>((x, y) => x.adcd == y.VillageADCD);
                    if (adcd.Length == 15 && adcd.IndexOf("000000") > 0)//登陆的是乡镇用户
                    {
                        builder.Where <ADCDInfo>(x => x.adcd.StartsWith(adcd.Substring(0, 9)) && x.adcd != adcd.ToString());
                    }
                    else if (adcd.Length == 6 && adcd.IndexOf("00") < 0)//登陆的是县级用户
                    {
                        builder.Where <ADCDInfo>(x => x.adcd.StartsWith(adcd.Substring(0, 6)));
                    }

                    else
                    {
                        throw new Exception("登陆用户的所属行政区划编码不正确");
                    }
                    if (!string.IsNullOrEmpty(request.key))
                    {
                        builder.Where(w => w.adnm.Contains(request.key));
                    }
                    builder.SelectDistinct(w => new { w.adcd, w.adnm });

                    //类型0/1 未上传/已上传
                    var _year = null != request.year && !string.IsNullOrEmpty(request.year.ToString()) ? request.year : System.DateTime.Now.Year;
                    if (null != request.status && request.status.Value == 0)
                    {
                        builder.Where <VillageWorkingGroup>(y => y.VillageADCD == null);
                    }
                    else if (null != request.status && request.status.Value == 1)
                    {
                        builder.Where <VillageWorkingGroup>(y => y.VillageADCD != null && y.Year == _year);
                    }
                    else
                    {
                        throw new Exception("抱歉,参数异常!");
                    }

                    var count = db.Select(builder).Count;

                    if (!string.IsNullOrEmpty(request.Sort) && !string.IsNullOrEmpty(request.Order) && request.Order == "asc")
                    {
                        builder.OrderBy(o => request.Sort);
                    }
                    else if (!string.IsNullOrEmpty(request.Sort) && !string.IsNullOrEmpty(request.Order) && request.Order == "desc")
                    {
                        builder.OrderByDescending(o => request.Sort);
                    }
                    else
                    {
                        builder.OrderBy(o => o.adcd);
                    }
                    if (null != request.status && request.status.Value == 0)
                    {
                        var PageSize  = request.PageSize == 0 ? 15 : request.PageSize;
                        var PageIndex = request.PageIndex == 0 ? 0 : (request.PageIndex - 1) * PageSize;
                        builder.Limit(PageIndex, PageSize);
                    }
                    var RList = db.Select <VillageViewModel>(builder);

                    return(new BsTableDataSource <VillageViewModel>()
                    {
                        rows = RList, total = count
                    });
                }
            }
            catch (Exception ex)
            {
                throw new Exception("系统异常,请刷新:" + ex.Message);
            }
        }