Ejemplo n.º 1
0
        public async Task <ItemDTO <List <ContactDTO> > > Get([FromBody] ContactSearchDTO contactSearchDTO)
        {
            var result = this._contactService.GetContacts(contactSearchDTO);

            await this._contactHub.SendGetListMessage(result.Item.Count);

            return(result);
        }
Ejemplo n.º 2
0
        public ItemDTO <List <ContactDTO> > GetContacts(ContactSearchDTO contactSearchDTO)
        {
            var result = new ItemDTO <List <ContactDTO> >();

            try
            {
                var contacts = this._contactRepository.GetContacts(contactSearchDTO);
                result.Item = this._contactDTOBuilder.MapContactsToContactDTOList(contacts);
            }
            catch (Exception ex)
            {
                result.NotificationDTO.AddErrorMessage($"Error {ex.Message}");
            }

            return(result);
        }
Ejemplo n.º 3
0
        public List <Contact> GetContacts(ContactSearchDTO contactSearchDTO)
        {
            var query = this._addressBookContext.Contacts
                        .Include(x => x.Telephones)
                        .Where(x => contactSearchDTO.Name == null || x.Name == contactSearchDTO.Name)
                        .Where(x => contactSearchDTO.Address == null || x.Address == contactSearchDTO.Address)
                        .Where(x => contactSearchDTO.BirthDate == null || x.BirthDate == contactSearchDTO.BirthDate)
                        .Where(x => contactSearchDTO.Telephone == null ||
                               x.Telephones.Any(y => y.Number == contactSearchDTO.Telephone))
                        .OrderBy(x => x.Id).AsQueryable();

            if (contactSearchDTO.PagingDTO != null)
            {
                query = query.Skip((contactSearchDTO.PagingDTO.PageNumber - 1) * contactSearchDTO.PagingDTO.PageSize);
                query = query.Take(contactSearchDTO.PagingDTO.PageSize);
            }

            return(query.ToList());
        }