public async Task InsertAddsArtikelToDatabase()
        {
            var artikel = new Artikel
            {
                AfbeeldingUrl   = "Afbeelding.jpg",
                Artikelnummer   = 1234,
                Beschrijving    = "Grote fiets voor iedereen",
                Leverancier     = "Fietsen bv",
                Leveranciercode = "1",
                LeverbaarTot    = new DateTime(2018, 5, 5),
                LeverbaarVanaf  = new DateTime(2017, 1, 1),
                Naam            = "Fiets",
                Prijs           = 299.3m
            };

            using (var context = new WebshopContext(options))
            {
                var dataMapper = new ArtikelDatamapper(context);
                dataMapper.Insert(artikel);
            }

            using (var context = new WebshopContext(options))
            {
                var artikelDatamapper = new ArtikelDatamapper(context);
                var result            = await artikelDatamapper.Get(1234);

                Assert.IsNotNull(result);
                Assert.AreEqual("Fiets", result.Naam);
                Assert.AreEqual(0, result.Voorraad);
            }
        }
        public void ChangeVoorraadChangesVoorraadOfArtikel()
        {
            var artikel = new Artikel
            {
                AfbeeldingUrl   = "Afbeelding.jpg",
                Artikelnummer   = 1234,
                Beschrijving    = "Grote fiets voor iedereen",
                Leverancier     = "Fietsen bv",
                Leveranciercode = "1",
                LeverbaarTot    = new DateTime(2019, 8, 8),
                LeverbaarVanaf  = new DateTime(2017, 3, 3),
                Naam            = "Fiets",
                Prijs           = 299.3m
            };

            using (var context = new WebshopContext(options))
            {
                var dataMapper = new ArtikelDatamapper(context);
                dataMapper.Insert(artikel);
            }

            using (var context = new WebshopContext(options))
            {
                var dataMapper = new ArtikelDatamapper(context);
                dataMapper.ChangeVoorraad(1234, 10);
            }

            using (var context = new WebshopContext(options))
            {
                var result = context.Artikelen.SingleOrDefault(a => a.Artikelnummer == 1234);
                Assert.IsNotNull(result);
                Assert.AreEqual("Fiets", result.Naam);
                Assert.AreEqual(10, result.Voorraad);
            }
        }
Exemplo n.º 3
0
        public void InsertArtikelFromEvent()
        {
            var artikelEvent = new ArtikelAanCatalogusToegevoegd
            {
                AfbeeldingUrl   = "Afbeelding.jpg",
                Artikelnummer   = 1234,
                Beschrijving    = "Grote fiets voor iedereen",
                Leverancier     = "Fietsen bv",
                Leveranciercode = "1",
                LeverbaarTot    = new DateTime(2018, 5, 5),
                LeverbaarVanaf  = new DateTime(2017, 1, 1),
                Naam            = "Fiets",
                Prijs           = 299.3m
            };

            var eventPublisher = new EventPublisher(_context);

            eventPublisher.Publish(artikelEvent);

            Thread.Sleep(500);

            using (var context = new WebshopContext(options))
            {
                var result = context.Artikelen.SingleOrDefault(a => a.Artikelnummer == 1234);
                Assert.IsNotNull(result);
                Assert.AreEqual("Fiets", result.Naam);
                Assert.AreEqual(0, result.Voorraad);
            }
        }
Exemplo n.º 4
0
 public CaffFileController(WebshopContext context, UserManager <SiteUser> userManager, IAuthorizationService authorizationService, ILogger <CaffFileController> logger)
 {
     _context              = context;
     _userManager          = userManager;
     _authorizationService = authorizationService;
     _logger = logger;
 }
