public async Task <IActionResult> SearchContactsAsync(SearchContactsViewModel searchModel)
        {
            try
            {
                ContactSearchDto searchDto = new ContactSearchDto
                {
                    Name             = searchModel.Name,
                    TelephoneNumber1 = searchModel.TelephoneNumber1,
                    TelephoneNumber2 = searchModel.TelephoneNumber2,
                    Address          = searchModel.Address,
                    Email            = searchModel.Email,
                    Profession       = searchModel.Profession,
                    CompanyId        = searchModel.CompanyId
                };

                var contacts = await contactService.SearchContactsAsync(searchDto);

                ContactsListViewModel viewModel = new ContactsListViewModel()
                {
                    Contacts  = contacts,
                    Companies = await companyService.GetAsync()
                };

                return(View("Views/Contact/ContactsList.cshtml", viewModel));
            }
            catch (Exception ex)
            {
                ErrorViewModel errorModel = new ErrorViewModel();
                errorModel.ErrorMessage = ex.Message.ToString();

                return(View("Views/Shared/Error.cshtml", errorModel));
            }
        }
        public async Task <List <ContactDto> > SearchContactsAsync(ContactSearchDto searchDto)
        {
            var contacts = await dbContext.Contact.Where(c => ((searchDto.Name == null) || ((searchDto.Name != null) && c.Name == searchDto.Name)) &&
                                                         ((searchDto.Address == null) || ((searchDto.Address != null) && c.Address == searchDto.Address)) &&
                                                         ((searchDto.Email == null) || ((searchDto.Email != null) && c.Email == searchDto.Email)) &&
                                                         ((searchDto.Profession == null) || ((searchDto.Profession != null) && c.Profession == searchDto.Profession)) &&
                                                         (((searchDto.CompanyId == null) || (searchDto.CompanyId == 0)) || ((searchDto.CompanyId != null) && c.CompanyId == searchDto.CompanyId)) &&
                                                         ((searchDto.TelephoneNumber2 == null) || ((searchDto.TelephoneNumber2 != null) && c.TelephoneNumber2 == searchDto.TelephoneNumber2)) &&
                                                         ((searchDto.TelephoneNumber1 == null) || ((searchDto.TelephoneNumber1 != null) && c.TelephoneNumber1 == searchDto.TelephoneNumber1)))
                           .Include(c => c.Company)
                           .ToListAsync();

            var contactsDtos = contacts.Select(c => mapper.Map <ContactDto>(c)).ToList();

            return(contactsDtos);
        }
示例#3
0
        public async Task <List <ContactDto> > SearchContactsAsync(ContactSearchDto searchDto)
        {
            var contacts = await litigationPlannerUnitOfWork.ContactRepository.SearchContactsAsync(searchDto);

            return(contacts);
        }