/// <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); }
/// <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); }