Exemplo n.º 5
0
        public async Task GetKlantByIdReturnsKlant()
        {
            var klant = new Klant
            {
                Id             = "1",
                Voornaam       = "Hans",
                Achternaam     = "van Huizen",
                AdresRegel     = "Voorstraat 8",
                Plaats         = "Groningen",
                Postcode       = "1345df",
                Telefoonnummer = "0665234365",
            };

            using (var context = new WebshopContext(options))
            {
                var dataMapper = new KlantDatamapper(context);
                dataMapper.Insert(klant);
            }

            using (var context = new WebshopContext(options))
            {
                var klantmapper = new KlantDatamapper(context);
                var result      = await klantmapper.GetKlant("1");

                Assert.IsNotNull(result);
                Assert.AreEqual("Hans", result.Voornaam);
                Assert.AreEqual("van Huizen", result.Achternaam);
                Assert.AreEqual("Voorstraat 8", result.AdresRegel);
                Assert.AreEqual("Groningen", result.Plaats);
                Assert.AreEqual("1345df", result.Postcode);
                Assert.AreEqual("0665234365", result.Telefoonnummer);
            }
        }
        public void CreateNijnHostBuilder(IServiceCollection services)
        {
            var connectionString = Environment.GetEnvironmentVariable("SPRINTERDB");
            var options          = new DbContextOptionsBuilder <WebshopContext>()
                                   .UseNpgsql(connectionString)
                                   .Options;

            services.AddTransient <ICommandPublisher, CommandPublisher>();
            services.AddSingleton <DbContextOptions>(options);
            services.AddTransient <WebshopContext, WebshopContext>();
            services.AddTransient <IArtikelDatamapper, ArtikelDatamapper>();
            services.AddTransient <IBestellingDatamapper, BestellingDatamapper>();
            services.AddTransient <IKlantDatamapper, KlantDatamapper>();

            var nijnContext = CreateNijnConfig(services);

            using (var context = new WebshopContext(options))
            {
                context.Database.EnsureDeleted();
                context.Database.EnsureCreated();
                if (!context.Artikelen.Any())
                {
                    ScrapeAuditLog(services, nijnContext, DateTime.Now).Wait();
                }
            }

            services.AddSingleton(nijnContext);
        }
Exemplo n.º 7
0
        public void ChangeVoorraadEvent()
        {
            using (var context = new WebshopContext(options))
            {
                var artikel = new Artikel
                {
                    AfbeeldingUrl   = "Afbeelding.jpg",
                    Artikelnummer   = 1234,
                    Beschrijving    = "Grote fiets voor iedereen",
                    Leverancier     = "Fietsen bv",
                    Leveranciercode = "1",
                    LeverbaarTot    = new DateTime(2018, 5, 5),
                    LeverbaarVanaf  = new DateTime(2017, 1, 1),
                    Naam            = "Fiets",
                    Prijs           = 299.3m
                };
                new ArtikelDatamapper(context).Insert(artikel);
            }

            var voorraadEvent = new VoorraadVerhoogdEvent
            {
                Artikelnummer  = 1234,
                Aantal         = 5,
                NieuweVoorraad = 5
            };


            var eventPublisher = new EventPublisher(_context);

            eventPublisher.Publish(voorraadEvent);

            Thread.Sleep(500);

            using (var context = new WebshopContext(options))
            {
                var result = context.Artikelen.SingleOrDefault(a => a.Artikelnummer == 1234);
                Assert.IsNotNull(result);
                Assert.AreEqual("Fiets", result.Naam);
                Assert.AreEqual(5, result.Voorraad);
            }

            var voorraadVerlaagdEvent = new VoorraadVerlaagdEvent
            {
                Artikelnummer  = 1234,
                Aantal         = 3,
                NieuweVoorraad = 2
            };

            eventPublisher.Publish(voorraadVerlaagdEvent);

            Thread.Sleep(500);

            using (var context = new WebshopContext(options))
            {
                var result = context.Artikelen.SingleOrDefault(a => a.Artikelnummer == 1234);
                Assert.IsNotNull(result);
                Assert.AreEqual("Fiets", result.Naam);
                Assert.AreEqual(2, result.Voorraad);
            }
        }
        // Changed DataContext type to WebshopContext
        private async Task attachAccountToContext(HttpContext context, WebshopContext dataContext, string token)
        {
            try
            {
                var tokenHandler = new JwtSecurityTokenHandler();
                var key          = Encoding.ASCII.GetBytes(_appSettings.Secret);
                tokenHandler.ValidateToken(token, new TokenValidationParameters
                {
                    ValidateIssuerSigningKey = true,
                    IssuerSigningKey         = new SymmetricSecurityKey(key),
                    ValidateIssuer           = false,
                    ValidateAudience         = false,
                    // set clockskew to zero so tokens expire exactly at token expiration time (instead of 5 minutes later)
                    ClockSkew = TimeSpan.Zero
                }, out SecurityToken validatedToken);

                var jwtToken  = (JwtSecurityToken)validatedToken;
                var accountId = int.Parse(jwtToken.Claims.First(x => x.Type == "id").Value);

                // attach account to context on successful jwt validation
                // ***** Changed Account to Logins
                context.Items["Account"] = await dataContext.Logins.FindAsync(accountId);
            }
            catch
            {
                // do nothing if jwt validation fails
                // account is not attached to context so request won't have access to secure routes
            }
        }
