// HTTP GEt public async Task <IActionResult> Delete(long id) { if (!IsLoggedIn()) { return(RedirectToPage("/Account/Login")); } Sleep sleep = await context.Sleeps.Include(s => s.Infant).FirstOrDefaultAsync(s => s.SleepId == id); if (!IsSleepOwner(sleep)) { return(RedirectToPage("/Error/Error404")); } return(View("SleepEditor", SleepViewModelFactory.Delete(sleep, sleep.Infant))); }
// HTTP Get public IActionResult Create(long id) { if (!IsLoggedIn()) { return(RedirectToPage("/Account/Login")); } Infant infant = context.Infants.FirstOrDefault(i => i.InfantId == id); if (!IsInfantOwner(infant)) { return(RedirectToPage("/Error/Error404")); } Sleep sleep = new Sleep { StartTime = DateTime.Now, EndTime = DateTime.Now, InfantId = id }; return(View("SleepEditor", SleepViewModelFactory.Create(sleep, infant))); }
public async Task <IActionResult> Create(long id, [FromForm] Sleep sleep) { if (!IsLoggedIn()) { return(RedirectToPage("/Account/Login")); } Infant preSaveInfant = context.Infants.FirstOrDefault(i => i.InfantId == id); if (!IsInfantOwner(preSaveInfant)) { return(RedirectToPage("/Error/Error404")); } if (ModelState.IsValid) { sleep.SleepId = default; sleep.Infant = default; context.Sleeps.Add(sleep); await context.SaveChangesAsync(); return(RedirectToAction("Index", "Dashboard", new { id = sleep.InfantId })); } return(View("SleepEditor", SleepViewModelFactory.Create(sleep, preSaveInfant))); }
public async Task <IActionResult> Edit(long id, [FromForm] Sleep sleep) { if (!IsLoggedIn()) { return(RedirectToPage("/Account/Login")); } Sleep preSaveSleep = await context.Sleeps.AsNoTracking().Include(s => s.Infant).FirstOrDefaultAsync(s => s.SleepId == id); if (!IsSleepOwner(preSaveSleep)) { return(RedirectToPage("/Error/Error404")); } Infant infant = preSaveSleep.Infant; if (ModelState.IsValid) { context.Sleeps.Update(sleep); await context.SaveChangesAsync(); return(RedirectToAction("Index", "Dashboard", new { id = sleep.InfantId })); } return(View("SleepEditor", SleepViewModelFactory.Edit(sleep, infant))); }