コード例 #1
0
        public IActionResult Add(int Id, decimal Prijs, int Aantal, Winkelwagen winkelwagen)
        {
            Bon bon = _bonRepository.GetByBonId(Id);

            if (bon != null)
            {
                winkelwagen.VoegLijnToe(bon, Aantal, Prijs);
            }
            return(RedirectToAction(nameof(Index)));
        }
コード例 #2
0
        // Producten toevoegen aan winkelwagen
        public void AddToCard(int productID, int Quantity)
        {
            Product     product     = new Product();
            Winkelwagen winkelwagen = new Winkelwagen(product.id);

            winkelwagen.Prod.id     = productID;
            winkelwagen.hoeveelheid = Quantity;

            SetQuantity(product, winkelwagen);
            winkelwagenContainer.AddProductToCart(product, winkelwagen);
        }
コード例 #3
0
        public Winkelwagen Getproduct(int ProductID)
        {
            Winkelwagen winkelwagen = new Winkelwagen(ProductID);

            if (ExistReturnValue == null)
            {
                throw new NullReferenceException("Invalid use of stub code. First set field ExistsReturnValue");
            }
            ExistReturnValue = true;
            return(winkelwagen);
        }
コード例 #4
0
        private Winkelwagen ReadCartFromSession(HttpContext context)
        {
            Winkelwagen winkelwagen = context.Session.GetString("winkelwagen") == null ?
                                      new Winkelwagen() : JsonConvert.DeserializeObject <Winkelwagen>(context.Session.GetString("winkelwagen"));

            foreach (var l in winkelwagen.WinkelwagenLijnen)
            {
                l.Bon = _bonRepository.GetByBonId(l.Bon.BonId);
            }
            return(winkelwagen);
        }
コード例 #5
0
        public async Task <IActionResult> Create([Bind("Id,Soort,Aantal,Naam,Prijs")] Winkelwagen item)
        {
            if (ModelState.IsValid)
            {
                _context.Add(item);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Winkelwagen)));
            }
            return(View(item));
        }
コード例 #6
0
 public WinkelwagenDTO MapToDTO(Winkelwagen model)
 {
     return(new WinkelwagenDTO()
     {
         Datum = model.Datum,
         Id = model.Id,
         Klant = model.Klant,
         Producten = model.Producten,
         TotaalPrijs = model.TotaalPrijs
     });
 }
コード例 #7
0
        public ActionResult <WinkelwagenExportDTO> VerwijderWinkelwagen(int id)
        {
            Winkelwagen w = _winkelwagenRepository.GetBy(id);

            if (w == null)
            {
                return(NotFound());
            }
            _winkelwagenRepository.Delete(w);
            _winkelwagenRepository.SaveChanges();
            return(new WinkelwagenExportDTO(w));
        }
コード例 #8
0
        public async Task <IActionResult> BestellingPlaatsen(Winkelwagen winkelwagen)
        {
            ViewData["AlleCategorien"] = _categorieRepository.GetAll().ToList();

            var gebruiker = await HaalGebruikerOp();

            gebruiker.PlaatsBestelling(winkelwagen);
            _gebruikerRepository.SaveChanges();
            _bonRepository.SaveChanges();

            return(RedirectToAction(nameof(CheckoutController.BonAanmaken), "Checkout", new { index = 0 }));
        }
コード例 #9
0
        // product verwijderen.
        public void RemoveProduct(Winkelwagen product)
        {
            List <Winkelwagen> winkelwagenList = GetList();

            foreach (Winkelwagen item in winkelwagenList.ToList())
            {
                if (product.Prod.id == item.Prod.id)
                {
                    winkelwagenList.Remove(item);
                }
            }
        }
コード例 #10
0
        public Klant CreateNewWinkelwagenForKlant(Klant klant)
        {
            var winkelwagen = new Winkelwagen()
            {
                Datum     = DateTime.Now,
                Producten = new List <WinkelwagenItem>()
            };

            klant.Winkelwagens = new List <Winkelwagen>();
            klant.Winkelwagens.Add(winkelwagen);

            return(klant);
        }
