public async Task <SubscriptionDescriptionWithRuleDto> CreateSubscriptionWithRuleAsync(string topicName, string subsName, RuleDescription rule) { var subs = await _managementClient .CreateSubscriptionAsync(topicName, subsName); await _managementClient.DeleteRuleAsync(topicName, subsName, RuleDescription.DefaultRuleName); await _managementClient.CreateRuleAsync(topicName, subsName, rule); _logger.LogInformation($"Created Subscription {subsName} with a Rule named {rule.Name} for Topic {topicName}"); var correlationFilter = ((CorrelationFilter)rule.Filter); var ruleDescriptionDto = new RuleDescriptionDto() { Name = rule.Name, Filter = new CorrelationFilterDto() { Label = correlationFilter.Label, ContentType = correlationFilter.ContentType, CorrelationId = correlationFilter.CorrelationId, MessageId = correlationFilter.MessageId, ReplyTo = correlationFilter.ReplyTo, ReplyToSessionId = correlationFilter.ReplyToSessionId, SessionId = correlationFilter.SessionId, To = correlationFilter.To } }; return(new SubscriptionDescriptionWithRuleDto(subs, ruleDescriptionDto)); }
public SubscriptionDescriptionWithRuleDto(SubscriptionDescription subscriptionDescription, RuleDescriptionDto rule) : base(subscriptionDescription) { Rule = rule; }