コード例 #1
0
        public IActionResult Jurk(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            List <Jurk> jurken = new List <Jurk>();

            // Haal de jurk
            Jurk jurk = _context.Jurk.Include(x => x.artikel.Jurken).Include(x => x.kleur).Include(x => x.merk).Include(x => x.artikel).Include(x => x.neklijn).Include(x => x.silhouette).Include(x => x.stijl).Where(j => j.JurkID == id).FirstOrDefault();

            if (jurk == null)
            {
                return(NotFound());
            }

            jurken.Add(jurk);

            // Haal vervolgens de jurken onder hetzelfde artikel om de andere kleuren te laten zien.
            List <Jurk> related = _context.Jurk.Include(x => x.artikel.Jurken).Include(x => x.kleur).Include(x => x.merk).Include(x => x.artikel).Include(x => x.neklijn).Include(x => x.silhouette).Include(x => x.stijl).Where(j => j.ArtikelID == jurk.ArtikelID && j.JurkID != jurk.JurkID).ToList();

            jurken.AddRange(related);

            return(View(jurken));
        }
コード例 #2
0
        public IActionResult Index(List <string> merk, int sort, int id)
        {
            // Categorieen
            ViewBag.categorieen = _context.Categorie.ToList <Categorie>();

            // Stijlen
            ViewBag.stijlen = _context.Stijl.ToList <Stijl>();

            // Neklijnen
            ViewBag.neklijnen = _context.Neklijn.ToList <Neklijn>();

            // Silhouette
            ViewBag.silhouette = _context.Silhouette.ToList <Silhouette>();

            // Kleuren
            ViewBag.kleuren = _context.Kleur.ToList <Kleur>();

            // Merken
            ViewBag.merken = _context.Merk.ToList <Merk>();

            // Max prijs
            ViewBag.maxprijs = _context.Jurk.Max(j => j.Prijs);


            // Als id(categorie) is gezet dan halen we alleen artikelen van die categorie
            if (id != 0)
            {
                ViewBag.artikelen = _context.Artikel.Where(j => j.CategorieID == id).ToList <Artikel>();
            }
            else
            {
                ViewBag.artikelen = _context.Artikel.ToList <Artikel>();
            }


            List <Jurk> jurken = new List <Jurk>();

            // Haal 1 jurk van elk artikel om te laten zien
            foreach (Artikel artikel in ViewBag.artikelen)
            {
                // Haal jurk op van artikel
                Jurk jurk = _context.Jurk.Where(j => j.artikel.ArtikelID == artikel.ArtikelID).First <Jurk>();


                if (jurk != null)
                {
                    jurken.Add(jurk);
                }
            }

            ViewBag.jurken = jurken;


            ViewBag.test = merk.FirstOrDefault <string>();

            return(View());
        }
コード例 #3
0
        public IActionResult Delete(int jurkId)
        {
            Jurk deletedJurk = repository.DeleteJurk(jurkId);

            if (deletedJurk != null)
            {
                //TempData["message"] = $"{deletedJurk.Artikelnummer} was deleted";
            }
            return(RedirectToAction("Crud"));
        }
コード例 #4
0
        public Jurk DeleteJurk(int jurkId)
        {
            Jurk dbEntry = context.Jurken
                           .FirstOrDefault(p => p.JurkId == jurkId);

            if (dbEntry != null)
            {
                context.Jurken.Remove(dbEntry);
                context.SaveChanges();
            }
            return(dbEntry);
        }
コード例 #5
0
 private static void AddAfbeelding(Jurk jurk, Pak pak, String sourcepath, HoneyMoonShopContext context)
 {
     context.AddRange(
         new Afbeelding {
         Jurk = jurk, Pak = null, SourcePath = "/" + sourcepath + "a"
     },
         new Afbeelding {
         Jurk = jurk, Pak = null, SourcePath = "/" + sourcepath + "b"
     },
         new Afbeelding {
         Jurk = jurk, Pak = null, SourcePath = "/" + sourcepath + "c"
     }
         );
 }
