Exemplo n.º 1
0
        // This method gets called by the runtime. Use this method to add services to the container.
        public void ConfigureServices(IServiceCollection services)
        {
            services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);

            services.AddDbContext<IdentityStudentsReportsContext>(options =>
              options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection"))
           );

            services.AddDbContext<IdentityStudentsReportsContext>(options =>
             options.UseSqlServer(
                Configuration.GetConnectionString("DefaultConnection"))
                );

            services.AddIdentity<Users, IdentityRole>()
                .AddEntityFrameworkStores<IdentityStudentsReportsContext>()
                .AddDefaultTokenProviders();

            services.AddMvc();
            
            services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme)
                .AddJwtBearer(options =>
                {
                    options.TokenValidationParameters = new TokenValidationParameters
                    {
                        ValidateIssuer = true,
                        ValidateAudience = true,
                        ValidateLifetime = true,
                        ValidateIssuerSigningKey = true,
                        ValidIssuer = Configuration["Jwt:Issuer"],
                        ValidAudience = Configuration["Jwt:Issuer"],
                        IssuerSigningKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(Configuration["Jwt:Key"]))
                    };
                });

            var config = new AutoMapper.MapperConfiguration(c =>
            {
                c.AddProfile(new MappingProfile());
            });

            var mapper = config.CreateMapper();
            services.AddSingleton(mapper);

            var context = new StudentsReportsContext();
            services.AddSingleton(context);

            #region Repositories
            services.AddTransient<IUsersRepository, UsersRepository>();
            services.AddTransient<IRolesRepository, RolesRepository>();
            services.AddTransient<ICoursesRepository, CoursesRepository>();
            services.AddTransient<ITeacherCoursesRepository, TeacherCoursesRepository>();
            services.AddTransient<IReportsRepository, ReportsRepository>();
            #endregion
        }
 public ReportsRepository(StudentsReportsContext context, IdentityStudentsReportsContext identityContext)
 {
     _context         = context;
     _identityContext = identityContext;
 }
Exemplo n.º 3
0
        public static async Task Seed(UserManager <Users> userManager, RoleManager <IdentityRole> roleManager)
        {
            if (!userManager.Users.Any())
            {
                if (!await roleManager.RoleExistsAsync(UserRoles.Administrator))
                {
                    await roleManager.CreateAsync(new Roles(UserRoles.Administrator));
                }

                if (!await roleManager.RoleExistsAsync(UserRoles.Teacher))
                {
                    await roleManager.CreateAsync(new Roles(UserRoles.Teacher));
                }

                if (!await roleManager.RoleExistsAsync(UserRoles.Student))
                {
                    await roleManager.CreateAsync(new Roles(UserRoles.Student));
                }

                if (await userManager.FindByNameAsync("administrator") == null)
                {
                    Users user = new Users()
                    {
                        UserName     = "******",
                        FirstName    = "Administrator",
                        LastName     = "Administrator",
                        DateCreated  = DateTime.Now,
                        DateModified = DateTime.Now
                    };

                    var result = await userManager.CreateAsync(user, "bu^[email protected]#P$cb@");

                    if (result.Succeeded)
                    {
                        await userManager.AddToRoleAsync(user, UserRoles.Administrator);
                    }
                }
            }

            var context = new StudentsReportsContext();

            if (!context.CoursesTypes.Any())
            {
                context.CoursesTypes.Add(new CoursesTypes
                {
                    Name = "Laboratorium"
                });

                context.CoursesTypes.Add(new CoursesTypes
                {
                    Name = "Ćwiczenia"
                });

                context.CoursesTypes.Add(new CoursesTypes
                {
                    Name = "Projekt"
                });

                context.SaveChanges();
            }
        }
Exemplo n.º 4
0
 public CoursesRepository(StudentsReportsContext context)
 {
     _context = context;
 }
Exemplo n.º 5
0
 public TeacherCoursesRepository(StudentsReportsContext context, IdentityStudentsReportsContext identityContext)
 {
     _context         = context;
     _identityContext = identityContext;
 }