public IActionResult DeleteGameType(int id) { string deleteMessage = null; // pokus o odstranění typu hry z DB try { // odstranění typu hry GameType gameType = gameTypeRepository.Delete(id); deleteMessage = "Typ hry byl úspěšně smazán"; return(RedirectToAction("index", new { DeleteMessage = deleteMessage })); } // odchycení chyby v případě, že tento typ hry je využit v nějaké přemluvené hře catch (DbUpdateException) { // pokus o změnu platnosti typu hry try { GameType gameType = gameTypeRepository.GetGameType(id); gameType.IsValid = false; // uložení změny gameTypeRepository.Update(gameType); // zobrazení hlášky deleteMessage = "Typ hry memůže být smazán protože je využíván. " + "Typ hry nelze od teď využívat při vytváření nových přemluvených her. " + "Pokud chcete tento typ hry smazat, odstraňte přemluvené hry s tímto typem a zkuste to znovu."; // přesměrování uživatele return(RedirectToAction("index", new { DeleteMessage = deleteMessage })); } catch (Exception) { // odchycení neočekávané chyby při úpravě typu hry na neplatný stav deleteMessage = "Typ hry se nepodařilo smazat"; return(RedirectToAction("index", new { DeleteMessage = deleteMessage })); } } }