コード例 #6
0
        public void Geldige_Edit_BeheerController()
        {
            var mock = new Mock <IHoneymoonshopRepository>();
            BeheerController controller = new BeheerController(mock.Object);
            Jurk             jurk       = new Jurk()
            {
                Artikelnummer = 9999999, JurkId = 1
            };
            var result = controller.Edit(jurk);
            var redirectToActionResult = Assert.IsType <RedirectToActionResult>(result);

            Assert.Null(redirectToActionResult.ControllerName);
            Assert.Equal("Crud", redirectToActionResult.ActionName);
        }
コード例 #7
0
 public IActionResult Edit(Jurk jurk)
 {
     if (ModelState.IsValid)
     {
         repository.SaveJurk(jurk);
         //TempData["message"] = $"{jurk.Artikelnummer} has been saved";
         return(RedirectToAction("Crud"));
     }
     else
     {
         // there is something wrong with the data values
         return(View(jurk));
     }
 }
コード例 #8
0
        public ViewResult EditCustom(int jurkId)
        {
            Jurk jurk = repository.Jurken
                        .FirstOrDefault(p => p.JurkId == jurkId);

            List <string> alleMerken = repository.Jurken.Select(g => g.Merk).Distinct().ToList();

            ViewData["merken"] = alleMerken;
            List <string> alleStijlen = repository.Jurken.Select(g => g.Stijl).Distinct().ToList();

            ViewData["stijlen"] = alleStijlen;
            List <string> neklijnen = repository.Jurken.Select(g => g.Neklijn).Distinct().ToList();

            ViewData["neklijnen"] = neklijnen;
            List <string> silhouettes = repository.Jurken.Select(g => g.Silhouette).Distinct().ToList();

            ViewData["silhouettes"] = silhouettes;

            return(View(jurk));
        }
コード例 #9
0
        public async Task <IActionResult> Edit(int id, [Bind("JurkID,ArtikelID,CategorieID,KleurID,MerkID,NeklijnID,Omschrijving,Prijs,SilhouetteID,StijlID")] Jurk jurk)
        {
            if (id != jurk.JurkID)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(jurk);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!JurkExists(jurk.JurkID))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction("Index"));
            }

            JurkViewModel jvm = new JurkViewModel();

            jvm.jurk        = jurk;
            jvm.artikelen   = _context.Artikel.ToList <Artikel>();
            jvm.categorieen = _context.Categorie.ToList <Categorie>();
            jvm.kleuren     = _context.Kleur.ToList <Kleur>();
            jvm.merken      = _context.Merk.ToList <Merk>();
            jvm.neklijnen   = _context.Neklijn.ToList <Neklijn>();
            jvm.silhouettes = _context.Silhouette.ToList <Silhouette>();
            jvm.stijlen     = _context.Stijl.ToList <Stijl>();
            return(View(jvm));
        }
コード例 #10
0
 public void SaveJurk(Jurk jurk)
 {
     if (jurk.JurkId == 0)
     {
         context.Jurken.Add(jurk);
     }
     else
     {
         Jurk dbEntry = context.Jurken
                        .FirstOrDefault(p => p.JurkId == jurk.JurkId);
         if (dbEntry != null)
         {
             dbEntry.Artikelnummer = jurk.Artikelnummer;
             dbEntry.Merk          = jurk.Merk;
             dbEntry.Stijl         = jurk.Stijl;
             dbEntry.MinPrijs      = jurk.MinPrijs;
             dbEntry.MaxPrijs      = jurk.MaxPrijs;
             dbEntry.Neklijn       = jurk.Neklijn;
             dbEntry.Silhouette    = jurk.Silhouette;
         }
     }
     context.SaveChanges();
 }
