public static bool HasUserSuccessfullyDoneTopic(UserProfile userProfile, TopicHandle topic) { // TODO: Figure out if IsSuccessful condition is required or not. This might potentially lead to infinite // loops since we will keep forcing the user to cover failed topics. Those are already taken care of by // failure counters. return userProfile.History.TopicHistory.Any(thi => thi.Topic.Equals(topic) && (thi.IsSuccessful || thi.IsSkipped)); }
public SubscriptionHandle CreateSubscription(TopicHandle topic, SubscriptionDescription subscriptionDescription, RuleDescription rule, Filter filter) { var topicEntity = Topics.Get(topic); var subscriptionEntity = new SubscriptionEntity(GetNextId(), topicEntity, subscriptionDescription); return(Subscriptions.GetOrAdd(subscriptionEntity)); }
public TopicSubscriptionHandle CreateTopicSubscription(TopicHandle source, TopicHandle destination) { var id = GetNextId(); var sourceEntity = Topics.Get(source); var destinationEntity = Topics.Get(destination); var binding = new TopicSubscriptionEntity(id, sourceEntity, destinationEntity); return(TopicSubscriptions.GetOrAdd(binding)); }
public QueueSubscriptionHandle CreateQueueSubscription(TopicHandle topic, QueueHandle queue) { var id = GetNextId(); var topicEntity = Topics.Get(topic); var queueEntity = Queues.Get(queue); var binding = new QueueSubscriptionEntity(id, topicEntity, queueEntity); return(QueueSubscriptions.GetOrAdd(binding)); }
public ConsumerHandle BindConsumer(TopicHandle topic, QueueHandle queue, string selector) { var id = GetNextId(); var exchangeEntity = Topics.Get(topic); var queueEntity = Queues.Get(queue); var binding = new ConsumerEntity(id, exchangeEntity, queueEntity, selector); return(Consumers.GetOrAdd(binding)); }
public TopicSubscriptionHandle CreateTopicSubscription(TopicHandle source, TopicHandle destination, SubscriptionDescription subscriptionDescription) { var sourceEntity = Topics.Get(source); var destinationEntity = Topics.Get(destination); if (sourceEntity.TopicDescription.EnablePartitioning) { destinationEntity.TopicDescription.EnablePartitioning = true; } var subscriptionEntity = new TopicSubscriptionEntity(GetNextId(), GetNextId(), sourceEntity, destinationEntity, subscriptionDescription); return(TopicSubscriptions.GetOrAdd(subscriptionEntity)); }
public QueueSubscriptionHandle CreateQueueSubscription(TopicHandle exchange, QueueHandle queue, SubscriptionDescription subscriptionDescription) { var topicEntity = Topics.Get(exchange); var queueEntity = Queues.Get(queue); if (topicEntity.TopicDescription.EnablePartitioning) { queueEntity.QueueDescription.EnablePartitioning = true; } var binding = new QueueSubscriptionEntity(GetNextId(), GetNextId(), topicEntity, queueEntity, subscriptionDescription); return(QueueSubscriptions.GetOrAdd(binding)); }
public TopicSubscriptionHandle CreateTopicSubscription(TopicHandle source, TopicHandle destination) { return(_builder.CreateTopicSubscription(source, destination)); }
public QueueSubscriptionHandle CreateQueueSubscription(TopicHandle topic, QueueHandle queue) { return(_builder.CreateQueueSubscription(topic, queue)); }
public QueueSubscriptionHandle CreateQueueSubscription(TopicHandle exchange, QueueHandle queue, SubscriptionDescription subscriptionDescription, RuleDescription rule, Filter filter) { return(_builder.CreateQueueSubscription(exchange, queue, subscriptionDescription, rule, filter)); }
public SubscriptionHandle CreateSubscription(TopicHandle topic, SubscriptionDescription subscriptionDescription, RuleDescription rule, Filter filter) { return(_builder.CreateSubscription(topic, subscriptionDescription, rule, filter)); }
public QueueSubscriptionHandle CreateQueueSubscription(TopicHandle exchange, QueueHandle queue, SubscriptionDescription subscriptionDescription) { return(_builder.CreateQueueSubscription(exchange, queue, subscriptionDescription)); }
public SubscriptionHandle CreateSubscription(TopicHandle topic, SubscriptionDescription subscriptionDescription) { return(_builder.CreateSubscription(topic, subscriptionDescription)); }
public static IMongoQuery GetSentencesByTopic(TopicHandle handle) { return Query.EQ("PrimaryTopic", new BsonDocument("_id", new BsonObjectId(handle.ObjectId.Value))); }
public ConsumerHandle BindConsumer(TopicHandle topic, QueueHandle queue, string selector) { return(_builder.BindConsumer(topic, queue, selector)); }