Exemple #1
0
 public FichaController(IFichaFuncionalRepository fichaRepository, CarrinhoFicha carrinho,
                        ILoggerFactory loggerFactory)
 {
     _fichaRepository = fichaRepository;
     _carrinho        = carrinho;
     _loggerFactory   = loggerFactory;
 }
Exemple #2
0
        // This method gets called by the runtime. Use this method to add services to the container.
        // For more information on how to configure your application, visit https://go.microsoft.com/fwlink/?LinkID=398940
        public void ConfigureServices(IServiceCollection services)
        {
            services.AddDbContext <AppGestaoContext>(cfg => {
                cfg.UseSqlServer(_config.GetConnectionString("StringConexaoBancoGestao"));
            });
            services.BuildServiceProvider().GetService <AppGestaoContext>().Database.Migrate();
            //  Comentarios
            // Aqui trago a funcionalidade de trabalhar com altenticação.
            // Falo aqui para usar o Entity Framework para armazenar os dados.
            services.AddIdentity <ApplicationUser, IdentityRole>(
                options => options.SignIn.RequireConfirmedAccount = true)
            .AddEntityFrameworkStores <AppGestaoContext>()
            .AddDefaultUI()
            .AddDefaultTokenProviders();
            //Aqui vou registrar o serviço para poder usar Claims( ver Identity/)
            services.AddScoped <IUserClaimsPrincipalFactory <ApplicationUser>,
                                ApplicationUserClaimsPrincipalFactory>();

            //Registrando o EmailSender usando o SengGrid
            services.AddTransient <IEmailSender, EmailSender>();

            //Autenticação com google
            services.AddAuthentication().AddGoogle(googleOptions =>
            {
                googleOptions.ClientId     = _config["Authentication:Google:ClientId"];
                googleOptions.ClientSecret = _config["Authentication:Google:ClientSecret"];
            });

            services.AddTransient <Seeder>();

            //  Comentarios:
            //  Lembrar que tenho que criar os AutoMapper profiles, que são uma maneira
            //  de configurar o mapeamento que for usar.
            services.AddAutoMapper(Assembly.GetExecutingAssembly());

            services.AddControllersWithViews()
            .AddNewtonsoftJson(options =>
                               options.SerializerSettings.ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore);

            services.AddRazorPages();// Preciso dele porque o Identity usa razor pages

            services.AddTransient <IRepository, GestaoRepository>();
            services.AddTransient <IProgressoesRepository, ProgressoesRepository>();
            services.AddTransient <ICarreiraRepository, CarreiraRepository>();
            services.AddTransient <IFuncionarioRepository, FuncionarioRepository>();
            services.AddTransient <IFichaFuncionalRepository, FichaFuncionalRepository>();

            //  Comentários:
            // Visto que estou usando Sessions, tenho que registrar esse serviço que
            // vai me dar acesso ao contexto
            services.AddSingleton <IHttpContextAccessor, HttpContextAccessor>();

            services.AddMemoryCache();
            services.AddSession();


            // Com esse serviço eu pego o carrinho da section.
            // Temos aqui um objeto criado para cada requisição. Se duas pessoas solicitarem
            // o objeto carrinho de ficha ao mesmo tempo, eles obtem instancias diferentes.
            // Porque é criado um objeto para cada requisição
            services.AddScoped(carrinhoFicha => CarrinhoFicha.GetCarrinho(carrinhoFicha));

            services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);
        }
 public FichaFuncionalRepository(AppGestaoContext appGestaoContext,
                                 CarrinhoFicha carrinhoFicha)
 {
     this._appGestaoContext = appGestaoContext;
     this._carrinhoFicha    = carrinhoFicha;
 }
Exemple #4
0
 public CarrinhoFichaController(IRepository contextFuncionario, CarrinhoFicha carrinhoFicha)
 {
     this._contextFuncionario = contextFuncionario;
     this._carrinhoFicha      = carrinhoFicha;
 }