Exemplo n.º 9
0
 public CartService(WebshopContext context, AuthService authService, IHttpContextAccessor httpContext, IMapper mapper)
 {
     _user        = httpContext.HttpContext.User;
     _mapper      = mapper;
     _context     = context;
     _authService = authService;
 }
Exemplo n.º 10
0
        protected override void Seed(WebshopContext context)
        {
            var produkter = new List<Produkt>()
            {
                new Produkt
                {
                    navn = "Banan",
                    beskrivelse = "Gul. Litt rar form.",
                    pris = 12,

                },
                new Produkt
                {
                    navn = "Eple",
                    beskrivelse = "Grønne med stilk",
                    pris = 25,
                },
                new Produkt
                {
                    navn = "Pære",
                    beskrivelse = "Ikke til opplysning.",
                    pris = 7,
                }
            };
        }
Exemplo n.º 11
0
        // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
        public void Configure(IApplicationBuilder app, IHostingEnvironment env, WebshopContext context)
        {
            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
                app.UseDatabaseErrorPage();
            }
            else
            {
                app.UseExceptionHandler("/Home/Error");
                app.UseHsts();
            }

            app.UseHttpsRedirection();
            app.UseStaticFiles();
            app.UseCookiePolicy();

            app.UseAuthentication();

            app.UseMvc(routes =>
            {
                routes.MapRoute(
                    name: "default",
                    template: "{controller=Home}/{action=Index}/{id?}");
            });

            DBInitializer.Initialize(context);
        }
 public UserService(
     WebshopContext context,
     IOptions <AppSettings> appSettings)
 {
     _context     = context;
     _appSettings = appSettings.Value;
 }
Exemplo n.º 13
0
        public void Initialize()
        {
            connection = new SqliteConnection("DataSource=:memory:");
            connection.Open();
            options = new DbContextOptionsBuilder <WebshopContext>()
                      .UseSqlite(connection)
                      .Options;

            using (var context = new WebshopContext(options))
            {
                context.Database.EnsureCreated();
            }

            var services = new ServiceCollection();

            services.AddSingleton <DbContextOptions>(options);
            services.AddTransient <WebshopContext, WebshopContext>();
            services.AddTransient <IArtikelDatamapper, ArtikelDatamapper>();
            services.AddTransient <IKlantDatamapper, KlantDatamapper>();

            _context = new TestBusContext();

            var builder = new MicroserviceHostBuilder()
                          .RegisterDependencies(services)
                          .WithContext(_context)
                          .AddEventListener <MagazijnListener>();

            _host = builder.CreateHost();

            _host.StartListening();
        }
        public void Initialize()
        {
            _connection = new SqliteConnection("DataSource=:memory:");
            _connection.Open();
            _options = new DbContextOptionsBuilder <WebshopContext>()
                       .UseSqlite(_connection)
                       .Options;

            using (var context = new WebshopContext(_options))
            {
                context.Database.EnsureCreated();
            }

            var artikel = new Artikel
            {
                Artikelnummer  = 1,
                Beschrijving   = "Grote fiets voor iedereen",
                LeverbaarTot   = new DateTime(2018, 5, 5),
                LeverbaarVanaf = new DateTime(2017, 1, 1),
                Naam           = "Fiets",
                Prijs          = 100.50m,
                Voorraad       = 5
            };

            var artikel2 = new Artikel
            {
                Artikelnummer  = 2,
                Beschrijving   = "HELE grote fiets voor iedereen",
                LeverbaarTot   = new DateTime(2018, 5, 5),
                LeverbaarVanaf = new DateTime(2017, 1, 1),
                Naam           = "Fiets Groot",
                Prijs          = 600.50m,
                Voorraad       = 8
            };

            var klant = new Klant
            {
                Voornaam       = "Hans",
                Achternaam     = "Van Huizen",
                Id             = "1",
                Telefoonnummer = "0612341234",
                AdresRegel     = "Grote straat 1",
                Email          = "*****@*****.**",
                Plaats         = "Groningen",
                Postcode       = "6123AA",
                Wachtwoord     = "Geheim_101"
            };


            using (var context = new WebshopContext(_options))
            {
                var klantDatamapper = new KlantDatamapper(context);
                klantDatamapper.Insert(klant);

                var dataMapper = new ArtikelDatamapper(context);
                dataMapper.Insert(artikel);
                dataMapper.Insert(artikel2);
            }
        }
