public async Task <IActionResult> SearchAccounts([FromQuery] AccountParams accountParams) { try { var accounts = await accountManager.SearchAccounts(accountParams); if (accounts == null) { return(NotFound("Not Found!")); } PagedList <AccountToReturnDTO> accountToReturns = new PagedList <AccountToReturnDTO>(); foreach (var acc in accounts) { var contacts = acc.Contacts; List <ContactReturnDTO> contactsToReturn = new List <ContactReturnDTO>(); foreach (var c in contacts) { ContactReturnDTO contact = new ContactReturnDTO() { ContactId = c.ContactId, FirstName = c.FirstName, MiddleName = c.MiddleName, LastName = c.LastName, NameTitle = c.NameTitle, SelectedAddressId = c.SelectedAddressId, AccountId = c.AccountId.Value, Notes = c.Notes }; contactsToReturn.Add(contact); } AccountToReturnDTO accountsToReturn = new AccountToReturnDTO { AccountId = acc.AccountId, OrganizationName = acc.OrganizationName, AccountType = acc.AccountType.Name, Description = acc.Description, CreatedAt = acc.CreatedAt, UpdatedAt = acc.UpdatedAt, Contacts = contactsToReturn }; accountToReturns.Add(accountsToReturn); } Response.AddPagination(accountToReturns.CurrentPage, accountToReturns.PageSize, accountToReturns.TotalCount, accountToReturns.TotalPages); return(Ok(accountToReturns)); } catch (Exception) { throw; } }
public async Task <IActionResult> SearchContacts([FromQuery] ContactParams contactParams) { try { var contacts = await contactManager.SearchContacts(contactParams); if (contacts != null) { PagedList <ContactReturnDTO> contactsToReturn = new PagedList <ContactReturnDTO>(); foreach (var c in contacts) { ContactReturnDTO cr = new ContactReturnDTO { AccountId = c.AccountId, ContactId = c.ContactId, FirstName = c.FirstName, LastName = c.LastName, MiddleName = c.MiddleName, NameTitle = c.NameTitle, Notes = c.Notes, SelectedAddressId = c.SelectedAddressId }; contactsToReturn.Add(cr); } Response.AddPagination(contactsToReturn.CurrentPage, contactsToReturn.PageSize, contactsToReturn.TotalCount, contactsToReturn.TotalPages); return(Ok(contactsToReturn)); } return(NotFound()); } catch (Exception) { throw; } }