//Metoda wywoływana w momencie wciśnięcia guzika usuwania przepisu. private void btnUsunPrzepis_Click(object sender, EventArgs e) { //Otwieramy formę z potwierdzeniem operacji i jeżeli został wcisnięty przycisk "Tak" to usuwamy zaznaczony przepis oraz wszystkie powiązania z nim w bazie. //Po wykkonaniu operacji zaznaczamy przepis, który był o 1 pozycję wyżej od usuniętego. Potwierdzenie potwierdz = new Potwierdzenie(); if (potwierdz.ShowDialog() == DialogResult.Yes) { int index = gvListaPrzepisow.CurrentRow.Cells["ID"].RowIndex; int selection = Convert.ToUInt16(gvListaPrzepisow.CurrentRow.Cells["ID"].Value.ToString()); SqlConnection conn = new SqlConnection(strSqlCon); conn.Open(); SqlCommand usunSkladniki = new SqlCommand("DELETE from Przepisy_Skladniki where L_ID_PRZEPISU = " + selection, conn); usunSkladniki.ExecuteNonQuery(); SqlCommand usunPrzepis = new SqlCommand("DELETE from Przepisy where ID_PRZEPISU = " + selection, conn); usunPrzepis.ExecuteNonQuery(); conn.Close(); wypiszListePrzepisow(-1); if (index == 0) { index++; } gvListaPrzepisow.CurrentCell = gvListaPrzepisow.Rows[index - 1].Cells[0]; } potwierdz = null; }
//Metoda usuwająca zaznaczony składnik private void btnUsunSkladnik_Click(object sender, EventArgs e) { //Sczytujemy ID zaznaczonego składnika int selection = Convert.ToUInt16(gvListaSkladnikow.CurrentRow.Cells["LS_ID"].Value.ToString()); SqlConnection conn = new SqlConnection(strSqlCon); conn.Open(); //Sprawdzamy w bazie czy nie występują jakieś powiązania ze składnikiem SqlCommand cmdLiczba = new SqlCommand("SELECT COUNT(L_ID_SKLADNIKA) from Przepisy_Skladniki where L_ID_SKLADNIKA = " + selection, conn); int liczba = (int)cmdLiczba.ExecuteScalar(); //Jeżeli liczba powiązań jest większa od 0 to wyświetlamy messagebox z odpowiednim komunikatem if (liczba > 0) { MessageBox.Show("Nie możesz usunąć składnika, który jest używany. Najpierw musisz usunąć wszelkie powiązania.", "Błąd", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1); } //Jeżeli liczba powiązań jest równa 0 to wyświetlamy formę z prośbą o potwierdzenie else if (liczba == 0) { Potwierdzenie potwierdz = new Potwierdzenie("Jesteś pewien, że chcesz usunąć ten składnik?"); if (potwierdz.ShowDialog() == DialogResult.Yes) { int index = gvListaSkladnikow.CurrentRow.Cells["LS_ID"].RowIndex; SqlCommand comm = new SqlCommand("DELETE FROM Skladniki WHERE ID_SKLADNIKA = " + selection, conn); comm.ExecuteNonQuery(); wypiszListeSkladnikow(-1); if (index == 0) { index++; } gvListaSkladnikow.CurrentCell = gvListaSkladnikow.Rows[index - 1].Cells[0]; gvListaSkladnikow_SelectionChanged(null, null); } potwierdz = null; } conn.Close(); }