Example #1
0
        public async Task <IActionResult> OnPostAsync()
        {
            User admin = await db.Users.FirstOrDefaultAsync(u => u.UserId.ToString() == User.Identity.Name);

            DateTime monday   = dateService.GetMondayOfWeek();
            DateTime saturday = dateService.GetSaturdayOfWeek();

            Week = db.Days
                   .Where(d => (d.Date.Date >= monday.Date) && (d.Date.Date <= saturday.Date))
                   .Where(d => d.ClassId == admin.ClassId)
                   .Include(d => d.DayObjects);

            Day day = await Week.FirstOrDefaultAsync(d => d.DayNumber == NewDay.DayNumber);

            if (day == null)
            {
                day = new Day()
                {
                    ClassId   = admin.ClassId,
                    Date      = monday.AddDays(NewDay.DayNumber - 1),
                    DayNumber = NewDay.DayNumber,
                };
                SetObjectsOnDay(day);

                await db.Days.AddAsync(day);
            }
            else
            {
                ReplaceObjectsOnDay(day);
            }

            await db.SaveChangesAsync();

            return(RedirectToPage("Admin"));
        }