public async Task <IReadOnlyList <TCompany> > FindAsync <TCompany>(ICompanyFilter filter = null) where TCompany : Company, new() { if (filter == null) { filter = FilterCompanies.All; } var properties = _typeManager.GetCustomProperties <TCompany>(TypeManager.AllProperties).Select(p => new Property(p.FieldName)).ToArray(); var matchingCompanies = await filter.GetCompanies(_client, properties); return(matchingCompanies.Select(_typeManager.ConvertTo <TCompany>).ToArray()); }
public static Task <IReadOnlyList <Company> > FindAsync(this IHubSpotCompanyConnector connector, ICompanyFilter filter = null) => connector.FindAsync <Company>(filter);