public static void RegistrarDependencias(this IServiceCollection services, IConfiguration configuration)
        {
            var assembly = AppDomain.CurrentDomain.Load("SME.SR.Application");

            services.AddMediatR(assembly);
            AddRabbitMQ(services, configuration);

            var urlJasper     = configuration.GetSection("ConfiguracaoJasper:Hostname").Value;
            var usuarioJasper = configuration.GetSection("ConfiguracaoJasper:Username").Value;
            var senhaJasper   = configuration.GetSection("ConfiguracaoJasper:Password").Value;

            var cookieContainer     = new CookieContainer();
            var jasperCookieHandler = new JasperCookieHandler()
            {
                CookieContainer = cookieContainer
            };

            services.AddSingleton(jasperCookieHandler);

            services.AddHttpClient <IExecucaoRelatorioService, ExecucaoRelatorioService>(c =>
            {
                c.BaseAddress = new Uri(urlJasper);
            })
            .ConfigurePrimaryHttpMessageHandler(() =>
            {
                return(new JasperCookieHandler()
                {
                    CookieContainer = cookieContainer
                });
            });

            services.AddHttpClient(name: "jasperServer", c =>
            {
                c.BaseAddress = new Uri(urlJasper);
            })
            .ConfigurePrimaryHttpMessageHandler(() =>
            {
                return(new JasperCookieHandler()
                {
                    CookieContainer = cookieContainer
                });
            });

            services.AddJasperClient(urlJasper, usuarioJasper, senhaJasper);
            services.AddSingleton(typeof(IConverter), new SynchronizedConverter(new PdfTools()));
            services.AddScoped <IHtmlHelper, HtmlHelper>();

            services.AddSingleton(new VariaveisAmbiente());
            RegistrarRepositorios(services);
            RegistrarUseCase(services);
            RegistrarServicos(services);
        }
예제 #2
0
 public ExecucaoRelatorioService(HttpClient httpClient, Configuracoes configuracoes, JasperCookieHandler jasperCookieHandler, IConfiguration configuration) : base(httpClient, configuracoes)
 {
     this.httpClient          = httpClient;
     this.jasperCookieHandler = jasperCookieHandler;
     this.configuration       = configuration ?? throw new ArgumentNullException(nameof(configuration));
 }
예제 #3
0
        private static void RegistrarHttpClients(IServiceCollection services, IConfiguration configuration)
        {
            services.AddHttpClient <IServicoJurema, ServicoJurema>(c =>
            {
                c.BaseAddress = new Uri(configuration.GetSection("UrlApiJurema").Value);
                c.DefaultRequestHeaders.Add("Accept", "application/json");
            });
            services.AddHttpClient <IServicoEol, ServicoEOL>(c =>
            {
                c.BaseAddress = new Uri(configuration.GetSection("UrlApiEOL").Value);
                c.DefaultRequestHeaders.Add("Accept", "application/json");
                c.DefaultRequestHeaders.Add("x-api-eol-key", configuration.GetSection("ApiKeyEolApi").Value);
            });

            services.AddHttpClient(name: "servicoEOL", c =>
            {
                c.BaseAddress = new Uri(configuration.GetSection("UrlApiEOL").Value);
                c.DefaultRequestHeaders.Add("Accept", "application/json");
                c.DefaultRequestHeaders.Add("x-api-eol-key", configuration.GetSection("ApiKeyEolApi").Value);
            });

            services.AddHttpClient <IServicoAcompanhamentoEscolar, ServicoAcompanhamentoEscolar>(c =>
            {
                c.BaseAddress = new Uri(configuration.GetSection("UrlApiAE").Value);
                c.DefaultRequestHeaders.Add("Accept", "application/json");
            });

            services.AddHttpClient <IServicoGithub, SevicoGithub>(c =>
            {
                c.BaseAddress = new Uri(configuration.GetSection("UrlApiGithub").Value);
                c.DefaultRequestHeaders.Add("Accept", "application/json");
            });

            var cookieContainer     = new CookieContainer();
            var jasperCookieHandler = new JasperCookieHandler()
            {
                CookieContainer = cookieContainer
            };

            services.AddSingleton(jasperCookieHandler);

            var basicAuth = $"{configuration.GetValue<string>("ConfiguracaoJasper:Username")}:{configuration.GetValue<string>("ConfiguracaoJasper:Password")}".EncodeTo64();
            var jasperUrl = configuration.GetValue <string>("ConfiguracaoJasper:Hostname");

            services.AddHttpClient <ISevicoJasper, SevicoJasper>(c =>
            {
                c.BaseAddress = new Uri(jasperUrl);
                c.DefaultRequestHeaders.Add("Accept", "application/json");
                c.DefaultRequestHeaders.Add("Authorization", $"Basic {basicAuth}");
            }).ConfigurePrimaryHttpMessageHandler(() =>
            {
                return(new JasperCookieHandler()
                {
                    CookieContainer = cookieContainer
                });
            });

            services.AddHttpClient <IServicoServidorRelatorios, ServicoServidorRelatorios>(c =>
            {
                c.BaseAddress = new Uri(configuration.GetSection("UrlServidorRelatorios").Value);
                c.DefaultRequestHeaders.Add("Accept", "application/json");
            });

            services.AddHttpClient(name: "servicoServidorRelatorios", c =>
            {
                c.BaseAddress = new Uri(configuration.GetSection("UrlServidorRelatorios").Value);
                c.DefaultRequestHeaders.Add("Accept", "application/json");
            });
        }
 public SalvarRelatorioJasperLocalCommandHandler(JasperCookieHandler jasperCookieHandler, IHttpClientFactory httpClientFactory, IMediator mediator)
 {
     this.jasperCookieHandler = jasperCookieHandler ?? throw new System.ArgumentNullException(nameof(jasperCookieHandler));
     this.httpClientFactory   = httpClientFactory ?? throw new ArgumentNullException(nameof(httpClientFactory));
     this.mediator            = mediator ?? throw new ArgumentNullException(nameof(mediator));
 }