示例#1
0
        public void ConfigureServices(IServiceCollection services)
        {
            services.AddResponseCompression(options =>
            {
                options.Providers.Add <BrotliCompressionProvider>();
            });

            _config = CriaObjetoConfiguracao();
            ExecutaInjecaoDeDependencia(services, _config);

            services.AddDistributedMemoryCache();
            services.Configure <FormOptions>(x => x.ValueCountLimit = 1000000);

            services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);

            services.AddSwaggerGen(c =>
            {
                c.SwaggerDoc("v1", new OpenApiInfo {
                    Version     = "v1",
                    Title       = "Desafio - Distribuição dos lucros",
                    Description = "Desafio - Distribuição dos lucros"
                });

                var xmlFile = $"{Assembly.GetExecutingAssembly().GetName().Name}.xml";
                var xmlPath = Path.Combine(AppContext.BaseDirectory, xmlFile);
                c.IncludeXmlComments(xmlPath);
            });
        }
示例#2
0
        private ConfiguracaoAplicacao CriaObjetoConfiguracao()
        {
            string instancia = Configuration.GetValue <string>("CurrentDatabaseName");
            var    database  = instancia;
            var    config    = new ConfiguracaoAplicacao();

            Configuration.Bind(database, config);
            return(config);
        }
示例#3
0
        public static void ConfigureService(IConfiguration configuration, IServiceCollection services)
        {
            var config = new ConfiguracaoAplicacao
            {
                FirebasePath = configuration.GetSection("FirebasePath").Value
            };

            services.AddSingleton <IConfiguracaoAplicacao>(config);
        }
        private static ConfiguracaoAplicacao PopulaObjeto()
        {
            _configClient = new ConfiguracaoAplicacao();
            var configClientType = _configClient.GetType();
            var session          = ConfiguracaoInicial().AsEnumerable();
            var arcabouco        = session.ToDictionary(x => x.Key, x => x.Value)
                                   .Where(x => x.Key.Contains(_sessao + ":") && x.Value != null)
                                   .Select(t => new KeyValuePair <string, string>(t.Key.Replace(_sessao + ":", ""), t.Value));

            arcabouco.ToList().ForEach(x => {
                configClientType
                .GetProperty(x.Key)
                .SetValue(_configClient, x.Value, null);
            });
            return(_configClient);
        }
示例#5
0
 private void ExecutaInjecaoDeDependencia(IServiceCollection services, ConfiguracaoAplicacao config)
 {
     services.AdicionarInjecaoDependenciaDominio();
     services.AdicionarInjecaoDependenciaRepositorio(config);
     services.AdicionarInjecaoDependenciaAplicacao();
 }
示例#6
0
        public static IServiceCollection AdicionarInjecaoDependenciaRepositorio(this IServiceCollection servicos, ConfiguracaoAplicacao config)
        {
            servicos.AddSingleton(config);
            servicos.AddSingleton <IRepositorioFuncionario, RepositorioFuncionario>(sp =>
            {
                var _connectionStrings = ExtraiConnectionStrings(sp);
                return(new RepositorioFuncionario(_connectionStrings));
            });

            servicos.AddSingleton <IRepositorioFuncionarioAsync, RepositorioFuncionarioAsync>(sp =>
            {
                var _connectionStrings = ExtraiConnectionStrings(sp);
                return(new RepositorioFuncionarioAsync(_connectionStrings));
            });
            return(servicos);
        }
 public DistribuicaoLucroController(IAplicacaoDistribuicaoLucros appDistribuicao, ConfiguracaoAplicacao config)
 {
     _appDistribuicao = appDistribuicao;
     _config          = config;
 }