Exemple #1
0
        public ActionResult Succes(Klant klant)
        {
            System.Diagnostics.Debug.WriteLine("In Succes");
            try
            {
                WinkelWagen ww = GetWinkelWagenFromSession();
                if (ww == null)
                {
                    return(RedirectToAction("Index", "Home"));
                }

                if (ww.Producten.Count == 0)
                {
                    return(RedirectToAction("Index", "Home"));
                }

                if (!ModelState.IsValid)
                {
                    System.Diagnostics.Debug.WriteLine("Modelstate is not valid");
                    return(View(false));
                }

                System.Threading.Thread thread = new System.Threading.Thread(() => AddWithSoap(ww, klant));
                thread.Start();

                Session["cart"] = new WinkelWagen();

                return(View(true));
            }
            catch (Exception)
            {
                return(View(false));
            }
        }
Exemple #2
0
        public ActionResult ProductVerwijderen(int ProductId)
        {
            try
            {
                WinkelWagen ww = GetWinkelWagenFromSession();

                if (ww == null)
                {
                    return(RedirectToAction("Index", "Home"));
                }

                for (int i = 0; i < ww.Producten.Count; i++)
                {
                    if (ww.Producten[i].id == ProductId)
                    {
                        ww.Producten.RemoveAt(i);
                        break;
                    }
                }

                Session["cart"] = ww;

                return(WinkelWagenHtml());
            }
            catch (Exception)
            {
                return(HttpNotFound());
            }
        }
Exemple #3
0
        public ActionResult Bevestig(Klant klant)
        {
            System.Diagnostics.Debug.WriteLine("In Bevestig");
            try
            {
                if (!ModelState.IsValid)
                {
                    //var errors = ModelState.Values.SelectMany(v => v.Errors);
                    //foreach (var item in errors)
                    //{
                    //    System.Diagnostics.Debug.WriteLine("Error: " + item.ErrorMessage);
                    //}
                    //System.Diagnostics.Debug.WriteLine("Modelstate is not valid");
                    return(RedirectToAction("Afrekenen", "WinkelWagen"));
                }

                WinkelWagen ww = GetWinkelWagenFromSession();

                if (ww == null)
                {
                    return(RedirectToAction("Index", "Home"));
                }

                if (ww.Producten.Count == 0)
                {
                    return(RedirectToAction("Index", "Home"));
                }

                return(View(klant));
            }
            catch (Exception)
            {
                return(RedirectToAction("Index", "Home"));
            }
        }
Exemple #4
0
        // GET: /WinkelWagen
        public WinkelWagen Index()
        {
            var winkelWagen = new WinkelWagen();

            winkelWagen.Producten = GetProductenInWinkelwagen();

            return(winkelWagen);
        }
        public RedirectToActionResult Index(BestellingViewModel vm)
        {
            Product     besteldProduct = winkelService.GetProduct(vm.BesteldProduct);
            int         aantal         = vm.Aantal;
            WinkelWagen wagen          = bestellingService.GetWinkelWagen();

            wagen.AddProduct(besteldProduct, aantal);
            bestellingService.BewaarWinkelWagen(wagen);
            return(RedirectToAction(nameof(Index)));
        }
        public ViewResult Index()
        {
            BestellingViewModel vm = new BestellingViewModel();

            vm.Producten = new List <Product>(winkelService);
            WinkelWagen wagen = bestellingService.GetWinkelWagen();

            vm.Bestellingen = new List <BesteldProduct>(wagen.GetProducten());
            vm.TotaalPrijs  = wagen.TotaalPrijs;
            return(View(vm));
        }
        public WinkelWagen GetWinkelWagen()
        {
            ISession    session = _httpContextAccessor.HttpContext.Session;
            WinkelWagen wagen   = session.GetObjectFromJson <WinkelWagen>("winkelwagen");

            if (wagen == null)
            {
                wagen = new WinkelWagen();
                session.SetObjectAsJSon("winkelwagen", wagen);
            }
            return(wagen);
        }
