// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { services.Configure <CookiePolicyOptions>(options => { // This lambda determines whether user consent for non-essential cookies is needed for a given request. options.CheckConsentNeeded = context => true; options.MinimumSameSitePolicy = SameSiteMode.None; }); services.AddDbContext <AppDbContext>(options => { options.UseSqlite(Configuration.GetConnectionString("DefaultConnectionString")); }); services.AddTransient <ICategoryRepository, CategoryRepository>(); services.AddTransient <IProductRepository, ProductRepository>(); services.AddTransient <IOrderRepository, OrderRepository>(); services.AddIdentity <User, IdentityRole>().AddEntityFrameworkStores <AppDbContext>(); services.AddSingleton <IHttpContextAccessor, HttpContextAccessor>(); services.AddScoped(sp => Basket.GetCart(sp)); services.AddScoped(sp => WishList.GetCart(sp)); services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2); services.AddMemoryCache(); services.AddSession(); }