예제 #1
0
        private async Task CheckForData()
        {
            var sd = new SeedData(_context);//Seed reservations
            //Check if today exists:
            var todayExists = await _context.ArrivalsAtBreakfast
                              .AnyAsync(a => a.Date.Date == DateTime.Today.Date);

            if (todayExists == false)
            {
                var arrivals = new ArrivalsAtBreakfast()
                {
                    Date = DateTime.Today
                };
                _context.ArrivalsAtBreakfast.Add(arrivals);
                await _context.SaveChangesAsync();
            }

            //Make a checkin page for each day with reservations
            var reservations = await _context.BreakfastReservations.ToListAsync();

            foreach (var reservation in reservations)
            {
                if (await _context.ArrivalsAtBreakfast
                    .AnyAsync(a =>
                              a.Date.Date == reservation.Date.Date) == false)
                {
                    await _context.AddAsync(new ArrivalsAtBreakfast()
                    {
                        Date = reservation.Date.Date
                    });
                }
            }
            await _context.SaveChangesAsync();
        }
예제 #2
0
 public async Task <IActionResult> Create([Bind("BreakfastReservationsId,Date")] ArrivalsAtBreakfast arrivalsAtBreakfast)
 {
     if (ModelState.IsValid)
     {
         _context.Add(arrivalsAtBreakfast);
         await _context.SaveChangesAsync();
     }
     return(RedirectToAction(nameof(Index)));
 }
예제 #3
0
        private void SeedArrivals(ApplicationDbContext dbContext)
        {
            var arrivals = new ArrivalsAtBreakfast()
            {
                Date = DateTime.Today
            };

            for (int i = 0; i < 4; i++)
            {
                arrivals.BreakfastAttendees.Add(new Room(i + 100, i + 1, i * 2));
            }

            dbContext.Add(arrivals);
            dbContext.SaveChanges();
        }
예제 #4
0
        public async Task <IActionResult> Details(int?id)
        {
            await CheckForData();

            ArrivalsAtBreakfast arrivals = null;

            if (id != null)
            {
                arrivals = await _context.ArrivalsAtBreakfast
                           .Include(a => a.BreakfastAttendees)
                           .SingleOrDefaultAsync(a => a.ArrivalsAtBreakfastId == id);
            }
            else//Find today
            {
                arrivals = await _context.ArrivalsAtBreakfast
                           .Include(a => a.BreakfastAttendees)
                           .SingleOrDefaultAsync(a => a.Date.Date == DateTime.Today.Date);
            }

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

            //Get reservations:
            var res = _context.BreakfastReservations
                      .Include(r => r.BreakfastReservationList)
                      .SingleOrDefault(r => r.Date.Date == arrivals.Date.Date);
            var resNumber = res?.GetNumberOfAdultsAndChildren();
            ArrivalsExtended arrivalsExtended = new ArrivalsExtended(arrivals);

            if (resNumber != null)
            {
                arrivalsExtended.AdultReservations = resNumber[0];
                arrivalsExtended.ChildReservations = resNumber[1];
            }

            return(View(arrivalsExtended));
        }