コード例 #11
0
        public void TestDelete()
        {
            Jurk jurk = new Jurk()
            {
                Artikelnummer = 9999999, JurkId = 1
            };
            Jurk jurk2 = new Jurk()
            {
                Artikelnummer = 11111111, JurkId = 2
            };
            HoneyMoonShopContext context = new HoneyMoonShopContext();

            context.Add(jurk);
            context.Add(jurk2);
            var mock = new Mock <IHoneymoonshopRepository>();

            mock.Setup(x => x.DeleteJurk(jurk.JurkId));

            BeheerController beheer = new BeheerController(mock.Object);

            beheer.Delete(jurk.JurkId);
            mock.Verify(f => f.DeleteJurk(jurk.JurkId));
        }
コード例 #12
0
        public IActionResult Artikelpagina(Jurk curJurk)
        {
            using (var context = new HoneyMoonShopContext())
            {
                int artikelNummer = curJurk.Artikelnummer;
                ViewData["nummer"] = artikelNummer;

                int maxp = curJurk.MaxPrijs;
                ViewData["maxi"] = maxp;

                int minp = curJurk.MinPrijs;
                ViewData["min"] = minp;

                string teks = curJurk.Omschrijving;
                ViewData["Omschrijving"] = teks;

                String merken = curJurk.Merk;
                ViewData["merkje"] = merken;

                String stylo = curJurk.Stijl;
                ViewData["stylo"] = stylo;

                String nl = curJurk.Neklijn;
                ViewData["nek"] = nl;

                String sil = curJurk.Silhouette;
                ViewData["silh"] = sil;

                ViewData["merkje"] = merken;

                string img1 = "/Images/" + artikelNummer + "a.png";
                string img2 = "/Images/" + artikelNummer + "b.png";
                string img3 = "/Images/" + artikelNummer + "c.png";

                ViewData["pl1"] = img1;
                ViewData["pl2"] = img2;
                ViewData["pl3"] = img3;

                //hieronder laad het de bijbehorende accesoires(random)
                var           alleAccessoires    = context.Accessoire.ToList();
                var           juisteAccessoires  = new List <Accessoire>();
                List <string> accesoiresPlaatjes = new List <string>();
                List <string> accessoirelinks    = new List <string>();
                List <string> accessoireMerk     = new List <string>();
                Random        rnd     = new Random();
                int           hoogste = alleAccessoires.Count();
                for (int i = 0; i < hoogste; i++)
                {
                    hoogste = alleAccessoires.Count();
                    int actualRandom = rnd.Next(0, hoogste - 1);
                    juisteAccessoires.Add(alleAccessoires.ElementAt(actualRandom));
                    alleAccessoires.RemoveAt(actualRandom);
                    accessoirelinks.Add(juisteAccessoires[i].LinkNaarWebshop);
                    accessoireMerk.Add(juisteAccessoires[i].Merk);
                    String plaatje = Convert.ToString(juisteAccessoires.ElementAt(i).AccessoireCode);
                    String afr     = "/Images/Accessoire/" + plaatje + ".jpg";
                    accesoiresPlaatjes.Add(afr);
                }
                ViewData["AccessoireLink"] = accessoirelinks;
                ViewData["AccessoiresNum"] = accesoiresPlaatjes;
                ViewData["AccessoireMerk"] = accessoireMerk;
                ViewData["Accessoires"]    = juisteAccessoires;
                //hier laad het random jurken
                var           alleJurken   = context.Jurken.ToList();
                var           juisteJurken = new List <Jurk>();
                List <string> jurkNaam     = new List <string>();
                List <int>    jurkNummer   = new List <int>();
                List <string> plaatjes     = new List <string>();
                hoogste = alleJurken.Count();
                for (int i = 0; i < hoogste; i++)
                {
                    hoogste = alleJurken.Count();
                    int actualRandom = rnd.Next(0, hoogste - 1);
                    juisteJurken.Add(alleJurken.ElementAt(actualRandom));
                    alleJurken.RemoveAt(actualRandom);
                    jurkNaam.Add(juisteJurken[i].Merk);
                    jurkNummer.Add(juisteJurken[i].Artikelnummer);
                    string afr = "/Images/" + jurkNummer[i].ToString() + "a.png";
                    plaatjes.Add(afr);
                }
                ViewData["jurkNamen"]    = jurkNaam;
                ViewData["jurkPlaatjes"] = plaatjes;
                ViewData["jurkNummer"]   = jurkNummer;
            }
            return(View());
        }
