public Task TrackAsync(IEventTrackExtension eventTrackExtension, SmallTalks.Core.Models.Analysis analysis, Func <string, EventTrack> eventTrackFactory, bool fireAndForget = default, CancellationToken cancellationToken = default)
        {
            var trackings = analysis.Matches.Select(m => eventTrackFactory.Invoke(m.SmallTalk));

            var trackingTasks = trackings.Select(t => eventTrackExtension.AddAsync(t.Category.Trim(), t.Action, extras: t.Extras,
                                                                                   contactIdentity: t.Contact?.Identity, fireAndForget: fireAndForget, cancellationToken: cancellationToken));

            return(Task.WhenAll(trackingTasks));
        }
Exemple #2
0
 public PlainTextMessageReceiver(
     IMessagingHubSender sender,
     IEventTrackExtension eventTracker,
     IAttendanceExtension attendanceExtension)
 {
     _sender       = sender;
     _eventTracker = eventTracker;
     _attendance   = attendanceExtension;
 }
 public EventTrackService(IEventTrackExtension eventTrack, ILogger logger)
 {
     _eventTrack = eventTrack;
     _logger     = logger;
 }
 public TrackEventAction(IEventTrackExtension eventTrackExtension)
     : base(nameof(TrackEvent))
 {
     _eventTrackExtension = eventTrackExtension;
 }
 public TrackEventAction(IEventTrackExtension eventTrackExtension)
 {
     _eventTrackExtension = eventTrackExtension;
 }
 public EventTrackMessageReceiver(IMessagingHubSender sender, IEventTrackExtension eventTrackExtension)
 {
     _sender = sender;
     _eventTrackExtension = eventTrackExtension;
 }
 public EventNotificator(
     IEventTrackExtension eventTrack
     )
 {
     _eventTrack = eventTrack;
 }