Exemplo n.º 15
0
        public ProductsController(WebshopContext context)
        {
            var Products = _context.Products.ToList();
            ProductViewModel viewModel = new ProductViewModel();

            viewModel.Products = Products;
            _context           = context;
        }
Exemplo n.º 16
0
 public ReviewService(IMapper mapper, WebshopContext context, AuthService authService, IHubContext <WebshopHub> hubContext, IHttpContextAccessor httpContext)
 {
     _user        = httpContext.HttpContext.User;
     _mapper      = mapper;
     _context     = context;
     _hubContext  = hubContext;
     _authService = authService;
 }
Exemplo n.º 17
0
 public AuthService(WebshopContext context, CryptoService cryptoService, IMapper mapper, IOptions <JwtSettings> jwtSettings, IHttpContextAccessor httpContext)
 {
     _mapper        = mapper;
     _context       = context;
     _httpContext   = httpContext;
     _cryptoService = cryptoService;
     _jwtSettings   = jwtSettings.Value;
 }
        public async Task InsertBestellingIntoDatabaseAndUpdate()
        {
            var bestelling = new Bestelling
            {
                Id                = 1,
                KlantId           = "1",
                AdresRegel1       = "Laagstraat 11",
                Plaats            = "Laaghoven",
                Postcode          = "1234FG",
                BestellingStatus  = BestellingStatus.TerControleVoorSales,
                BesteldeArtikelen = new List <BestellingItem>
                {
                    new BestellingItem(1, 3)
                    {
                        Id = 1
                    },
                    new BestellingItem(2, 5)
                    {
                        Id = 2
                    }
                }
            };

            using (var context = new WebshopContext(_options))
            {
                var mapper = new BestellingDatamapper(context);
                await mapper.Insert(bestelling);
            }

            using (var context = new WebshopContext(_options))
            {
                var mapper = new BestellingDatamapper(context);
                var result = await mapper.Get(1);

                Assert.AreEqual("1", result.KlantId);
                Assert.AreEqual("Laagstraat 11", result.AdresRegel1);
                Assert.AreEqual("Laaghoven", result.Plaats);
                Assert.AreEqual("1234FG", result.Postcode);
                Assert.AreEqual(2, result.BesteldeArtikelen.Count);
                Assert.IsTrue(result.BesteldeArtikelen.Any(b => b.Artikel.Naam == "Fiets" && b.Aantal == 3));

                result.BestellingStatus = BestellingStatus.GereedVoorBehandeling;
                using (var context2 = new WebshopContext(_options))
                {
                    var mapper2 = new BestellingDatamapper(context2);
                    await mapper2.Update(result);
                }
            }

            using (var context = new WebshopContext(_options))
            {
                var mapper = new BestellingDatamapper(context);
                var result = await mapper.Get(1);

                Assert.AreEqual(BestellingStatus.GereedVoorBehandeling, result.BestellingStatus);
            }
        }
Exemplo n.º 19
0
 public UserManagementController(
     WebshopContext dbContext,
     UserManager <Users> userManager,
     RoleManager <IdentityRole> roleManager)
 {
     _dbContext   = dbContext;
     _userManager = userManager;
     _roleManager = roleManager;
 }
Exemplo n.º 20
0
        public ActionResult Index()
        {
            WebshopContext db = new WebshopContext();

            return(View(
                       db.Products.ToList()
                       .OrderBy(p => p.UpdatedOn).Reverse()
                       ));
        }
Exemplo n.º 21
0
        public HomeController(

            UserManager <Users> userManager,
            SignInManager <Users> signInManager, WebshopContext context)
        {
            mUserManager   = userManager;
            mSignInManager = signInManager;
            _context       = context;
        }
        /// <summary>
        /// Initializes a new instance of the <see cref="GenericRepository{TEntity}"/> class.
        /// </summary>
        /// <param name="context">The context.</param>
        internal protected GenericRepository(WebshopContext context)
        {
            if (context == null)
            {
                throw new ArgumentNullException("context");
            }

            Context = context;
            DbSet   = context.Set <TEntity>();
        }
        // Changed DataContext type to WebshopContext
        public async Task Invoke(HttpContext context, WebshopContext dataContext)
        {
            var token = context.Request.Headers["Authorization"].FirstOrDefault()?.Split(" ").Last();

            if (token != null)
            {
                await attachAccountToContext(context, dataContext, token);
            }

            await _next(context);
        }
