public ServicoNotificacaoWhatsapp(TwilioConfiguracao twilioConfig, ILogger logger) { _twilioConfig = twilioConfig ?? throw new ArgumentNullException(nameof(twilioConfig)); _logger = logger ?? throw new ArgumentNullException(nameof(logger)); }
public static void AddServiceDependency(this IServiceCollection services, IConfiguration configuration) { var smtpSetting = new SmtpConfiguracao(); configuration.Bind(nameof(SmtpConfiguracao), smtpSetting); services.AddSingleton(smtpSetting); var twilioSettings = new TwilioConfiguracao(); configuration.Bind(nameof(TwilioConfiguracao), twilioSettings); services.AddSingleton(twilioSettings); services.AddSingleton <ICacheServico, CacheServico>(); // Application Services services.AddAutoMapper(new[] { Assembly.Load("MatchDayApp.Application"), Assembly.Load("MatchDayApp.Infra.CrossCutting") }); services.AddTransient <IAutenticacaoServico, AutenticacaoServico>(); services.AddTransient <IUsuarioServico, UsuarioServico>(); services.AddTransient <ITimeServico, TimeServico>(); services.AddTransient <IQuadraFutebolServico, QuadraFutebolServico>(); services.AddTransient <IPartidaServico, PartidaServico>(); services.AddMediatR(Assembly.Load("MatchDayApp.Application")); // App Services services.AddTransient <IAutenticacaoAppServico, AutenticacaoAppServico>(); services.AddTransient <IUsuarioAppServico, UsuarioAppServico>(); services.AddTransient <ITimeAppServico, TimeAppServico>(); services.AddTransient <IQuadraAppServico, QuadraAppServico>(); services.AddTransient <IPartidaAppServico, PartidaAppServico>(); }
public ServicoNotificacaoSmsTeste() { var configServices = ServicesConfiguration.Configure(); var logger = configServices.GetRequiredService <ILogger>(); _twilioSettings = configServices.GetRequiredService <TwilioConfiguracao>(); _smsServico = new ServicoNotificacaoSms(_twilioSettings, logger); }
public EstrategiaServicoNotificacao(SmtpConfiguracao smtpConfig, TwilioConfiguracao twilioConfig, ILogger logger) { _smtpConfig = smtpConfig ?? throw new ArgumentNullException(nameof(smtpConfig)); _twilioConfig = twilioConfig ?? throw new ArgumentNullException(nameof(twilioConfig)); _logger = logger ?? throw new ArgumentNullException(nameof(logger)); }
protected override void ConfigureWebHost(IWebHostBuilder builder) { builder .UseEnvironment("Development") .ConfigureServices(services => { var configuration = services.BuildServiceProvider() .GetRequiredService <IConfiguration>(); var descriptor = services.SingleOrDefault( d => d.ServiceType == typeof(DbContextOptions <MatchDayAppContext>)); if (descriptor != null) { services.Remove(descriptor); } services.AddSqlServerDependency(configuration: null, isTest: true); var providerDbContext = services.BuildServiceProvider() .GetRequiredService <MatchDayAppContext>(); providerDbContext.SeedFakeData(); var smtpSetting = new SmtpConfiguracao(); configuration.Bind(nameof(SmtpConfiguracao), smtpSetting); var twilioSettings = new TwilioConfiguracao(); configuration.Bind(nameof(TwilioConfiguracao), twilioSettings); var jwtOptions = new JwtConfiguracao(); configuration.Bind(nameof(JwtConfiguracao), jwtOptions); services.AddSingleton(twilioSettings); services.AddSingleton(smtpSetting); services.AddSingleton(jwtOptions); services.AddSingleton(new TokenValidationParameters { ValidateIssuerSigningKey = true, IssuerSigningKey = new SymmetricSecurityKey(Encoding.ASCII.GetBytes(jwtOptions.Secret)), ValidateIssuer = false, ValidateAudience = false, RequireExpirationTime = true, ValidateLifetime = true }); services.AddSqlServerRepositoryDependency(); services.AddServiceDependency(configuration); services.AddSingleton <IUnitOfWork>(new UnitOfWork(providerDbContext)); }); }
public UsuarioEventHandler(IAutenticacaoServico autenticacaoServico, SmtpConfiguracao smtpSettings, TwilioConfiguracao twilioSettings, ILogger logger, IHttpContextAccessor accessor) { _autenticacaoServico = autenticacaoServico ?? throw new ArgumentNullException(nameof(autenticacaoServico)); _smtpSettings = smtpSettings ?? throw new ArgumentNullException(nameof(smtpSettings)); _twilioSettings = twilioSettings ?? throw new ArgumentNullException(nameof(twilioSettings)); _accessor = accessor ?? throw new ArgumentNullException(nameof(accessor)); _messageStrategy = new EstrategiaServicoNotificacao( smtpSettings, twilioSettings, logger); }
public static IServiceProvider Configure() { var configuration = new ConfigurationBuilder() .SetBasePath(AppContext.BaseDirectory) .AddJsonFile("appsettings.Development.json") .AddUserSecrets(Assembly.GetExecutingAssembly()) .AddEnvironmentVariables() .Build(); var serviceProvider = new ServiceCollection(); serviceProvider.AddDbContext <MatchDayAppContext>(options => options .UseInMemoryDatabase($"TestDB-{Guid.NewGuid()}") .UseInternalServiceProvider(new ServiceCollection() .AddEntityFrameworkInMemoryDatabase() .BuildServiceProvider()) .ConfigureWarnings(x => x.Ignore(InMemoryEventId.TransactionIgnoredWarning)) .EnableSensitiveDataLogging() .EnableServiceProviderCaching(false)); serviceProvider.AddSingleton <IUnitOfWork, UnitOfWork>(); serviceProvider.AddAutoMapper(Assembly.Load("MatchDayApp.Application")); serviceProvider.AddTransient <IAutenticacaoServico, AutenticacaoServico>(); serviceProvider.AddTransient <IUsuarioServico, UsuarioServico>(); serviceProvider.AddTransient <ITimeServico, TimeServico>(); serviceProvider.AddTransient <IQuadraFutebolServico, QuadraFutebolServico>(); serviceProvider.AddTransient <IPartidaServico, PartidaServico>(); var smtpSetting = new SmtpConfiguracao(); configuration.Bind(nameof(SmtpConfiguracao), smtpSetting); var twilioSettings = new TwilioConfiguracao(); configuration.Bind(nameof(TwilioConfiguracao), twilioSettings); var jwtOptions = new JwtConfiguracao(); configuration.Bind(nameof(JwtConfiguracao), jwtOptions); serviceProvider.AddSingleton(twilioSettings); serviceProvider.AddSingleton(smtpSetting); serviceProvider.AddSingleton(jwtOptions); serviceProvider.AddSingleton(new TokenValidationParameters { ValidateIssuerSigningKey = true, IssuerSigningKey = new SymmetricSecurityKey(Encoding.ASCII.GetBytes(jwtOptions.Secret)), ValidateIssuer = false, ValidateAudience = false, RequireExpirationTime = true, ValidateLifetime = true }); var loggerFactory = new LoggerFactory(); serviceProvider.AddSingleton(typeof(ILogger), loggerFactory.CreateLogger("Testing")); serviceProvider.AddMediatR(Assembly.Load("MatchDayApp.Application")); return(serviceProvider .BuildServiceProvider()); }