public static void ConfigureInfra(this ITnfBuilder builder) { builder.Repository(config => { config.Entity <PurchaseOrderPoco>(entity => entity.RequestDto <DefaultRequestDto>((e, d) => e.Id == d.Id)); }); }
public static void ConfigureServiceQueueInfraDependency(this ITnfBuilder builder) { Console.WriteLine("$$$ ConfigureServiceQueueInfraDependency..."); var exchangeRouter = GetExchangeRouterConfiguration(); builder.BusClient(busClient => { busClient.AddPublisher( exBuilder: e => exchangeRouter, listener: er => new PublisherListener( exchangeRouter: er, serviceProvider: busClient.ServiceProvider)); } ); }
public static void ConfigureLocalization(this ITnfBuilder builder) { builder.Localization(localization => { // Incluindo o source de localização localization.AddJsonEmbeddedLocalizationFile( Constants.LocalizationSourceName, typeof(Constants).Assembly, "HealthMonitoring.Web.Localization.SourceFiles"); // Incluindo suporte as seguintes linguagens localization.AddLanguage("pt-BR", "Português", isDefault: true); localization.AddLanguage("en", "English"); }); }
public static void UseDomainLocalization(this ITnfBuilder configuration) { configuration.Localization(localization => { // Incluindo o source de localização localization.AddJsonEmbeddedLocalizationFile( Constants.LocalizationSourceName, typeof(Constants).Assembly, "BasicCrud.Domain.Localization.SourceFiles"); // Incluindo suporte as seguintes linguagens localization.AddLanguage("pt-BR", "Português", isDefault: true); localization.AddLanguage("en", "English"); }); }
public static ITnfBuilder ConfigureSalesDomain(this ITnfBuilder builder) { builder.Localization(localization => { // Incluindo o source de localização localization.AddJsonEmbeddedLocalizationFile( Constants.LocalizationSourceName, typeof(Constants).Assembly, "SuperMarket.Backoffice.Sales.Domain.Localization.SourceFiles"); // Incluindo suporte as seguintes linguagens localization.AddLanguage("pt-BR", "Português", isDefault: true); localization.AddLanguage("en", "English"); }); return(builder); }
public static ITnfBuilder ConfigureCrudDomain(this ITnfBuilder builder) { builder.Localization(localization => { // Incluindo o source de localização localization.AddJsonEmbeddedLocalizationFile( Constants.LocalizationSourceName, typeof(Constants).Assembly, "SuperMarket.Backoffice.Crud.Domain.Localization.SourceFiles"); // Incluindo suporte as seguintes linguagens localization.AddLanguage("pt-BR", "Português", isDefault: true); localization.AddLanguage("en", "English"); builder.Repository(repository => { repository.Entity <IEntity>(entity => entity.RequestDto <IDefaultRequestDto>((e, d) => e.Id == d.Id)); }); }); return(builder); }
public static ITnfBuilder ConfigureSalesQueueInfraDependency(this ITnfBuilder builder) { // Cria um Tópico da mensagem PurchaseOrderChangedMessage var purchaseOrderChangedTopicToPublish = TopicSetup.Builder .New(s => s.Message <PurchaseOrderChangedMessage>() .AddKey("PurchaseOrder.Changed.Message")); var purchaseOrderQueueToPublish = QueueSetup.Builder .New(s => s .QueueName("PurchaseOrderQueue") .Reliability(r => r .AutoAck(false) .AutoDeleteQueue(true) .MaxMessageSize(256) .PersistMessage(false)) .QoS(q => q .PrefetchGlobalLimit(true) .PrefetchLimit(100) .PrefetchSize(0)) .AddTopics(purchaseOrderChangedTopicToPublish)); // Cria um Tópico da mensagem TaxMovimentCalculatedMessage var taxMovimentCalculatedTopicToSubscribe = TopicSetup.Builder .New(s => s.Message <TaxMovimentCalculatedMessage>() .AddKey("TaxMoviment.Calculated.Message")); var taxMovimentQueueToSubscribe = QueueSetup.Builder .New(s => s .QueueName("TaxMovimentQueue") .Reliability(r => r .AutoAck(false) .AutoDeleteQueue(true) .MaxMessageSize(256) .PersistMessage(false)) .QoS(q => q .PrefetchGlobalLimit(true) .PrefetchLimit(100) .PrefetchSize(0)) .AddTopics(taxMovimentCalculatedTopicToSubscribe)); // Cria um Exchange Router var exchangeRouterToPublish = ExchangeRouter .Builder .Factory() .Name("SuperMarket") .ServerAddress("127.0.0.1") .Type(ExchangeType.topic) .QueueChannel(QueueChannel.Amqp) .Reliability(isDurable: false, isAutoDelete: false, isPersistent: false) .AddQueue(purchaseOrderQueueToPublish) .SetExclusive(false) .AutomaticRecovery( isEnable: true, connectionTimeout: 15000, networkRecoveryInterval: TimeSpan.FromSeconds(10)) .MessageCollector( refreshInterval: TimeSpan.FromMilliseconds(value: 2000), timeout: TimeSpan.FromSeconds(60)) .ShutdownBehavior( graceful: new CancellationTokenSource(), forced: new CancellationTokenSource()) .Build(); var exchangeRouterToSubscribe = ExchangeRouter .Builder .Factory() .Name("SuperMarket") .ServerAddress("127.0.0.1") .Type(ExchangeType.topic) .QueueChannel(QueueChannel.Amqp) .Reliability(isDurable: false, isAutoDelete: false, isPersistent: false) .AddQueue(taxMovimentQueueToSubscribe) .SetExclusive(false) .AutomaticRecovery( isEnable: true, connectionTimeout: 15000, networkRecoveryInterval: TimeSpan.FromSeconds(10)) .MessageCollector( refreshInterval: TimeSpan.FromMilliseconds(value: 2000), timeout: TimeSpan.FromSeconds(60)) .ShutdownBehavior( graceful: new CancellationTokenSource(), forced: new CancellationTokenSource()) .Build(); // Configura para que ela publique mensagens builder.BusClient(busClient => { busClient.AddPublisher( exBuilder: e => exchangeRouterToPublish, listener: er => new PublisherListener( exchangeRouter: er, serviceProvider: busClient.ServiceProvider)) .AddSubscriber( exBuilder: e => exchangeRouterToSubscribe, listener: er => new SubscriberListener( exchangeRouter: er, serviceProvider: busClient.ServiceProvider), poolSize: 4); }); return(builder); }