コード例 #13
0
        public static void AddJurk(HoneyMoonShopContext context)
        {
            Jurk jurk;

            context.Add(
                jurk =
                    new Jurk()
            {
                Artikelnummer = 12649,
                Merk          = "Ladybird",
                Omschrijving  =
                    "Trouwjurk van het merk Ladybird gemaakt van kant. De top is strapless met een sweetheart lijn. De rok heeft een A-lijn met een sleep.",
                MinPrijs   = 1500,
                MaxPrijs   = 1750,
                Neklijn    = "Strapless",
                Silhouette = "A-lijn",
                Stijl      = "Kant"
            });
            AddAfbeelding(jurk, null, "12649", context);
            AddKleur(12649, "ff0000", "Rood", context);

            context.Add(new Jurk
            {
                Artikelnummer = 12810,
                Merk          = "Diane Legrand",
                Omschrijving  =
                    "Trouwjurk van het merk Diane Legrand gemaakt van kant. De top heeft een hoge doorzichtige neklijn en een laag uitgesneden rug, afgewerkt met beading. De rok is wijdvallend met een sleep.",
                MinPrijs   = 1250,
                MaxPrijs   = 1500,
                Neklijn    = "Hoge neklijn",
                Silhouette = "Princess model",
                Stijl      = "Prinses Bruid"
            });
            AddAfbeelding(jurk, null, "12810", context);
            AddKleur(12810, "#0ed61c", "Groen", context);

            context.Add(new Jurk
            {
                Artikelnummer = 12746,
                Merk          = "Pronovias",
                Omschrijving  =
                    "Trouwjurk van het merk Pronovias gemaakt van kant. De top is doorzichtig, heeft een hoge neklijn en een laag uitgesneden rug. De rok is wijdvallend met een sleep en is gemaakt van tulle.",
                MinPrijs   = 2250,
                MaxPrijs   = 2500,
                Neklijn    = "Hoge neklijn",
                Silhouette = "Princess model",
                Stijl      = "Prinses Bruid"
            });
            AddAfbeelding(jurk, null, "12746", context);
            AddKleur(12746, "7a3030", "Bruin", context);

            context.Add(new Jurk
            {
                Artikelnummer = 12695,
                Merk          = "Maggie Sottero",
                Omschrijving  =
                    "Trouwjurk van het merk Maggie Sottero gemaakt van organza. De hals is strapless met een sweetheart lijn. De top is afgewerkt met kant. De rok is wijdvallend met een sleep en is verwerkt in ruches.",
                MinPrijs   = 2000,
                MaxPrijs   = 2250,
                Neklijn    = "Strapless",
                Silhouette = "Princess model",
                Stijl      = "Kant"
            });

            AddAfbeelding(jurk, null, "12695", context);
            AddKleur(12695, "#FAC9C4", "Roze", context);

            context.Add(new Jurk
            {
                Artikelnummer = 12925,
                Merk          = "Eddy K.",
                Omschrijving  =
                    "Trouwjurk van het merk Eddy K. gemaakt van kant. De top is strapless met een lichte sweetheart lijn. De rok heeft een fishtail model met een sleep.",
                MinPrijs   = 1750,
                MaxPrijs   = 2000,
                Neklijn    = "Strapless",
                Silhouette = "Fishtail",
                Stijl      = "Kant"
            });
            AddAfbeelding(jurk, null, "12925", context);
            AddKleur(12925, "#1313c1", "blauw", context);

            context.Add(new Jurk
            {
                Artikelnummer = 12627,
                Merk          = "Ladybird",
                Omschrijving  =
                    "Trouwjurk van het merk Ladybird gemaakt van organza. De top heeft doorzichtige schouderbanden en een laag uitgesneden rug, beide afgewerkt met gekleurde kanten applicaties. De taille wordt geaccentueerd door een gekleurde riem, drapperie en kanten applicaties. De jurk heeft een A-lijn met sleep en kan gepast worden in de sand kleur.",
                MinPrijs   = 1250,
                MaxPrijs   = 1500,
                Neklijn    = "Schouderbandjes",
                Silhouette = "A-lijn",
                Stijl      = "Kleurrijke Bruid"
            });
            AddAfbeelding(jurk, null, "12627", context);
            AddKleur(12627, "#fff", "wit", context);
        }
