/// <summary> /// Quick search the user. /// </summary> /// <returns>The search.</returns> /// <param name="inputDto">Input dto.</param> public async Task <List <UserDto> > QuickSearch(QuickSearchInputDto input) { string key = input.Value; int count = input.Count; var list = await Repository.GetAll().Where(t => (t.Name ?? "").Contains(key, System.StringComparison.OrdinalIgnoreCase) || (t.UserName ?? "").Contains(key, System.StringComparison.OrdinalIgnoreCase) || // 因为邮箱中有域名,查询起来体验不好,没用的数据都查出来了 // (t.EmailAddress ?? "").Contains(key, System.StringComparison.OrdinalIgnoreCase) || // (t.FullName ?? "").Contains(key, System.StringComparison.OrdinalIgnoreCase) || // (t.Surname ?? "").Contains(key, System.StringComparison.OrdinalIgnoreCase) || (t.EmployeeNumber ?? "").Contains(key, System.StringComparison.OrdinalIgnoreCase) ).OrderBy(t => t.Name).Take(count).ToListAsync(); List <UserDto> output = ObjectMapper.Map <List <UserDto> >(list); return(output); }
public override async Task <List <CustomerDto> > QuickSearch(QuickSearchInputDto input) { var value = input.Value; var count = input.Count; var query = Repository.GetAll(); query = query.Where(t => (t.Name ?? "").Contains(value) || (t.Code ?? "").Contains(value) || (t.ErpId ?? "").Contains(value) ); query = query.Take(count); query = query.OrderBy(t => t.Name); var list = await Task.FromResult(query.ToList()); var items = ObjectMapper.Map <List <CustomerDto> >(list); return(items); }