Exemplo n.º 1
0
        /// <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);
        }
Exemplo n.º 2
0
        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);
        }