public async Task <ActionResult> CreateSubscriptionWithLabelRuleAsync(string topicKeyName, string subscriptionKeyName, string ruleName, string labelValueForFilter) { if (ruleName == null || labelValueForFilter == null) { return(BadRequest("ruleName or labelValueForFilter are mandatory parameters. Check that the request contains these params.")); } if (await _serviceBusService.SubscriptionExistAsync(topicKeyName, subscriptionKeyName)) { var subscription = await _serviceBusService.GetSubscriptionAsync(topicKeyName, subscriptionKeyName); return(Ok(subscription)); } var result = await _serviceBusService.CreateSubscriptionWithLabelRuleAsync(topicKeyName, subscriptionKeyName, ruleName, labelValueForFilter); await _topicRepository.AddTopicLogAsync(new TopicLog() { TopicName = topicKeyName, SubscriptionName = subscriptionKeyName, Action = TopicAction.CreateSubscriptionWithRuleBasedOnLabel, Rule = result.Rule }); return(Ok(result)); }