Beispiel #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));
        }
Beispiel #2
0
        // GET: Produkts/Edit/5
        public async Task <IActionResult> Edit(int?id)
        {
            if (id == null)
            {
            }

            var produkt = await _context.Produkt.FindAsync(id);

            var pr         = new ProduktartRepository(_context);
            var produktDet = new ProduktDetail()
            {
                Produktarts  = pr.GetproduktartSelectList(),
                ID           = produkt.ID,
                Titel        = produkt.Titel,
                Zahl         = produkt.Zahl,
                ProduktartID = produkt.Produktart.ID
            };


            if (produkt == null)
            {
                return(NotFound());
            }
            return(View(produktDet));
        }
Beispiel #3
0
        // GET: Produkts/Delete/5
        public async Task <IActionResult> Delete(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            var produkt = await _context.Produkt
                          .FirstOrDefaultAsync(m => m.ID == id);

            var pr            = new ProduktartRepository(_context);
            var produktDetail = new ProduktDetail()
            {
                Produktarts     = pr.GetproduktartSelectList(),
                ID              = produkt.ID,
                Titel           = produkt.Titel,
                Zahl            = produkt.Zahl,
                ProduktartID    = produkt.Produktart.ID,
                ProduktartTitel = produkt.Produktart.Titel
            };

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

            return(View(produktDetail));
        }
Beispiel #4
0
        // GET: Produkts/Create
        public IActionResult Create()
        {
            var produktDet = new ProduktDetail();
            var pr         = new ProduktartRepository(_context);

            produktDet.Produktarts = pr.GetproduktartSelectList();
            return(View(produktDet));
        }
Beispiel #5
0
        // GET: Produkts
        public async Task <IActionResult> Index()
        {
            var repo   = new ProduktartRepository(_context);
            var myTask = Task.Run(() => repo.GetProduktList());
            List <ProduktDetail> result = await myTask;

            return(View(result));
        }
Beispiel #6
0
        // GET: Details/Create
        public IActionResult Create(int id)
        {
            var DetDet = new DetailDetail();
            var bonRep = new BonRepository(_context);
            var proRep = new ProduktartRepository(_context);

            DetDet.Produktarts = proRep.GetproduktartSelectList();
            DetDet.Produkts    = proRep.GetProdukts();
            DetDet.BonID       = id;
            return(View(DetDet));
        }
Beispiel #7
0
        public ActionResult GetProdukts(int id)
        {
            if (!string.IsNullOrWhiteSpace(id.ToString()))
            {
                var repo = new ProduktartRepository(_context);

                IEnumerable <SelectListItem> produkts = repo.GetProdukts(id);
                return(Json(produkts));
            }
            return(null);
        }
Beispiel #8
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 }));
        }
Beispiel #9
0
        public async Task <IActionResult> Edit(int id, [Bind("ID,Zahl,Preis,Ermäßigung,BonID,ProduktID")] DetailDetail detail)
        {
            if (id != detail.ID)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    Produkt p           = _context.Produkt.Find(detail.ProduktID);
                    Bon     b           = _context.Bon.Find(detail.BonID);
                    Detail  Det         = _context.Detail.Find(detail.ID);
                    int     oldZahl     = Det.Zahl;
                    int     Unterschied = detail.Zahl - oldZahl;

                    Det.Bon        = b;
                    Det.Preis      = detail.Preis;
                    Det.Zahl       = detail.Zahl;
                    Det.Produkt    = p;
                    Det.Ermäßigung = detail.Ermäßigung;

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

                    ProduktartRepository proRep = new ProduktartRepository(_context);
                    proRep.AddCount(p, Unterschied);
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!DetailExists(detail.ID))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index), new { id = detail.BonID }));
            }
            return(View(detail));
        }
Beispiel #10
0
        // GET: Details/Edit/5
        public async Task <IActionResult> Edit(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }



            var bonRep = new BonRepository(_context);
            var proRep = new ProduktartRepository(_context);


            var detail = await _context.Detail.Include(x => x.Bon)
                         .Include(x => x.Bon.Kunde)
                         .Include(x => x.Produkt)
                         .Include(x => x.Produkt.Produktart)
                         .FirstOrDefaultAsync(i => i.ID == id);

            var detailDetail = new DetailDetail()
            {
                BonID           = detail.Bon.ID,
                Datum           = detail.Bon.Datum,
                Ermäßigung      = detail.Ermäßigung,
                KundeVorname    = detail.Bon.Kunde.Vorname,
                KundeNachname   = detail.Bon.Kunde.Nachname,
                Preis           = detail.Preis,
                ProduktID       = detail.Produkt.ID,
                ProduktTitel    = detail.Produkt.Titel,
                ProduktartID    = detail.Produkt.Produktart.ID,
                ProduktartTitel = detail.Produkt.Produktart.Titel,
                Zahl            = detail.Zahl,
                ID          = detail.ID,
                Produktarts = proRep.GetproduktartSelectList(),
                Produkts    = proRep.GetProdukts()
            };

            if (detailDetail == null)
            {
                return(NotFound());
            }
            return(View(detailDetail));
        }