コード例 #14
0
        public IActionResult Filter(List <int> merk, int sort, int id, List <int> stijl, List <int> neklijn, List <int> silhouette, List <int> kleur, int max, int min, int aantaltonen, int pagina)
        {
            // Categorieen
            ViewBag.categorieen = _context.Categorie.ToList <Categorie>();

            // Stijlen
            ViewBag.stijlen = _context.Stijl.ToList <Stijl>();

            // Neklijnen
            ViewBag.neklijnen = _context.Neklijn.ToList <Neklijn>();

            // Silhouette
            ViewBag.silhouette = _context.Silhouette.ToList <Silhouette>();

            // Kleuren
            ViewBag.kleuren = _context.Kleur.ToList <Kleur>();

            // Merken
            ViewBag.merken = _context.Merk.ToList <Merk>();

            // Max prijs
            ViewBag.maxprijs = _context.Jurk.Max(j => j.Prijs);


            List <Artikel> artikelen;

            // Als id(categorie) is gezet dan halen we alleen artikelen van die categorie
            if (id != 0)
            {
                artikelen = _context.Artikel.Include(j => j.Jurken).Where(j => j.CategorieID == id).ToList();
            }
            else
            {
                artikelen = _context.Artikel.Include(j => j.Jurken).ToList <Artikel>();
            }

            // Artikel moet wel een jurk hebben.
            artikelen = artikelen.Where(j => j.Jurken.Count > 0).ToList();


            // totaal aantal artikelen voor aantal paginas.
            int aantaljurken = artikelen.Count();

            ViewBag.aantaljurken = aantaljurken;

            // aantal skippen als er een pagina is
            if (pagina > 1)
            {
                artikelen = artikelen.Skip((pagina - 1) * aantaltonen).ToList();
            }

            // Aantal tonen
            artikelen = artikelen.Take(aantaltonen).ToList();


            // aantal paginas berekenen(naar boven afronden)
            double aantalpaginas = Math.Ceiling((double)aantaljurken / aantaltonen);

            ViewData["aantalpaginas"] = aantalpaginas;
            ViewBag.pagina            = pagina;
            ViewBag.aantalPaginas     = aantalpaginas;


            // Voeg aan viewbag toe
            ViewBag.artikelen = artikelen;


            List <Jurk> jurken = new List <Jurk>();

            // Haal 1 jurk van elk artikel om te laten zien
            foreach (Artikel artikel in ViewBag.artikelen)
            {
                var query = _context.Jurk.Where(j => j.artikel.ArtikelID == artikel.ArtikelID);

                // voeg meerdere condities toe als er gefilterd wordt.

                // Merk filter
                if (merk.Count() > 0)
                {
                    query = query.Where(j => merk.Contains(j.merk.MerkID));
                }

                // Stijl jurk filter
                if (stijl.Count() > 0)
                {
                    query = query.Where(j => stijl.Contains(j.stijl.StijlID));
                }

                //Neklijn filter
                if (neklijn.Count() > 0)
                {
                    query = query.Where(j => neklijn.Contains(j.neklijn.NeklijnID));
                }

                //silhouette filter
                if (silhouette.Count() > 0)
                {
                    query = query.Where(j => silhouette.Contains(j.silhouette.SilhouetteID));
                }

                // kleur filter
                if (kleur.Count() > 0)
                {
                    query = query.Where(j => kleur.Contains(j.kleur.KleurID));
                }

                // kleur filter
                if (min > 0)
                {
                    query = query.Where(j => j.Prijs >= min);
                }

                // kleur filter
                if (max > 0)
                {
                    query = query.Where(j => j.Prijs <= max);
                }


                Jurk jurk = query.FirstOrDefault <Jurk>();

                if (jurk != null)
                {
                    jurken.Add(jurk);
                }
            }

            // Sorteren
            if (sort != 0)
            {
                switch (sort)
                {
                // prijs hoog naar laag
                case 1:
                    jurken = jurken.OrderByDescending(j => j.Prijs).ToList();
                    break;

                // prijs laag naar hoog
                case 2:
                    jurken = jurken.OrderBy(j => j.Prijs).ToList();
                    break;
                }
            }

            ViewBag.jurken = jurken;
            ViewBag.pagina = pagina;

            DressfinderIndex dfi = new DressfinderIndex();

            ViewBag.aantaltonen = aantaltonen;
            dfi.aantaltonen     = new List <int>()
            {
                6, 12, 24, 36
            };;

            return(View(dfi));
        }
