示例#1
0
        public async Task <IActionResult> Create([Bind("Id,Name")] Director director)
        {
            if (ModelState.IsValid)
            {
                _context.Add(director);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(director));
        }
示例#2
0
        public async Task <IActionResult> Create([Bind("Id,Name")] Genre genre)
        {
            if (ModelState.IsValid)
            {
                context.Add(genre);
                await context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(genre));
        }
示例#3
0
        public async Task <IActionResult> Create([Bind("Type,Value,MemberId")] MemberContact memberContact)
        {
            if (ModelState.IsValid)
            {
                _context.Add(memberContact);
                await _context.SaveChangesAsync();

                return(RedirectToAction("Index", "Members"));
            }
            ViewData["InfoTypes"] = ContactInfos(memberContact.Type);
            return(View(memberContact));
        }
示例#4
0
        public async Task <IActionResult> Seed()
        {
            for (int i = 1; i < 11; i++)
            {
                var genre = new Genre
                {
                    Name = "Žanr " + i
                };

                await context.Genres.AddAsync(genre);
            }

            await context.SaveChangesAsync();

            for (int i = 1; i < 51; i++)
            {
                var director = new Director
                {
                    Name = "Neki" + i + " Režiser" + i
                };

                await context.Directors.AddAsync(director);
            }

            await context.SaveChangesAsync();

            var genres = await context.Genres.ToListAsync();

            var directors = await context.Directors.ToListAsync();

            var rnd = new Random();

            for (int i = 1; i < 201; i++)
            {
                var dvd = new Dvd
                {
                    Name              = "Dvd " + i,
                    Quantity          = 5,
                    AvailableQuantity = 5,
                    Price             = rnd.Next(16, 49),
                    Year              = i % 2 == 0 ? DateTime.Now.AddYears(-1).Year : DateTime.Now.AddYears(-2).Year,
                    GenreId           = genres[rnd.Next(0, genres.Count - 1)].Id,
                    DirectorId        = directors[rnd.Next(0, directors.Count - 1)].Id
                };

                await context.Dvds.AddAsync(dvd);
            }

            await context.SaveChangesAsync();

            return(Ok("Seed uspio"));
        }
示例#5
0
        public async Task <IActionResult> Create([Bind("Name,Price,Year,Quantity,DirectorId,GenreId")] Dvd dvd)
        {
            if (ModelState.IsValid)
            {
                dvd.AvailableQuantity = dvd.Quantity;
                _context.Add(dvd);
                await _context.SaveChangesAsync();

                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));
        }
示例#6
0
        public async Task <IActionResult> DeleteConfirmed(int id)
        {
            var invoice = await _context.Invoices.FindAsync(id);

            _context.Invoices.Remove(invoice);
            await _context.SaveChangesAsync();

            return(RedirectToAction(nameof(Index)));
        }
示例#7
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 }));
        }