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