コード例 #15
0
        public IActionResult Index(int id, int sort)
        {
            ViewBag.extrajs = "~/js/dressfinder.js";

            // Categorieen
            ViewBag.categorieen = _context.Categorie.ToList <Categorie>();

            // Stijlen
            ViewBag.stijlen = _context.Stijl.ToList <Stijl>();

            // Neklijnen
            ViewBag.neklijnen = _context.Neklijn.ToList <Neklijn>();

            // Silhouette
            ViewBag.silhouette = _context.Silhouette.ToList <Silhouette>();

            // Kleuren
            ViewBag.kleuren = _context.Kleur.ToList <Kleur>();

            // Merken
            ViewBag.merken = _context.Merk.ToList <Merk>();

            // Max prijs
            ViewBag.maxprijs = _context.Jurk.Max(j => j.Prijs);

            List <Artikel> artikelen;

            // Als id(categorie) is gezet dan halen we alleen artikelen van die categorie
            if (id != 0)
            {
                ViewBag.categorie = id;
                artikelen         = _context.Artikel.Include(j => j.Jurken).Where(j => j.CategorieID == id).ToList <Artikel>();
            }
            else
            {
                artikelen = _context.Artikel.Include(j => j.Jurken).ToList <Artikel>();
            }


            // Artikel moet wel een jurk hebben.
            artikelen = artikelen.Where(j => j.Jurken.Count > 0).ToList();

            // totaal aantal artikelen voor aantal paginas.
            int aantaljurken = artikelen.Count();


            int aantaltonen = 24;

            // Aantal tonen
            artikelen = artikelen.Take(aantaltonen).ToList();


            // aantal paginas berekenen(naar boven afronden)
            double aantalpaginas = Math.Ceiling((double)aantaljurken / aantaltonen);

            ViewBag.pagina        = 1;
            ViewBag.aantalPaginas = aantalpaginas;


            List <Jurk> jurken = new List <Jurk>();

            // Haal 1 jurk van elk artikel om te laten zien
            foreach (Artikel artikel in artikelen)
            {
                Jurk jurk = _context.Jurk.Where(j => j.artikel.ArtikelID == artikel.ArtikelID).FirstOrDefault <Jurk>();

                if (jurk != null)
                {
                    jurken.Add(jurk);
                }
            }


            // Sorteren
            if (sort != 0)
            {
                switch (sort)
                {
                // prijs hoog naar laag
                case 1:
                    jurken = jurken.OrderByDescending(j => j.Prijs).ToList();
                    break;

                // prijs laag naar hoog
                case 2:
                    jurken = jurken.OrderBy(j => j.Prijs).ToList();
                    break;
                }
            }


            ViewBag.jurken = jurken;

            ViewBag.artikelen = artikelen;

            DressfinderIndex dfi = new DressfinderIndex();

            ViewBag.aantaltonen = 24;
            dfi.aantaltonen     = new List <int>()
            {
                6, 12, 24, 36
            };;

            return(View(dfi));
        }