public FirstTextMessageReceiver(ISender sender, IStateManager stateManager, IBucketExtension bucketExtension, IDirectoryExtension directoryExtension) { _sender = sender; _stateManager = stateManager; _bucketExtension = bucketExtension; _directoryExtension = directoryExtension; }
public GreetingsMessageReceiver(ISender sender, IContactExtension contactExtension, IDirectoryExtension directoryExtension, Settings settings) { _sender = sender; _settings = settings; _contactExtension = contactExtension; _directoryExtension = directoryExtension; }
public BuilderMessageReceiver( IFlowManager flowManager, BuilderSettings settings, IContactExtension contactExtension, IDirectoryExtension directoryExtension, ISender sender, IStateManager stateManager, IDocumentSerializer documentSerializer, IEnvelopeSerializer envelopeSerializer, IArtificialIntelligenceExtension artificialIntelligenceExtension, IContextProvider contextProvider, IUserOwnerResolver userOwnerResolver, ILogger logger) : base(contactExtension, directoryExtension, logger) { _flowManager = flowManager; _settings = settings; _sender = sender; _stateManager = stateManager; _documentSerializer = documentSerializer; _envelopeSerializer = envelopeSerializer; _contextProvider = contextProvider; _userOwnerResolver = userOwnerResolver; _artificialIntelligenceExtension = artificialIntelligenceExtension; }
public PlainTextMessageReceiver(IMessagingHubSender sender, IDirectoryExtension directory, Settings settings, IBucketExtension bucket, ISchedulerExtension scheduler, IBroadcastExtension broadcaster) { _settings = settings; _scheduler = scheduler; _bucket = bucket; _directory = directory; _broadcaster = broadcaster; _sender = sender; }
public static async Task <Contact> GetFromContactsOrDirectoryAsync( this IContactExtension contactExtension, IDirectoryExtension directoryExtension, Identity identity, CancellationToken cancellationToken) { if (contactExtension == null) { throw new ArgumentNullException(nameof(contactExtension)); } if (directoryExtension == null) { throw new ArgumentNullException(nameof(directoryExtension)); } if (identity == null) { throw new ArgumentNullException(nameof(identity)); } Contact contact = null; try { // try from the roster. contact = await contactExtension.GetAsync(identity, cancellationToken); } catch (LimeException ex) when( ex.Reason.Code == ReasonCodes.COMMAND_RESOURCE_NOT_FOUND || ex.Reason.Code == ReasonCodes.COMMAND_RESOURCE_NOT_SUPPORTED) { } if (contact == null) { // Try from the directory. var account = await directoryExtension.GetDirectoryAccountAsync(identity, cancellationToken); if (account == null) // Should never occur because the extension should throw the exception itself { throw new LimeException(ReasonCodes.COMMAND_RESOURCE_NOT_FOUND, "The account was not found in the directory"); } contact = new Contact { Identity = identity, Name = account.FullName }; foreach (var property in typeof(ContactDocument).GetProperties(BindingFlags.Public | BindingFlags.Instance)) { var accountValue = property.GetValue(account); property.SetValue(contact, accountValue); } } return(contact); }
public BuilderMessageReceiver( IContactExtension contactExtension, IDirectoryExtension directoryExtension, IFlowManager flowManager, BuilderSettings settings) : base(contactExtension, directoryExtension) { _flowManager = flowManager; _settings = settings; }
public PlainTextMessageReceiver(IMessagingHubSender sender, IContactExtension contacts, ISchedulerExtension scheduler, IDirectoryExtension directory, IBucketExtension bucket) { _sender = sender; //_contacts = contacts; _scheduler = scheduler; _directory = directory; _bucket = bucket; SState = "initialState"; Medicine = string.Empty; }
public TestContactMessageReceiver( IContactExtension contactExtension, IDirectoryExtension directoryExtension, bool cacheLocally = true, TimeSpan cacheExpiration = default) : base(contactExtension, directoryExtension, cacheLocally, cacheExpiration) { ReceivedItems = new List <(Message, Contact)>(); }
/// <summary> /// Initializes a new instance of <see cref="ContactMessageReceiverBase"/> class. /// </summary> /// <param name="contactExtension"></param> /// <param name="directoryExtension"></param> /// <param name="cacheLocally">Indicates if the contact information should be cached locally.</param> /// <param name="cacheExpiration">Defines the local cache expiration, if configured.</param> protected ContactMessageReceiverBase( IContactExtension contactExtension, IDirectoryExtension directoryExtension, bool cacheLocally = true, TimeSpan cacheExpiration = default(TimeSpan)) { _directoryExtension = directoryExtension; _contactExtension = contactExtension; _cacheLocally = cacheLocally; _contactCache = new MemoryCache(nameof(ContactMessageReceiverBase)); _cacheExpiration = cacheExpiration == default(TimeSpan) ? TimeSpan.FromMinutes(30) : cacheExpiration; }
/// <summary> /// Initializes a new instance of <see cref="ContactMessageReceiverBase"/> class. /// </summary> /// <param name="contactExtension"></param> /// <param name="directoryExtension"></param> /// <param name="cacheLocally">Indicates if the contact information should be cached locally.</param> /// <param name="cacheExpiration">Defines the local cache expiration, if configured.</param> protected ContactMessageReceiverBase( IContactExtension contactExtension, IDirectoryExtension directoryExtension, ILogger logger, bool cacheLocally = true, TimeSpan cacheExpiration = default) { _directoryExtension = directoryExtension; _contactExtension = contactExtension; _cacheLocally = cacheLocally; _logger = logger; _cacheExpiration = cacheExpiration == default ? TimeSpan.FromMinutes(30) : cacheExpiration; ContactCache = new MemoryCache(new MemoryCacheOptions()); }