Exemple #8
0
        // GET: /WinkelWagen/Afrekenen
        public ActionResult Afrekenen()
        {
            System.Diagnostics.Debug.WriteLine("In Afrekenen");
            WinkelWagen ww = GetWinkelWagenFromSession();

            if (ww == null)
            {
                return(RedirectToAction("Index", "Home"));
            }

            if (ww.Producten.Count == 0)
            {
                return(RedirectToAction("Index", "Home"));
            }

            return(View());
        }
Exemple #9
0
        private void AddWithSoap(WinkelWagen winkelWagen, Klant klant)
        {
            SOAPService.SOAPService SoapService = new SOAPService.SOAPService();

            db.Klanten.Add(klant);

            Order order = new Order
            {
                klant = klant
            };

            var checklist = new List <int>();

            foreach (var item in winkelWagen.Producten)
            {
                if (!checklist.Contains(item.id))
                {
                    var aantal = 0;
                    foreach (var product in winkelWagen.Producten)
                    {
                        if (product.id == item.id)
                        {
                            aantal++;
                        }
                    }

                    System.Diagnostics.Debug.WriteLine("aantal: " + aantal);

                    db.Orderregels.Add(
                        new Orderregel
                    {
                        aantal  = aantal,
                        product = db.Producten.Find(item.id),
                        order   = order
                    }
                        );
                    checklist.Add(item.id);
                }
            }
            // GetAcceptGiro heeft de 30 seconden timer/vertraging
            order.uniekGetal = SoapService.GetAcceptGiro(klant.voornaam + " " + klant.achternaam, klant.adres, winkelWagen.Totaal());

            db.Orders.Add(order);
            db.SaveChanges();
        }
Exemple #10
0
        public ActionResult ProductToevoegen(int ProductId, int hoeveelheid)
        {
            try
            {
                WinkelWagen ww      = GetWinkelWagenFromSession();
                var         product = db.Producten.Find(ProductId);
                for (int i = 0; i < hoeveelheid; i++)
                {
                    ww.Producten.Add(product);
                }
                Session["cart"] = ww;
                //}

                return(WinkelWagenHtml());
            }
            catch (Exception)
            {
                return(HttpNotFound());
            }
        }
Exemple #11
0
        public void ConfigureServices(IServiceCollection services)
        {
            //Server configuration
            services.AddDbContext <AppDbContext>(options =>
                                                 options.UseSqlServer(_configurationRoot.GetConnectionString("DefaultConnection")));

            services.AddIdentity <IdentityUser, IdentityRole>()
            .AddEntityFrameworkStores <AppDbContext>();

            services.AddTransient <IHondenRepo, HondenRepo>();
            services.AddTransient <IRasRepo, RasRepo>();

            services.AddSingleton <IHttpContextAccessor, HttpContextAccessor>();
            services.AddScoped(sp => WinkelWagen.GetCart(sp));
            services.AddTransient <IOrderRepo, OrderRepo>();

            services.AddMvc();
            services.AddMemoryCache();
            services.AddSession();
        }
 public OrderController(IOrderRepo orderRepo, WinkelWagen winkelWagen)
 {
     _orderRepo   = orderRepo;
     _winkelWagen = winkelWagen;
 }
Exemple #13
0
 public WinkelWagenController(IHondenRepo hondenRepo, WinkelWagen winkelWagen)
 {
     _hondenRepo  = hondenRepo;
     _winkelWagen = winkelWagen;
 }
        public static void SetObjectAsJSon(this ISession session, String key, WinkelWagen value)
        {
            String json = JsonConvert.SerializeObject(value);

            session.SetString(key, json);
        }
        public void BewaarWinkelWagen(WinkelWagen wagen)
        {
            ISession session = _httpContextAccessor.HttpContext.Session;

            session.SetObjectAsJSon("winkelwagen", wagen);
        }
Exemple #16
0
 public WinkelWagenOverzicht(WinkelWagen winkelWagen)
 {
     _winkelWagen = winkelWagen;
 }
Exemple #17
0
 public OrderRepo(AppDbContext appDbContext, WinkelWagen winkelWagen)
 {
     _appDbContext = appDbContext;
     _winkelWagen  = winkelWagen;
 }