public async Task <IReadOnlyList <TDeal> > FindAsync <TDeal>(IDealFilter filter = null) where TDeal : Deal, new() { filter ??= FilterDeals.All; var properties = _typeManager.GetCustomProperties <TDeal>(TypeManager.AllProperties).Select(p => new Property(p.FieldName)).ToArray(); var matchingDeals = await filter.GetDeals(_client, properties); return(matchingDeals.Select(_typeManager.ConvertTo <TDeal>).ToArray()); }
public static Task <IReadOnlyList <Deal> > FindAsync(this IHubSpotDealConnector connector, IDealFilter filter) => connector.FindAsync <Deal>(filter);