public async Task <IReadOnlyList <TContact> > FindAsync <TContact>(IContactFilter filter = null) where TContact : Contact, new() { filter ??= FilterContacts.All; var properties = _typeManager.GetCustomProperties <TContact>(TypeManager.AllProperties).Select(p => new Property(p.FieldName)).ToArray(); var matchingContacts = await filter.GetContacts(_client, properties); return(matchingContacts.Select(_typeManager.ConvertTo <TContact>).ToArray()); }
public ContactLogic( IContactDatastore datastore, IHttpContextAccessor context, IContactValidator validator, IContactFilter filter) : base(context) { _datastore = datastore; _validator = validator; _filter = filter; }
public void Dispose() { if (Interlocked.Exchange(ref _disposed, DisposedTrue) == DisposedTrue) { return; } BroadPhase = null; ContactList?.Clear(); ContactList = null; ContactFilter = null; ContactListener = null; }
public static Task <IReadOnlyList <Contact> > FindAsync(this IHubSpotContactConnector connector, IContactFilter filter = null) => connector.FindAsync <Contact>(filter);