Exemple #1
0
        // GET: LandRecord
        public ActionResult Index(
            string code     = null, string ELName   = null,
            double?minScore = null, double?maxScore = null,
            int page        = 1, int rows = 20)
        {
            var parameter = new LandRecordViewParameter
            {
                Code     = code,
                ELName   = ELName,
                MinScore = minScore,
                MaxScore = maxScore,
                Page     = new PageParameter(page, rows)
            };

            try
            {
                var list = Core.LandRecordViewManager.Search(parameter);
                ViewBag.List      = list;
                ViewBag.Parameter = parameter;
            }
            catch (Exception ex)
            {
                throw new ArgumentException(ex.ToString());
            }

            return(View());
        }
        /// <summary>
        /// 作用:查询
        /// 作者:汪建龙
        /// 编写时间:2017年3月19日15:34:38
        /// </summary>
        /// <param name="parameter"></param>
        /// <returns></returns>
        public List <LandRecordView> Search(LandRecordViewParameter parameter)
        {
            var query = Db.LandRecordViews.AsQueryable();

            if (parameter.ELID.HasValue)
            {
                query = query.Where(e => e.ELID == parameter.ELID.Value);
            }
            if (parameter.SystemData.HasValue)
            {
                query = query.Where(e => e.SystemData == parameter.SystemData.Value);
            }
            if (parameter.State.HasValue)
            {
                query = query.Where(e => e.State == parameter.State.Value);
            }
            if (!string.IsNullOrEmpty(parameter.Code))
            {
                query = query.Where(e => e.Code.ToLower().Contains(parameter.Code.ToLower()));
            }
            if (!string.IsNullOrEmpty(parameter.ELName))
            {
                query = query.Where(e => e.ELName.ToLower().Contains(parameter.ELName.ToLower()));
            }
            if (parameter.MinScore.HasValue)
            {
                query = query.Where(e => e.Score >= parameter.MinScore.Value);
            }

            if (parameter.MaxScore.HasValue)
            {
                query = query.Where(e => e.Score <= parameter.MaxScore.Value);
            }

            query = query.OrderByDescending(e => e.CreateTime).SetPage(parameter.Page);
            return(query.ToList());
        }