Example #1
0
        public List <HeritageProject> GetFilterSearchProjectList(HeritageProject filter, int pages)
        {
            var filterBson = new BsonDocument();

            //输入的筛选条件可能是不全的
            //如果简单的使用扩展方法ToBson,或出现筛选字段为null,会没有结果
            //过滤掉所有为null的字段,将其转换为BsonDocument
            foreach (var filedName in typeof(HeritageProject).GetProperties())
            {
                var filedValue = filedName.GetValue(filter);
                if (filedValue != null && filedValue.ToString().Length > 0)
                {
                    filterBson.Add(filedName.Name.ToLower(), new BsonDocument {
                        { "$regex", filedValue.ToString() }, { "$options", "i" }
                    });
                }
            }
            return(GetFilterSearchProjectList(filterBson, pages));
        }
Example #2
0
        public ActionResult <List <HeritageProject> > SearchHeritageProject([FromQuery(Name = "num")] string num
                                                                            , [FromQuery(Name = "title")] string title
                                                                            , [FromQuery(Name = "type")] string type
                                                                            , [FromQuery(Name = "rx_time")] string rx_time
                                                                            , [FromQuery(Name = "cate")] string cate
                                                                            , [FromQuery(Name = "province")] string province
                                                                            , [FromQuery(Name = "unit")] string unit
                                                                            , [FromQuery(Name = "page")] int pages = 1
                                                                            )
        {
            HeritageProject filter = new HeritageProject();

            filter.Num      = num;
            filter.Title    = title;
            filter.Rx_time  = rx_time;
            filter.Cate     = cate;
            filter.Province = province;
            filter.Unit     = unit;
            return(_heritageProjectService.GetFilterSearchProjectList(filter, pages));
        }