Exemple #1
0
        public async Task <IActionResult> Edit(int id, [Bind("Id,Name")] Genre genre)
        {
            if (id != genre.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    context.Update(genre);
                    await context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!GenreExists(genre.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(genre));
        }
Exemple #2
0
        public async Task <IActionResult> Edit(int id, [Bind("Id,Name,Price,Year,Quantity,AvailableQuantity,DirectorId,GenreId")] Dvd dvd)
        {
            if (id != dvd.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(dvd);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!DvdExists(dvd.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            ViewData["DirectorId"] = new SelectList(_context.Directors, "Id", "Name", dvd.DirectorId);
            ViewData["GenreId"]    = new SelectList(_context.Genres, "Id", "Name", dvd.GenreId);
            return(View(dvd));
        }
Exemple #3
0
        public async Task <IActionResult> Edit(int id, [Bind("Id,Type,Value,MemberId")] MemberContact memberContact)
        {
            if (id != memberContact.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(memberContact);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!MemberContactExists(memberContact.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction("Index", "Members"));
            }
            ViewData["InfoTypes"] = ContactInfos(memberContact.Type);
            return(View(memberContact));
        }
Exemple #4
0
        public async Task <IActionResult> Edit(int id, [Bind("Id,Name,Address")] Member member)
        {
            if (id != member.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(member);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!MemberExists(member.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(member));
        }
Exemple #5
0
        public async Task <IActionResult> SaveReturnMany(ReturnManyViewModel returnManyViewModel)
        {
            var ids   = returnManyViewModel.Rents.Where(a => a.Returning).Select(a => a.Id);
            var rents = await _context.Rents.Include(a => a.Dvd).Include(a => a.Member).Where(a => ids.Contains(a.Id)).ToListAsync();

            foreach (var rent in rents)
            {
                rent.ReturnTime = returnManyViewModel.ReturnTime;
                var time = rent.ReturnTime - rent.RentTime;
                rent.Price = (decimal)(time.Value.Days * (double)rent.Dvd.Price);

                rent.Dvd.AvailableQuantity = rent.Dvd.AvailableQuantity + 1;
                _context.Dvds.Update(rent.Dvd);

                _context.Update(rent);
            }

            await _context.SaveChangesAsync();

            var invoice = new Invoice
            {
                ReturnTime   = returnManyViewModel.ReturnTime,
                MemberId     = rents.FirstOrDefault().MemberId,
                MemberName   = rents.FirstOrDefault().Member.Name,
                InvoiceItems = rents.Select(a => new InvoiceItem
                {
                    DvdId      = a.DvdId,
                    DvdName    = a.Dvd.Name,
                    RentTime   = a.RentTime,
                    ReturnTime = returnManyViewModel.ReturnTime,
                    Price      = (decimal)a.Price
                }).ToList()
            };

            _context.Invoices.Add(invoice);

            await _context.SaveChangesAsync();

            return(RedirectToAction("Details", "Invoices", new { id = invoice.Id }));
        }