public static IServiceCollection AddApplicationServices(this IServiceCollection services, IConfiguration config)
        {
            services.AddScoped <ITokenService, TokenService>();
            services.AddTransient <WheelsCrawlerDbContext>();
            services.AddDbContext <WheelsCrawlerDbContext>(options =>
            {
                options.UseLazyLoadingProxies().UseSqlite(config.GetConnectionString("DefaultConnection"),
                                                          // b => b.MigrationsAssembly("WheelsCrawler.Data")
                                                          assembly => assembly.MigrationsAssembly(typeof(WheelsCrawlerDbContext).Assembly.FullName));
            }, ServiceLifetime.Transient);
            ServiceProvider serviceProvider = services.BuildServiceProvider();

            WheelsCrawlerDbContext wheelsDbContext = serviceProvider.GetService <WheelsCrawlerDbContext>();

            services.AddScoped <IUnitOfWork, UnitOfWork>(uow => new UnitOfWork(wheelsDbContext));

            services.AddAutoMapper(typeof(AutoMapperProfiles).Assembly);
            services.AddScoped <IAccountRepository, AccountRepository>();
            services.AddScoped <ICrawlerService, CrawlerService>();
            services.AddScoped <ICarService, CarService>();
            services.AddControllersWithViews().AddNewtonsoftJson(options =>
                                                                 options.SerializerSettings.ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore);

            return(services);
        }
Example #2
0
 public GenericRepository(WheelsCrawlerDbContext dbContext)
 {
     _dbContext = dbContext;
 }
Example #3
0
 public GenericRepository()
 {
     _dbContext = new WheelsCrawlerDbContext();
 }
 public CarRepository(WheelsCrawlerDbContext dbContext) : base(dbContext)
 {
 }
Example #5
0
        public static async Task SeedData(UserManager <User> userManager, RoleManager <AppRole> roleManager, WheelsCrawlerDbContext dbContext)
        {
            // var carData = await System.IO.File.ReadAllTextAsync("../WheelsCrawler.Data/jsonSeedData/Cars.json");
            // var cars = JsonConvert.DeserializeObject<List<Car>>(carData);

            // foreach (var car in cars)
            // {
            //     await dbContext.Cars.AddAsync(car);
            // }

            var urlData = await System.IO.File.ReadAllTextAsync("../WheelsCrawler.Data/jsonSeedData/Urls.json");

            var urls = JsonConvert.DeserializeObject <List <Url> >(urlData);

            foreach (var url in urls)
            {
                await dbContext.Urls.AddAsync(url);

                await dbContext.SaveChangesAsync();
            }

            var brandsData = await System.IO.File.ReadAllTextAsync("../WheelsCrawler.Data/jsonSeedData/CarBrands.json");

            var brands = JsonConvert.DeserializeObject <List <CarBrand> >(brandsData);

            foreach (var brand in brands)
            {
                await dbContext.CarBrands.AddAsync(brand);

                await dbContext.SaveChangesAsync();
            }

            var modelsData = await System.IO.File.ReadAllTextAsync("../WheelsCrawler.Data/jsonSeedData/CarModels.json");

            var models = JsonConvert.DeserializeObject <List <CarModel> >(modelsData);

            foreach (var model in models)
            {
                await dbContext.CarModels.AddAsync(model);

                await dbContext.SaveChangesAsync();
            }

            var users = new List <User>
            {
                new User {
                    UserName = "******"
                },
                new User {
                    UserName = "******"
                },
                new User {
                    UserName = "******"
                },
            };

            var roles = new List <AppRole>
            {
                new AppRole {
                    Name = "Member"
                },
                new AppRole {
                    Name = "Admin"
                },
                new AppRole {
                    Name = "Moderator"
                },
            };

            foreach (var role in roles)
            {
                await roleManager.CreateAsync(role);
            }

            foreach (var user in users)
            {
                user.UserName = user.UserName.ToLower();

                await userManager.CreateAsync(user, "Password3000");

                await userManager.AddToRoleAsync(user, "Member");
            }

            var admin = new User
            {
                UserName = "******"
            };

            await userManager.CreateAsync(admin, "Password3000");

            await userManager.AddToRolesAsync(admin, new[] { "Admin", "Moderator" });
        }
Example #6
0
 public AccManager(WheelsCrawlerDbContext context)
 {
     _context = context;
 }
 public AccountRepository(WheelsCrawlerDbContext dbContext) : base(dbContext)
 {
 }
Example #8
0
 public UnitOfWork(WheelsCrawlerDbContext dbContext)
 {
     _dbContext = dbContext;
 }