private void DropUser(Panel users_panel) { String user, role2 = ""; user = ((Label)(users_panel.Controls[0])).Text; if (user == "hoba") { MessageBox.Show("Невозможно удалить учетную запись гл. администратора."); return; } try { NpgsqlDataReader dataReader = PgSql.SelectFromWhere("role", "users", "login", user.ToString()); if (dataReader.Read()) { role2 = dataReader[0].ToString(); } else { throw new Exception("error..."); } dataReader.Close(); } catch (Exception ex) { MessageBox.Show(ex.Message); return; } if (StringHelper.TextToRole(role2) == "admin" && StringHelper.TextToRole(role) != "admin") { MessageBox.Show("Администратора может удалить только администратор."); return; } var res = DialogResult.OK; if (user == curr_user) { res = MessageBox.Show(String.Format("Вы уверены, что хотите удалить из базы данных себя (\"{0}\")?\nЭто действие приведет к выходу программы к окну авторизации.", user), "", MessageBoxButtons.YesNo, MessageBoxIcon.Question); } else { res = MessageBox.Show(String.Format("Вы уверены, что хотите удалить пользователя \"{0}\" с ролью \"{1}\" из Базы Данных?", user, StringHelper.RoleToText(role2)), "", MessageBoxButtons.YesNo, MessageBoxIcon.Question); } if (res == DialogResult.Yes) { try { PgSql.DeleteFromTable("users", "login", user); ShowAllUsers(); MessageBox.Show(String.Format("Пользователь {0} успешно удален", user)); if (user == curr_user) { this.DialogResult = DialogResult.Retry; this.Close(); } } catch (Exception ex) { MessageBox.Show(ex.Message); } } else { return; } }