// 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.AddSession(); services.AddSingleton(provider => ListData.Create()); services.AddDbContext <DatabaseContext>(options => options.UseSqlServer( Configuration.GetConnectionString("DefaultConnection"))); services.AddAuthentication(options => { options.DefaultAuthenticateScheme = CookieAuthenticationDefaults.AuthenticationScheme; options.DefaultSignInScheme = CookieAuthenticationDefaults.AuthenticationScheme; options.DefaultChallengeScheme = CookieAuthenticationDefaults.AuthenticationScheme; }) .AddCookie(options => { options.AccessDeniedPath = new PathString("/Account/Access"); options.LoginPath = new PathString("/Account/Login"); options.LogoutPath = new PathString("/Account/Logout"); }); services.AddTransient <IUserProfileRepository, UserProfileRepository>(); services.AddTransient <IBillProductRepository, BillProductRepository>(); services.AddTransient <IBillRepository, BillRepository>(); services.AddTransient <IProductRepository, ProductRepository>(); services.AddTransient <IProductTypeRepository, ProductTypeRepository>(); services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1); }