Beispiel #1
0
        public async Task <IActionResult> OnGetAsync(int produktId)
        {
            Produkt = await _produktService.GetProduktById(produktId);

            if (Produkt == null)
            {
                return(RedirectToPage("./NotFound"));
            }
            return(Page());
        }
Beispiel #2
0
        /// <summary>
        /// tilføjer til varekurven
        /// </summary>
        /// <param name="produktId"></param>
        /// <returns></returns>
        public async Task <IActionResult> OnPostAddToCart(int produktId)
        {
            Log.Logger = new LoggerConfiguration()
                         .MinimumLevel.Debug()
                         .WriteTo.Console()
                         .WriteTo.File("logs\\myapp.txt", rollingInterval: RollingInterval.Day)
                         .CreateLogger();

            Log.Information("Loading index OnPostAddToCart");

            if (ModelState.IsValid)
            {
                ProduktDto ProduktDto = await _eShopService.GetProduktDtoById(produktId);

                List <ProduktDto> kurv = HttpContext.Session.Get <List <ProduktDto> >("kurv");
                if (kurv == null)
                {
                    kurv = new List <ProduktDto>();
                }
                ProduktDto ordreprodukt = kurv.Find(i => i.ProduktId == produktId);
                if (ordreprodukt != null)
                {
                    ordreprodukt.Styk += 1;
                }
                else
                {
                    kurv.Add(new ProduktDto
                    {
                        ProduktId   = ProduktDto.ProduktId,
                        ProduktNavn = ProduktDto.ProduktNavn,
                        Pris        = ProduktDto.Pris,
                        Styk        = ProduktDto.Styk = 1,
                        ProduktFoto = ProduktDto.ProduktFoto
                    });
                }

                HttpContext.Session.Set("kurv", kurv);
            }

            try
            {
                Produkter = await _eShopService.GetProdukterByName().ToListAsync();

                Kategorier = await _eShopService.GetKategorier().ToListAsync();

                Producenter = await _eShopService.GetProducenter().ToListAsync();
            }
            catch (Exception ex)
            {
                Log.Error(ex, "Det virker squ ik(OnPostAddToCart)");
            }

            Log.CloseAndFlush();
            return(Page());
        }
Beispiel #3
0
        /// <summary>
        /// Creates a Produkt
        /// </summary>
        /// <param name="newProdukt"></param>
        /// <returns></returns>
        public async Task <ProduktDto> Create(ProduktDto newProdukt)
        {
            Produkt produkt = new Produkt {
                Navn = newProdukt.Navn, Pris = newProdukt.Pris, KategoriId = newProdukt.KategoriId, ProducentId = newProdukt.ProducentId
            };

            _context.Produkter.Add(produkt);
            await _context.SaveChangesAsync();

            return(newProdukt);
        }
Beispiel #4
0
        /// <summary>
        /// Update Produkt
        /// </summary>
        /// <param name="updatedProdukt"></param>
        /// <returns></returns>
        public async Task <ProduktDto> Update(ProduktDto updatedProdukt)
        {
            Produkt produkt = new Produkt {
                ProduktId = updatedProdukt.ProduktId, Navn = updatedProdukt.Navn, Pris = updatedProdukt.Pris, KategoriId = updatedProdukt.KategoriId, ProducentId = updatedProdukt.ProducentId
            };

            _context.Produkter.Update(produkt);

            await _context.SaveChangesAsync();

            return(updatedProdukt);
        }
Beispiel #5
0
        public async Task <ActionResult <ProduktDto> > GetProdukt(int id)
        {
            try
            {
                ProduktDto produkt = await _produktService.GetProduktById(id);

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

                return(produkt);
            }
            catch (Exception ex)
            {
                return(NotFound(ex));
            }
        }
Beispiel #6
0
        public async Task <IActionResult> OnPostAsync(int produktId)
        {
            Produkt = await _produktService.GetProduktById(produktId);

            if (HttpContext.Session.Get("order") != null)
            {
                Order = HttpContext.Session.Get <OrderDto>("order");
                ProduktDto order = Order.Produkts.Find(p => p.ProduktId == produktId);
                if (order != null)
                {
                    order.Styk += 1;
                }
                else
                {
                    ProduktDto p = new ProduktDto {
                        ProduktId = Produkt.ProduktId, Navn = Produkt.Navn, Pris = Produkt.Pris, Styk = 1
                    };
                    Order.Produkts.Add(p);
                }
                HttpContext.Session.Set("order", Order);
            }
            else
            {
                ProduktDto p = new ProduktDto {
                    ProduktId = Produkt.ProduktId, Navn = Produkt.Navn, Pris = Produkt.Pris, Styk = 1
                };
                Order.Produkts.Add(p);

                HttpContext.Session.Set("order", Order);
            }
            if (Produkt == null)
            {
                return(NotFound());
            }
            return(Page());
        }
Beispiel #7
0
        public async Task <IActionResult> EditProdukt(int id, ProduktDto produktDTO)
        {
            try
            {
                if (id != produktDTO.ProduktId)
                {
                    return(BadRequest());
                }

                ProduktDto produkt = await _produktService.GetProduktById(id);

                if (produkt == null)
                {
                    return(NotFound());
                }
                produkt = produktDTO;
            }
            catch
            {
                return(NotFound());
            }

            return(Ok());
        }
Beispiel #8
0
 public async Task <ActionResult <ProduktDto> > CreateProdukt(ProduktDto produktDTO)
 {
     return(await _produktService.Create(produktDTO));
 }