private void Zmien(object sender, RoutedEventArgs e) { gracz g = get_gracz(); if (g == null) { return; } var mDB = new BazyDB(); if (!(bool)checkBox.IsChecked) { (from p in mDB.gracz where p.IDGracza == g.IDGracza select p).ToList().ForEach(x => { x.Nick = g.Nick; x.SteamID = g.SteamID; x.NazwaKontaWGrze = g.NazwaKontaWGrze; }); try { mDB.SaveChanges(); } catch (DbUpdateException ex) { String trace = null; switch (((MySqlException)(ex.InnerException.InnerException)).Number) { case 1062: trace = "Pole ID lub Nick nie jest unikalne"; break; case 1048: trace = "Pola ID i Nick nie mogą być puste"; break; case 1406: trace = "Pole Nick, SteamID lub NazwaKontaWGrze przekracza maksymalna długość"; break; default: trace = "Niezidentyfikowany błąd"; break; } MessageBox.Show(trace); } } else { try { MySqlParameter id = new MySqlParameter("@id", g.IDGracza); MySqlParameter nick = new MySqlParameter("@nick", g.Nick); MySqlParameter steam = new MySqlParameter("@steamid", g.SteamID); MySqlParameter nazwa = new MySqlParameter("@nazwakontawgrze", g.NazwaKontaWGrze); mDB.Database.ExecuteSqlCommand("zmien(@id,@nick,@steamid,@nazwakontawgrze)", id, nick, steam, nazwa); } catch (MySqlException ex) { String trace = null; switch (ex.Number) { case 1062: trace = "Pole ID lub Nick nie jest unikalne"; break; case 1048: trace = "Pola ID i Nick nie mogą być puste"; break; case 1406: trace = "Pole Nick, SteamID lub NazwaKontaWGrze przekracza maksymalna długość"; break; case 20001: trace = "Nie można zmienić nicku gracza na admin lub root"; break; default: trace = "Niezidentyfikowany błąd"; break; } MessageBox.Show(trace); } } Up(); }
private void Usun(object sender, RoutedEventArgs e) { gracz g = get_gracz(); if (g == null) { return; } var mDB = new BazyDB(); if (!(bool)checkBox.IsChecked) { try { gracz to_delete = (from x in mDB.gracz where x.IDGracza == g.IDGracza select x).Single(); mDB.gracz.Remove(to_delete); } catch (InvalidOperationException ex) { MessageBox.Show("Nie ma obiektu o takim ID"); return; } try { mDB.SaveChanges(); } catch (DbUpdateException ex) { String trace = null; MySqlException exc = (MySqlException)ex.InnerException.InnerException; switch (exc.Number) { case 20002: trace = "Nie można usunąć administratora"; break; case 1644: trace = exc.Message; break; default: trace = "Niezidentyfikowany błąd"; break; } MessageBox.Show(trace); } } else { //procedura MySqlParameter param = new MySqlParameter("@date", (object)g.IDGracza); try { if (mDB.Database.ExecuteSqlCommand("usun(@date)", param) == 0) { MessageBox.Show("Nie ma obiektu o takim ID"); } } catch (MySqlException ex) { String trace = null; switch (ex.Number) { case 20002: trace = "Nie można usunąć administratora"; break; case 1644: trace = ex.Message; break; default: trace = "Niezidentyfikowany błąd"; break; } MessageBox.Show(trace); } } Up(); }
private void Dodaj(object sender, RoutedEventArgs e) { gracz g = get_gracz(); if (g == null) { return; } var mDB = new BazyDB(); if (!(bool)checkBox.IsChecked) { mDB.gracz.Add(g); try { if (mDB.SaveChanges() == 1) { send_mail(g); } } catch (DbUpdateException ex) { String trace = null; switch (((MySqlException)(ex.InnerException.InnerException)).Number) { case 1062: trace = "Pole ID lub Nick nie jest unikalne"; break; case 1048: trace = "Pola ID i Nick nie mogą być puste"; break; case 1406: trace = "Pole Nick, SteamID lub NazwaKontaWGrze przekracza maksymalna długość"; break; default: trace = "Niezidentyfikowany błąd"; break; } MessageBox.Show(trace); } } else { try { MySqlParameter id = new MySqlParameter("@id", g.IDGracza); MySqlParameter nick = new MySqlParameter("@nick", g.Nick); MySqlParameter steam = new MySqlParameter("@steamid", g.SteamID); MySqlParameter nazwa = new MySqlParameter("@nazwakontawgrze", g.NazwaKontaWGrze); if (mDB.Database.ExecuteSqlCommand("dodaj(@id,@nick,@steamid,@nazwakontawgrze)", id, nick, steam, nazwa) == 1) { send_mail(g); } } catch (MySqlException ex) { String trace = null; int a = 0; switch (ex.Number) { case 1062: trace = "Pole ID lub Nick nie jest unikalne"; break; case 1048: trace = "Pola ID i Nick nie mogą być puste"; break; case 1406: trace = "Pole Nick, SteamID lub NazwaKontaWGrze przekracza maksymalna długość"; break; case 20000: trace = "Nie można dodać gracza o nicku admin lub root"; break; case 20001: trace = "Nie można zmienić nicku gracza na admin lub root"; break; case 20002: trace = "Nie można usunąć administratora"; break; case 1644: trace = ex.Message; break; default: trace = "Niezidentyfikowany błąd"; break; } MessageBox.Show(trace); } } Up(); }