public async Task <IActionResult> Alter(int id) { AuktionModel auktionModel = await _service.GetAuktionAsync(id); if (auktionModel is null) { TempData["Message"] = "Misslyckades med att redigera auktionen! Auktionen finns inte i databasen."; return(RedirectToAction("Index")); } NauktionUser currentUser = await _userManager.GetUserAsync(User); if (auktionModel.SkapadAv != currentUser.Id) { TempData["Message"] = "Misslyckades med att redigera auktionen! Du kan inte redigera någon annans auktion."; return(RedirectToAction("Index")); } var model = new AuktionViewModel { AuktionID = auktionModel.AuktionID, Titel = auktionModel.Titel, Beskrivning = auktionModel.Beskrivning, SlutDatum = auktionModel.SlutDatum, Utropspris = auktionModel.Utropspris ?? 0 }; return(View(model)); }
public async Task <IActionResult> Alter(AuktionViewModel model) { if (!ModelState.IsValid) { return(View(model)); } AuktionModel auktionModel = await _service.GetAuktionAsync(model.AuktionID); if (auktionModel is null) { TempData["Message"] = "Misslyckades med att redigera auktionen! Auktionen finns inte i databasen."; return(RedirectToAction("Index")); } NauktionUser currentUser = await _userManager.GetUserAsync(User); if (auktionModel.SkapadAv != currentUser.Id) { TempData["Message"] = "Misslyckades med att redigera auktionen! Du kan inte redigera någon annans auktion."; return(RedirectToAction("Index")); } await _service.AlterAuktionAsync(model); TempData["Message"] = $"Dina ändringar till auktionen \"{model.Titel}\" har sparats!"; return(View(model)); }
public async Task CreateAuktionAsync(AuktionViewModel model, NauktionUser skapare) { await _repository.CreateAuktionAsync(new AuktionModel { Titel = model.Titel, Beskrivning = model.Beskrivning, StartDatum = DateTime.Now, SlutDatum = model.SlutDatum, Gruppkod = _repository.Gruppkod, Utropspris = model.Utropspris, SkapadAv = skapare.Id }); }
public async Task <IActionResult> Create(AuktionViewModel model) { if (!ModelState.IsValid) { return(View(model)); } NauktionUser currentUser = await _userManager.GetUserAsync(User); await _service.CreateAuktionAsync(model, currentUser); TempData["Message"] = $"Din auktion \"{model.Titel}\" har skapats!"; return(RedirectToAction("Index")); }
public async Task AlterAuktionAsync(AuktionViewModel model) { AuktionModel previous = await GetAuktionAsync(model.AuktionID); if (previous is null) { throw new NullReferenceException($"Auktion #{model.AuktionID} finns inte i databasen!"); } previous.Titel = model.Titel; previous.Beskrivning = model.Beskrivning; previous.SlutDatum = model.SlutDatum; previous.Utropspris = model.Utropspris; await _repository.AlterAuktionAsync(previous); }