// This method gets called by the runtime. Use this method to add services to the container.
        public void ConfigureServices(IServiceCollection services)
        {
            //_SendGridKey = Configuration["SendGridKey"];

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

            services.AddDefaultIdentity <ApplicationUser>(options => options.SignIn.RequireConfirmedAccount = true)
            .AddEntityFrameworkStores <AppDbContext>()
            .AddDefaultUI()
            .AddDefaultTokenProviders();



            services.AddScoped <IUserClaimsPrincipalFactory <ApplicationUser>, ApplicationUserClaimsPrincipalFactory>();
            services.AddControllersWithViews();
            services.TryAddSingleton <IHttpContextAccessor, HttpContextAccessor>();

            services.AddScoped <ICategoryRepository, CategoryRepository>();
            services.AddScoped <IShoeRepository, ShoeRepository>();
            services.AddScoped <IBrandRepository, BrandRepository>();
            services.AddScoped <IOrderRepository, OrderRepository>();
            services.AddScoped <IRatingEntryRepository, RatingEntryRepository>();
            services.AddScoped <IOrderDetailRepository, OrderDetailRepository>();
            services.AddTransient <IEmailSender, EmailSender>();

            services.AddScoped <ShoppingCart>(sp => ShoppingCart.GetCart(sp));
            services.AddScoped <FavouritesCollection>(sp => FavouritesCollection.GetCollection(sp));


            services.AddSession();
            services.AddRazorPages();
        }
 public FavouritesSummary(FavouritesCollection favouritesCollection, IServiceProvider services)
 {
     this.favouritesCollection = favouritesCollection;
     this.services             = services;
 }
 public FavouriteShoeController(FavouritesCollection favouritesCollection, IServiceProvider services)
 {
     this.favouritesCollection = favouritesCollection;
     this.services             = services;
 }