public async Task <IEnumerable <ContactListModel> > Get([FromUri] ContactsPagingModel page)
        {
            if (string.IsNullOrEmpty(page.ContactType))
            {
                page.ContactType = ContactTypes.ALL;
            }

            try
            {
                return(await _contactService.GetContacts(page));
            }
            catch (Exception)
            {
                //  todo: handle error
                return(new List <ContactListModel>());
            }
        }
Esempio n. 2
0
        /// <summary>
        /// Gets the contacts.
        /// </summary>
        /// <param name="page">The page.</param>
        /// <returns></returns>
        public Task <List <ContactListModel> > GetContacts(ContactsPagingModel page)
        {
            var pagedQuery = _context.Contacts.AsQueryable();

            if (!string.IsNullOrEmpty(page.SearchWord))
            {
                pagedQuery = pagedQuery.Where(x => x.Name.Contains(page.SearchWord) || x.Address.AddressLine.Contains(page.SearchWord) || x.Address.Zip.Contains(page.SearchWord));
            }

            if (!ContactTypes.ALL.Equals(page.ContactType, StringComparison.InvariantCultureIgnoreCase))
            {
                pagedQuery = pagedQuery.Where(x => x.ContactType.Equals(page.ContactType, StringComparison.InvariantCultureIgnoreCase));
            }

            //int skip = page.CurrentPage * page.ByPage;
            //pagedQuery = pagedQuery
            //    .OrderBy(x => x.Name)
            //    .Skip(skip)
            //    .Take(page.ByPage);

            return(ToContactList(pagedQuery).ToListAsync());
        }