示例#1
0
        /// <summary>
        /// Tìm kiếm danh sách DC
        /// </summary>
        /// <param name="param"></param>
        /// <returns></returns>
        public async Task <SmartTableResult <DistrictItem> > Search(SmartTableParam param)
        {
            var query = _districtRepository.Query()
                        .Include(d => d.City)
                        .AsNoTracking();

            if (param.Search.PredicateObject != null)
            {
                dynamic search = param.Search.PredicateObject;
                if (search.Keyword != null)
                {
                    string keyword = search.Keyword;
                    keyword = keyword.Trim().ToLower();
                    query   = query.Where(x => x.Name.ToLower().Contains(keyword) ||
                                          x.UnsignName.Contains(keyword) ||
                                          x.Code.Contains(keyword) ||
                                          x.City.Name.ToLower().Contains(keyword) ||
                                          x.City.UnsignName.Contains(keyword));
                }
                if (search.CreateStart != null)
                {
                    DateTime createStart = DateTime.Parse(search.CreateStart.ToString());
                    DateTime startOfDay  = createStart.StartOfDay();
                    query = query.Where(x => x.CreatedTime >= startOfDay);
                }

                if (search.CreateEnd != null)
                {
                    DateTime createEnd = DateTime.Parse(search.CreateEnd.ToString());
                    DateTime endOfDay  = createEnd.EndOfDay();
                    query = query.Where(x => x.CreatedTime <= endOfDay);
                }
                if (search.Realm != 0 && search.Realm != null)
                {
                    CityRealm realm = search.Realm;
                    query = query.Where(x => x.CityRealm == realm);
                }

                if (search.Id > 0 && search.Id != null)
                {
                    int id = search.Id;
                    query = query.Where(x => x.Id == id);
                }
            }
            param.Sort = new Sort()
            {
                Predicate = "DisplayOrder", Reverse = false
            };
            var gridData = query.ToSmartTableResult(param, x => x.ToItem());

            return(gridData);
        }
示例#2
0
        /// <summary>
        /// Tìm kiếm danh sách DC
        /// </summary>
        /// <param name="param"></param>
        /// <returns></returns>
        public async Task <SmartTableResult <WareHouseItem> > Search(SmartTableParam param)
        {
            var query = _wareHouseRepository.Query();

            if (param.Search.PredicateObject != null)
            {
                dynamic search = param.Search.PredicateObject;
                if (search.Keyword != null)
                {
                    string keyword = search.Keyword;
                    keyword = keyword.Trim().ToLower();
                    query   = query.Where(x => x.Name.ToLower().Contains(keyword) ||
                                          x.Address.ToLower().Contains(keyword) ||
                                          x.Latitude.ToString().Contains(keyword) ||
                                          x.Longtitude.ToString().Contains(keyword) ||
                                          x.PhoneNumber.Contains(keyword) ||
                                          x.ContactName.ToLower().Contains(keyword));
                }
                if (search.CreateStart != null)
                {
                    DateTime createStart = DateTime.Parse(search.CreateStart.ToString());
                    DateTime startOfDay  = createStart.StartOfDay();
                    query = query.Where(x => x.CreatedTime >= startOfDay);
                }

                if (search.CreateEnd != null)
                {
                    DateTime createEnd = DateTime.Parse(search.CreateEnd.ToString());
                    DateTime endOfDay  = createEnd.EndOfDay();
                    query = query.Where(x => x.CreatedTime <= endOfDay);
                }

                if (search.Realm != 0 && search.Realm != null)
                {
                    CityRealm realm = search.Realm;
                    query = query.Where(x => x.Ward.CityRealm == realm);
                }
            }
            param.Sort = new Sort()
            {
                Predicate = "DisplayOrder", Reverse = false
            };
            var gridData = query.ToSmartTableResult(param, x => x.ToItem());

            return(gridData);
        }