コード例 #11
0
        public Winkelwagen CreateWinkelwagen(Klant klant)
        {
            var winkelwagen = new Winkelwagen()
            {
                Datum     = DateTime.Now,
                Producten = new List <WinkelwagenItem>()
            };

            klant.Winkelwagens.Add(winkelwagen);
            return(klant.Winkelwagens
                   .OrderByDescending(d => d.Datum)
                   .FirstOrDefault());
        }
コード例 #12
0
        public IActionResult BonnenBruikbaarMaken(int Id, Winkelwagen winkelwagen)
        {
            winkelwagen.MaakLeeg();
            Bestelling bestelling = _bestellingRepository.GetBy(Id);
            ICollection <BestelLijn> bestellijnen = HaalBestellijnenOp(bestelling);

            bestellijnen.ToList().ForEach(bl => bl.Geldigheid = Geldigheid.Geldig);
            IList <BestelLijn> bestellijn = bestellijnen.ToList();

            _gebruikerRepository.SaveChanges();

            VerstuurMails(bestelling);

            return(RedirectToAction(nameof(CheckoutController.Bedankt), "Checkout", new { Id }));
        }
コード例 #13
0
        public WinkelwagenTest()
        {
            //Twee handelaars die cadeaubonnen hebben die vallen onder dezelfde categorie, genomen uit de LekkerLokaalDataInitializer.
            Handelaar Handelaar81 = new Handelaar("Fnac", "*****@*****.**", "De multimedia specialist in Europa.", "BE 588 137 284", @"images\handelaar\51\thumb.jpg", "Arbeidstraat", "14", 9300, "Aalst");
            Handelaar Handelaar82 = new Handelaar("Mediamarkt", "*****@*****.**", "Electronica tegen een spot prijs.", "BE 812 573 731", @"images\handelaar\52\thumb.jpg", "Mechelsesteenweg", "138", 9200, "Dendermonde");
            Categorie multimedia  = new Categorie("Multimedia", "fa-laptop");

            //Merk op: we gebruiken slechts twee verschillende bonnen omdat bij het toevoegen van een bon aan de winkelwagen het gewenste bedrag meegegeven wordt.
            _winkelwagen = new Winkelwagen();
            _bon1        = new Bon("Fnac Aalst", 3, 377, "De multimedia specialist in Europa", 54, @"images\bon\61\", multimedia, "Arbeidstraat", "14", 9300, "Aalst", Handelaar81, Aanbieding.Geen);
            _bon2        = new Bon("Mediamarkt Dendermonde", 46, 433, "Electronica tegen een spot prijs", 45, @"images\bon\62\", multimedia, "Mechelsesteenweg", "138", 9200, "Dendermonde", Handelaar82, Aanbieding.Geen);

            //Normaal gezien krijgen cadeaubonnen automatisch een id toegewezen in de databank maar om te testen moeten we dit manueel doen.
            _bon1.BonId = 1;
            _bon2.BonId = 2;
        }
コード例 #14
0
        public void Check_GetProduct()
        {
            //Arrange
            Product     product     = new Product();
            Winkelwagen winkelwagen = new Winkelwagen(product.id);

            var winkelwagenDALStub   = new WinkelwagenDALStub();
            var winkelwagenContainer = new WinkelwagenContainer(winkelwagenDALStub);

            winkelwagenDALStub.ExistReturnValue = false;

            //Act
            winkelwagen = winkelwagenDALStub.Getproduct(product.id);

            //Assert
            Assert.True(winkelwagenDALStub.ExistReturnValue);
        }
コード例 #15
0
 public WinkelwagenExportDTO(Winkelwagen w)
 {
     this.Id           = w.Id;
     this.Datum        = w.Datum;
     this.DatumDag     = w.Datum.Day;
     this.DatumMaand   = w.Datum.Month;
     this.DatumJaar    = w.Datum.Year;
     this.DatumUur     = w.Datum.Hour + 1;
     this.DatumMinuten = w.Datum.Minute;
     this.Items        = new List <WinkelwagenItemMtmExportDTO>();
     w.Items.ForEach(t =>
     {
         var dto = new WinkelwagenItemMtmExportDTO(t);
         this.Items.Add(dto);
     });
     this.Betaald   = w.Betaald;
     this.Gebruiker = new GebruikerExportDTO(w.Gebruiker);
 }
コード例 #16
0
        public BestellingTest()
        {
            //Drie handelaars die cadeaubonnen hebben die vallen onder dezelfde categorie, genomen uit de LekkerLokaalDataInitializer + een lege winkelmand.
            Handelaar   Handelaar81 = new Handelaar("Fnac", "*****@*****.**", "De multimedia specialist in Europa.", "BE 588 137 284", @"images\handelaar\51\thumb.jpg", "Arbeidstraat", "14", 9300, "Aalst");
            Handelaar   Handelaar82 = new Handelaar("Mediamarkt", "*****@*****.**", "Electronica tegen een spot prijs.", "BE 812 573 731", @"images\handelaar\52\thumb.jpg", "Mechelsesteenweg", "138", 9200, "Dendermonde");
            Handelaar   Handelaar83 = new Handelaar("Van Den Borre", "*****@*****.**", "Koffiezets voor 12€.", "BE 253 500 301", @"images\handelaar\53\thumb.jpg", "Sint-Pietersnieuwstraat", "124", 9000, "Gent");
            Categorie   multimedia  = new Categorie("Multimedia", "fa-laptop");
            Winkelwagen winkelwagen = new Winkelwagen();

            _bon1 = new Bon("Fnac Aalst", 3, 377, "De multimedia specialist in Europa", 54, @"images\bon\61\", multimedia, "Arbeidstraat", "14", 9300, "Aalst", Handelaar81, Aanbieding.Geen);
            _bon2 = new Bon("Mediamarkt Dendermonde", 46, 433, "Electronica tegen een spot prijs", 45, @"images\bon\62\", multimedia, "Mechelsesteenweg", "138", 9200, "Dendermonde", Handelaar82, Aanbieding.Geen);
            _bon3 = new Bon("Van Den Borre Gent", 31, 181, "Koffiezets voor 12€", 15, @"images\bon\63\", multimedia, "Sint-Pietersnieuwstraat", "124", 9000, "Gent", Handelaar83, Aanbieding.Geen);

            winkelwagen.VoegLijnToe(_bon1, 5, 10);
            winkelwagen.VoegLijnToe(_bon2, 3, 30);

            _bestelling = new Bestelling(winkelwagen);
        }
コード例 #17
0
        public ActionResult <WinkelwagenExportDTO> ChangeBetaaldWinkelwagen(int id)
        {
            Winkelwagen w = _winkelwagenRepository.GetBy(id);

            if (w == null)
            {
                return(NotFound());
            }
            if (w.Betaald == false)
            {
                w.Betaald = true;
            }
            else
            {
                w.Betaald = false;
            }
            _winkelwagenRepository.Update(w);
            _winkelwagenRepository.SaveChanges();
            return(new WinkelwagenExportDTO(w));
        }
コード例 #18
0
        public void Check_AddProductToCard_1_product()
        {
            //Arrange
            Product     product              = new Product();
            Winkelwagen winkelwagen          = new Winkelwagen(product.id);
            var         winkelwagenDALStub   = new WinkelwagenDALStub();
            var         WinkelwagenContainer = new WinkelwagenContainer(winkelwagenDALStub);

            winkelwagenDALStub.ExistReturnValue = false;

            //Act
            var winkelwagenList = WinkelwagenContainer.GetList();

            WinkelwagenContainer.AddProductToCart(product, winkelwagen);

            var result   = winkelwagenList.Count();
            var expected = 1;

            //Assert
            Assert.Equal(expected, result);
        }
コード例 #19
0
        //BestellingLijn verwijderen
        private void BtnWinkelwagenLijnVerwijderen_Click(object sender, RoutedEventArgs e)
        {
            //De geselecteerde winkelwagenLijn uit de database verwijderen
            Winkelwagen winkelwagenLijn = GetSelectedWinkelwagenLijn();

            if (winkelwagenLijn != null)
            {
                DatabaseManager.Instance.WinkelwagenRepository.DeletewinkelwagenLijn(winkelwagenLijn.LijnId, winkelwagenLijn.ProductId, winkelwagenLijn.Aantal);
                DatabaseManager.Instance.ProductRepository.AddStock(winkelwagenLijn.ProductId, winkelwagenLijn.Aantal);
            }


            //WinkelwagenLijnen importeren en tonen
            List <Winkelwagen> winkelwagenLijnen = DatabaseManager.Instance.WinkelwagenRepository.GetWinkelwagenLijnen().ToList();

            LstWinkelwagenLijnen.ItemsSource = winkelwagenLijnen;

            //Toon de "Te Betalen totaal"
            Winkelwagen tebetalen = DatabaseManager.Instance.WinkelwagenRepository.GetTotaalTeBetalen();

            TxtTotaalTeBetalen.Text = tebetalen.Totaal.ToString("0.00");
        }
コード例 #20
0
        public void Check_if_list_is_cleared()
        {
            //Arrange
            var winkelwagenDALStub                = new WinkelwagenDALStub();
            var winkelwagenContainer              = new WinkelwagenContainer(winkelwagenDALStub);
            List <Winkelwagen> products           = new List <Winkelwagen>();
            Product            product            = new Product();
            Winkelwagen        winkelwagenProduct = new Winkelwagen(product.id);

            //Act
            products.Add(winkelwagenProduct);
            products.Add(winkelwagenProduct);
            products.Add(winkelwagenProduct);

            var list = winkelwagenContainer.GetList();

            winkelwagenContainer.ClearList();
            //Assert
            var result   = list.Count();
            var expected = 0;

            Assert.Equal(expected, result);
        }
コード例 #21
0
        //WinkelwagenId aanmaken en tonen + Datagrid en textboxes resetten
        private void KlantPage_OnLoaded(object sender, RoutedEventArgs e)
        {
            //Tabellen WinkelwagenLijnen en Winkelwagen leegmaken van de rijen waar "Totaal = 0" in de tabel Winkelwagen
            DatabaseManager.Instance.WinkelwagenRepository.DeleteEmptyWinkelwagenLijnen();
            DatabaseManager.Instance.WinkelwagenRepository.DeleteEmptyWinkelwagen();


            //Reset
            TxtTotaalTeBetalen.Text = "0,00";
            TxtArtikelId.Text       = string.Empty;
            TxtHoeveelheid.Text     = string.Empty;

            //Datagrid resetten
            LstWinkelwagenLijnen.Items.Clear();

            //Nieuwe WinkelwagenId aanmaken
            DatabaseManager.Instance.WinkelwagenRepository.InsertWinkelwagen();

            //WinkelwagenId opladen
            Winkelwagen winkelwagenNr = DatabaseManager.Instance.WinkelwagenRepository.GetWinkelWagenId();

            TxtWinkelwagenNr.Text = winkelwagenNr.Id.ToString();
        }
コード例 #22
0
        public void TestClassWinkelwagen()
        {
            Dictionary <Product, int> productenlist = new Dictionary <Product, int>();

            productenlist.Add(p, 4);
            Winkelwagen w = new Winkelwagen(1, k, productenlist);

            //Nu gaan we de methode testen in de winkelwagen. Aangezien de prijs van het product 10eu kost
            //en we hebben er 4 producten van hetzelfde product erin gedaan. Dus hier moet 40 uitkomen 4*10
            decimal pricetotaal = w.TotaalPrijs;

            Assert.AreEqual(pricetotaal, 40);

            //Nu voegen we nog een product toe van 20 eu, dus nu moet de prijs uitkomen op 60 eu.
            productenlist.Add(p1, 1);
            pricetotaal = 0;
            pricetotaal = w.TotaalPrijs;
            Assert.AreEqual(pricetotaal, 60);

            //De overige get testen.
            Assert.AreEqual(w.ID, 1);
            Assert.AreEqual(w.Klant, k);
        }
コード例 #23
0
        public void TestBagOneProduct(double price, int quantity, double expectedTotal)
        {
            var bag = new Winkelwagen()
            {
                Producten = new List <WinkelwagenItem>()
            };

            bag.Producten.Add(
                new WinkelwagenItem()
            {
                Product = new Cursus()
                {
                    Titel = "dotNET",
                    Prijs = price
                },
                Aantal = quantity
            });

            var calculator = new CostCalculator();
            var cost       = calculator.CalculateCost(bag);

            Assert.AreEqual(expectedTotal, cost);
        }
コード例 #24
0
        //(Product + hoeveelheid) toevoegen  + Toon "Totaal te betalen bedrag"
        private void BtnWinkelwagenLijnToevoegen_Click(object sender, RoutedEventArgs e)
        {
            //BestellingLijn toevoegen
            bool ProductId = int.TryParse(TxtArtikelId.Text, out int productid);
            bool Aantal    = float.TryParse(TxtHoeveelheid.Text, out float aantal);

            if (ProductId && Aantal)
            {
                try
                {
                    aantal = (float)DatabaseManager.Instance.ProductRepository.ControleStock(productid, aantal);
                    DatabaseManager.Instance.WinkelwagenRepository.InsertWinkelwagenLijnen(productid, aantal);
                    DatabaseManager.Instance.ProductRepository.UpdateStockProduct(aantal);
                }
                catch (BusinessException excp)
                {
                    MessageBox.Show(excp.Message);
                }
            }
            else
            {
                MessageBox.Show("Ongeldige invoer");
            }

            //TxtArtikelId + TxtHoeveelheid resetten (leegmaken)
            TxtArtikelId.Text   = string.Empty;
            TxtHoeveelheid.Text = string.Empty;

            Initialize();


            //Toon de "Te Betalen totaal"
            Winkelwagen totaaltebetalen = DatabaseManager.Instance.WinkelwagenRepository.GetTotaalTeBetalen();

            Math.Round(totaaltebetalen.Totaal, 2);
            TxtTotaalTeBetalen.Text = totaaltebetalen.Totaal.ToString("0.00");
        }
コード例 #25
0
        //Hoeveheid bepalen
        public void SetProductQuantity(Product product, Winkelwagen winkelwagen)
        {
            // als de hoevelheid nul is verwijder de product.
            if (winkelwagen.hoeveelheid == 0)
            {
                RemoveProduct(winkelwagen);
                return;
            }

            Winkelwagen updatedProduct = new Winkelwagen(product.id);

            updatedProduct.hoeveelheid = winkelwagen.hoeveelheid;
            var winkelwagenList = GetList();

            // update de hoeveelheid van een product in de list
            foreach (Winkelwagen products in winkelwagenList)
            {
                if (products.hoeveelheid.Equals(updatedProduct.hoeveelheid))
                {
                    products.hoeveelheid = winkelwagen.hoeveelheid;
                    return;
                }
            }
        }
コード例 #26
0
 public void Update(Winkelwagen winkelwagen)
 {
     _winkelwagen.Update(winkelwagen);
     SaveChanges();
 }
コード例 #27
0
 public void Delete(Winkelwagen winkelwagen)
 {
     _winkelwagen.Remove(winkelwagen);
 }
コード例 #28
0
 public void Add(Winkelwagen winkelwagen)
 {
     _winkelwagen.Add(winkelwagen);
 }
コード例 #29
0
        //WinkelwagenLijn Selecteren
        private Winkelwagen GetSelectedWinkelwagenLijn()
        {
            Winkelwagen selectedwinkelwagenLijn = LstWinkelwagenLijnen.SelectedItem as Winkelwagen;

            return(selectedwinkelwagenLijn);
        }
コード例 #30
0
 public void SetQuantity(Product productID, Winkelwagen Quantity)
 {
     winkelwagenContainer.SetProductQuantity(productID, Quantity);
 }