public void ConfigureServices(IServiceCollection services) { #region ConfigCabecalho services.AddCors(); #endregion #region CookieseRecursosDeCulture services.AddSingleton <IHttpContextAccessor, HttpContextAccessor>(); services.Configure <CookiePolicyOptions>(options => { options.CheckConsentNeeded = context => true; options.MinimumSameSitePolicy = SameSiteMode.None; }); services.AddLocalization(opts => { opts.ResourcesPath = "Recurso"; }); services.AddMvc() .AddViewLocalization( opts => { opts.ResourcesPath = "Recurso"; }) .AddViewLocalization(LanguageViewLocationExpanderFormat.Suffix) .AddDataAnnotationsLocalization() .SetCompatibilityVersion(CompatibilityVersion.Version_2_2); services.Configure <RequestLocalizationOptions>(opts => { var linguasSuportadas = new List <CultureInfo> { new CultureInfo("pt-BR"), new CultureInfo("en-US") }; opts.DefaultRequestCulture = new RequestCulture(culture: "pt-BR", uiCulture: "pt-BR"); opts.SupportedCultures = linguasSuportadas; opts.SupportedUICultures = linguasSuportadas; }); #endregion #region ConfiguracaoDeBase var connection = Configuration["ConnectionStrings:DefaultConnection"]; //Utilizando SqlServer // services.AddDbContext<RDContextoDaAplicacao>(options => // options.UseSqlServer(connection) // ); //Utilizando SqLite services.AddDbContext <RDContextoDaAplicacao>(options => options .UseSqlite(connection, builder => builder .MigrationsAssembly(typeof(Startup).Assembly.FullName))); //Log Sql Server // services.AddTransient<RDContextoLog>().AddDbContext<RDContextoLog>(options => // options.UseSqlServer(connection)); services.AddTransient <RDContextoLog>().AddDbContext <RDContextoLog>(options => options.UseSqlite(connection)); #endregion #region ConfiguracaoUsuario services.AddIdentity <UsuarioAplicacao, IdentityRole>() .AddEntityFrameworkStores <RDContextoDaAplicacao>() .AddDefaultTokenProviders(); services.Configure <IdentityOptions>(options => { options.User.RequireUniqueEmail = true; options.Password.RequireDigit = false; options.Password.RequireLowercase = false; options.Password.RequireNonAlphanumeric = false; options.Password.RequireUppercase = false; options.Password.RequiredLength = 8; options.Password.RequiredUniqueChars = 1; }); services.Configure <DataProtectionTokenProviderOptions>(o => o.TokenLifespan = TimeSpan.FromHours(3)); services.AddAuthentication() .AddGoogle(options => { IConfigurationSection googleAuthNSection = Configuration.GetSection("Authentication:Google"); //Caso queira utilizar pelo secrect manager //options.ClientId = googleAuthNSection["Authentication:Google:ClientId"]; //options.ClientSecret = googleAuthNSection["Authentication:Google:ClientSecret"]; options.ClientId = Configuration["Authentication:Google:ClientId"]; options.ClientSecret = Configuration["Authentication:Google:ClientSecret"]; }); #endregion #region ServiceEmail services.AddTransient <IEmailSender, EnviarEmail>(); services.Configure <AutorizacaoEmail>(Configuration); #endregion #region repositorios services.AddTransient <IProjetoRepositorio, ProjetoRepositorio>(); services.AddTransient <IAnaliseRepositorio, AnaliseRepositorio>(); services.AddTransient <ICaracteristicaRepositorio, CaracteristicaRepositorio>(); services.AddTransient <ISujeitoRepositorio, SujeitoRepositorio>(); services.AddTransient <IGrupoRepositorio, GrupoRepositorio>(); services.AddTransient <IMedicaoRepositorio, MedicaoRepositorio>(); services.AddTransient <IExperimentoRepositorio, ExperimentoRepositorio>(); services.AddTransient <IComentarioRepositorio, ComentarioRepositorio>(); services.AddTransient <IAdminRepositorio, AdminRepositorio>(); services.AddTransient <IColaboradorRepositorio, ColaboradorRepositorio>(); services.AddTransient <IExportarCsv, ExportarCsv>(); #endregion #region LogConfig _contextoLog = services.BuildServiceProvider() .GetService <RDContextoLog>(); #endregion }
public CustomLogger(string name, CustonLoggerProviderConfiguration logger, RDContextoLog context) { this.loggerName = name; this.loggerConfig = logger; this._context = context; }