Exemplo n.º 24
0
        public void Initialize()
        {
            connection = new SqliteConnection("DataSource=:memory:");
            connection.Open();
            options = new DbContextOptionsBuilder <WebshopContext>()
                      .UseSqlite(connection)
                      .Options;

            using (var context = new WebshopContext(options))
            {
                context.Database.EnsureCreated();
            }
        }
        public async Task GetAllArtikelenReturnsAll()
        {
            var artikel = new Artikel
            {
                AfbeeldingUrl   = "Afbeelding.jpg",
                Artikelnummer   = 1,
                Beschrijving    = "Grote fiets voor iedereen",
                Leverancier     = "Fietsen bv",
                Leveranciercode = "1",
                LeverbaarTot    = new DateTime(2019, 8, 8),
                LeverbaarVanaf  = new DateTime(2017, 3, 3),
                Naam            = "Fiets",
                Prijs           = 299.3m
            };

            var artikel2 = new Artikel
            {
                AfbeeldingUrl   = "Afbeelding.jpg",
                Artikelnummer   = 2,
                Beschrijving    = "Ultra zacht zadel voor de meest comfortabele fietstocht",
                Leverancier     = "FietszadelsWinkel",
                Leveranciercode = "3",
                LeverbaarTot    = new DateTime(2019, 8, 8),
                LeverbaarVanaf  = new DateTime(2017, 3, 3),
                Naam            = "Zadel",
                Prijs           = 19.49m
            };

            using (var context = new WebshopContext(options))
            {
                var dataMapper = new ArtikelDatamapper(context);
                dataMapper.Insert(artikel);
                dataMapper.Insert(artikel2);
            }
            using (var context = new WebshopContext(options))
            {
                var dataMapper = new ArtikelDatamapper(context);
                var artikelen  = await dataMapper.GetAll();

                Assert.AreEqual(2, artikelen.Count);
                Assert.IsTrue(artikelen.Any(a => a.Artikelnummer == 2 && a.Naam == "Zadel" && a.PrijsWithBtw == 23.58m));
                Assert.IsTrue(artikelen.Any(a => a.Artikelnummer == 1 && a.Naam == "Fiets" && a.PrijsWithBtw == 362.15m));
            }
        }
Exemplo n.º 26
0
        static void Main(string[] args)
        {
            using WebshopContext db = new WebshopContext();

            User zvone = new User()
            {
                Name      = "Zvonimir Matic",
                Email     = "*****@*****.**",
                Addresses = new List <Address>()
                {
                    new Address()
                    {
                        Country      = "Croatia",
                        City         = "Rijeka",
                        PostalCode   = "51000",
                        StreetName   = "Petra Jurcica",
                        StreetNumber = "16"
                    }
                }
            };

            User john = new User()
            {
                Name  = "John Smith",
                Email = "*****@*****.**"
            };

            db.Users.Add(zvone);
            db.Users.Add(john);
            db.SaveChanges();

            IEnumerable <User> queryUsers = db.Users.Where(x => x.Name.ToLower().Contains("john"));

            foreach (User user in queryUsers)
            {
                user.Name = "Zvonimir Matic";
            }
            db.SaveChanges();
        }
Exemplo n.º 27
0
 public StatsController(WebshopContext context)
 {
     this.db = context;
 }
Exemplo n.º 28
0
 public InvoiceRepo(WebshopContext context)
 {
     _webshopContext = context;
 }
Exemplo n.º 29
0
 public CartService(Controller controller)
 {
     _controller = controller;
     _context    = new WebshopContext();
 }
Exemplo n.º 30
0
 public ProductReader(WebshopContext context, IMapper mapper)
 {
     _context = context ?? throw new ArgumentNullException($"{GetType().Name}.Ctor - parameter {nameof(context)} cannot be null.");
     _mapper  = mapper ?? throw new ArgumentNullException($"{GetType().Name}.Ctor - parameter {nameof(mapper)} cannot be null.");
 }
 public UserExistsAttribute()
 {
     _context          = new WebshopContext();
     base.ErrorMessage = ErrorMessage;
 }
Exemplo n.º 32
0
 public WebshopDSO(WebshopContext db)
 {
     this.db = db;
 }