/// <summary> /// Верннуть все опции продюссеров /// </summary> /// <returns></returns> public ProduserUnionOption GetProduserUnionOptionAgregator() { var agregator = new ProduserUnionOption(); var produsers = _produsersUnion.GetProduserDict.Values; foreach (var prod in produsers) { switch (prod.Option) { case SignalRProduserOption signalROption: agregator.SignalRProduserOptions.Add(signalROption); break; case KafkaProduserOption kafkaOption: agregator.KafkaProduserOptions.Add(kafkaOption); break; case WebClientProduserOption webClientOption: agregator.WebClientProduserOptions.Add(webClientOption); break; //case ProduserType.SerilogLoger: // break; } } return(agregator); }
/// <summary> /// Добавляет созданные на базе опций продюссеры к ProdusersUnion /// </summary> /// <param name="unionOption"></param> public void FillProduserUnionByOptionAgregator(ProduserUnionOption unionOption) { foreach (var option in unionOption.KafkaProduserOptions) { var prod = _kafkaFactory(option); _produsersUnion.AddProduser(option.Key, prod.Value, prod); } foreach (var option in unionOption.SignalRProduserOptions) { var prod = _signalRFactory(option); _produsersUnion.AddProduser(option.Key, prod.Value, prod); } foreach (var option in unionOption.WebClientProduserOptions) { var prod = _webClientFactory(option); _produsersUnion.AddProduser(option.Key, prod.Value, prod); } }
/// <summary> /// Добавляет созданные на базе опций продюссеры к ProdusersUnion /// </summary> /// <param name="unionOption"></param> public ProdusersUnion <TIn> FillProduserUnionByOptionAgregator(ProduserUnionOption unionOption) { var produsersUnion = _produsersUnionFactory(unionOption); foreach (var option in unionOption.KafkaProduserOptions) { var prod = _kafkaFactory(option); produsersUnion.AddProduser(option.Key, prod.Value, prod); } foreach (var option in unionOption.SignalRProduserOptions) { var prod = _signalRFactory(option); produsersUnion.AddProduser(option.Key, prod.Value, prod); } foreach (var option in unionOption.WebClientProduserOptions) { var prod = _webClientFactory(option); produsersUnion.AddProduser(option.Key, prod.Value, prod); } return(produsersUnion); }
public ActionResult Post([FromBody] ProduserUnionOption value) { _produsersFactory.FillProduserUnionByOptionAgregator(value); return(Ok()); }
public ProdusersUnion(ProduserUnionOption unionOption) { _unionOption = unionOption; }