public ServicoNotificacaoEmail(SmtpConfiguracao smtpConfig, ILogger logger) { _smtpConfig = smtpConfig ?? throw new ArgumentNullException(nameof(smtpConfig)); _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>(); }