コード例 #1
0
        public async Task <IActionResult> Create([Bind("ID,Zahl,Preis,Ermäßigung,BonID,ProduktID")] DetailDetail detail, int BonID)
        {
            if (ModelState.IsValid)
            {
                ProduktartRepository produkt = new ProduktartRepository(_context);
                Produkt p   = _context.Produkt.Find(detail.ProduktID);
                Bon     b   = _context.Bon.Find(detail.BonID);
                Detail  Det = new Detail()
                {
                    Bon        = b,
                    Preis      = detail.Preis,
                    Zahl       = detail.Zahl,
                    Produkt    = p,
                    Ermäßigung = detail.Ermäßigung
                };

                _context.Add(Det);
                await _context.SaveChangesAsync();

                if (b.Art)
                {
                    produkt.AddCount(p, detail.Zahl);
                }
                else
                {
                    produkt.MinusCount(p, detail.Zahl);
                }
                return(RedirectToAction("Index", new { id = detail.BonID }));
            }
            return(View(detail));
        }
コード例 #2
0
        public async Task <IActionResult> DeleteConfirmed(int id)
        {
            var detail = await _context.Detail
                         .Include(x => x.Bon)
                         .Include(x => x.Produkt)
                         .FirstOrDefaultAsync(x => x.ID == id);


            _context.Detail.Remove(detail);
            await _context.SaveChangesAsync();

            ProduktartRepository proRep = new ProduktartRepository(_context);
            Produkt produkt             = _context.Produkt.Find(detail.Produkt.ID);

            proRep.MinusCount(produkt, detail.Zahl);
            return(RedirectToAction(nameof(Index), new { id = detail.Bon.ID }));
        }