/// <summary> /// Uj megrendelési gomb /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void buttonUjmegrendeloMentese_Click(object sender, EventArgs e) { torolHibauzenetet(); errorProviderMegrendeloName.Clear(); errorProviderMegrendeloAddress.Clear(); errorProviderMegrendeloPrice.Clear(); try { Megrendelo2 ujMegrendelo = new Megrendelo2( Convert.ToInt32(textBoxOrdersID.Text), textBoxOrderName.Text, textBoxOrderAddress.Text, textBoxOrdersPrice.Text ); int azonosito = Convert.ToInt32(textBoxOrdersID.Text); //1. Hozzáadni a listához try { repomegrendelo.addMegrendeloToList(ujMegrendelo); } catch (Exception ex) { kiirHibauzenetet(ex.Message); return; } //2. Hozzáadni az adatbázishoz RepositoryDatabaseTableMegrendelo rdtm = new RepositoryDatabaseTableMegrendelo(); try { rdtm.insertMegrendeloToDatabase(ujMegrendelo); } catch (Exception ex) { kiirHibauzenetet(ex.Message); } //3. Frissíteni a DataGridView-t beallitGombokatUjMegrendeloMegsemEsMentes(); frissitMegrendeloAdatokkalDataGriedViewt(); if (dataGridViewOrders.SelectedRows.Count == 1) { beallitMegrendeloDataGriViewt(); } } catch (ModelPizzaNotValidNameExeption nvn) { errorProviderMegrendeloName.SetError(textBoxOrderName, nvn.Message); } catch (ModelMegrendeloNotValidAddressException nve) { errorProviderMegrendeloAddress.SetError(textBoxOrderAddress, nve.Message); } catch (ModelPizzaNotValidPriceExeption nvp) { errorProviderMegrendeloPrice.SetError(textBoxOrdersPrice, nvp.Message); } catch (Exception ex) { } }
/// <summary> /// Módosit gomb /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void buttonMegrendeloModosit_Click(object sender, EventArgs e) { torolHibauzenetet(); errorProviderMegrendeloName.Clear(); errorProviderMegrendeloAddress.Clear(); errorProviderMegrendeloPrice.Clear(); try { Megrendelo2 modosult = new Megrendelo2( Convert.ToInt32(textBoxOrdersID.Text), textBoxOrderName.Text, textBoxOrderAddress.Text, textBoxOrdersPrice.Text ); int azonosito = Convert.ToInt32(textBoxOrdersID.Text); //1. módosítani a listába try { repomegrendelo.updateMegrendeloInList(azonosito, modosult); } catch (Exception ex) { kiirHibauzenetet(ex.Message); return; } //2. módosítani az adatbáziba RepositoryDatabaseTableMegrendelo rdtm = new RepositoryDatabaseTableMegrendelo(); try { rdtm.updateMegrendeloInDatabase(azonosito, modosult); } catch (Exception ex) { kiirHibauzenetet(ex.Message); } //3. módosítani a DataGridView-ban frissitMegrendeloAdatokkalDataGriedViewt(); } catch (ModelPizzaNotValidNameExeption nvn) { errorProviderMegrendeloName.SetError(textBoxOrderName, nvn.Message); } catch (ModelMegrendeloNotValidAddressException nve) { errorProviderMegrendeloAddress.SetError(textBoxOrderAddress, nve.Message); } catch (ModelPizzaNotValidPriceExeption nvp) { errorProviderMegrendeloPrice.SetError(textBoxOrdersPrice, nvp.Message); } catch (RepositoryExceptionCantModified recm) { kiirHibauzenetet(recm.Message); Debug.WriteLine("Módosítás nem sikerült, a megrendelő nincs a listába!"); } catch (Exception ex) { } }
/// <summary> /// Megrendelőt add a listához /// </summary> /// <param name="ujPizza"></param> public void addMegrendeloToList(Megrendelo2 Ujmegrendelo) { try { orders.Add(Ujmegrendelo); } catch (Exception e) { throw new RepositoryExceptionCantAdd("A megrendelő hozzáadása nem sikerült"); } }
/// <summary> /// Kitölti a DATATABLET /// </summary> /// <param name="megrendelodt"></param> private void fillMegrendeloListFromDataTable(DataTable megrendelodt) { foreach (DataRow row in megrendelodt.Rows) { int azon = Convert.ToInt32(row[0]); string nev = row[1].ToString(); string address = row[2].ToString(); int ar = Convert.ToInt32(row[3]); Megrendelo2 m = new Megrendelo2(azon, nev, address, ar); orders.Add(m); } }
/// <summary> /// Megrendeloket törli a listából /// </summary> /// <param name="id"></param> public void deleteMegrendeloFromList(int id) { Megrendelo2 m = orders.Find(x => x.getId() == id); if (m != null) { orders.Remove(m); } else { throw new RepositoryExceptionCantDelete("A megrendelőt nem lehetett törölni."); } }
/// <summary> /// Frissiti a megrendelo listát /// </summary> /// <param name="id"></param> /// <param name="modified"></param> public void updateMegrendeloInList(int id, Megrendelo2 modified) { Megrendelo2 m = orders.Find(x => x.getId() == id); if (m != null) { m.update(modified); } else { throw new RepositoryExceptionCantModified("A megrendelő módosítása nem sikerült"); } }
/// <summary> /// Frissiti a megrendelok tábla recordjait az adatbázisban /// </summary> /// <param name="id"></param> /// <param name="modified"></param> public void updateMegrendeloInDatabase(int id, Megrendelo2 modified) { MySqlConnection connection = new MySqlConnection(connectionString); try { connection.Open(); string query = modified.getUpdate(id); MySqlCommand cmd = new MySqlCommand(query, connection); cmd.ExecuteNonQuery(); connection.Close(); } catch (Exception e) { connection.Close(); Debug.WriteLine(e.Message); Debug.WriteLine(id + " idéjű megrendelő módosítása nem sikerült."); throw new RepositoryException("Sikertelen módosítás az adatbázisból."); } }
/// <summary> /// Új megrendelő hozzáadása az adatbázisban /// </summary> /// <param name="ujMegrendelo"></param> public void insertMegrendeloToDatabase(Megrendelo2 ujMegrendelo) { MySqlConnection connection = new MySqlConnection(connectionString); try { connection.Open(); string query = ujMegrendelo.getInsert(); MySqlCommand cmd = new MySqlCommand(query, connection); cmd.ExecuteNonQuery(); connection.Close(); } catch (Exception e) { connection.Close(); Debug.WriteLine(e.Message); Debug.WriteLine(ujMegrendelo + " megrendelo beszúrása adatbázisba nem sikerült."); throw new RepositoryException("Sikertelen beszúrás az adatbázisból."); } }
/// <summary> /// Adatok feltöltése litából vagy adatbázisból /// </summary> /// <returns></returns> public List <Megrendelo2> getOrdersFromDatabaseTable() { List <Megrendelo2> orders = new List <Megrendelo2>(); MySqlConnection connection = new MySqlConnection(connectionString); try { connection.Open(); string query = Megrendelo2.getSQLCommandGetAllRecord(); MySqlCommand cmd = new MySqlCommand(query, connection); MySqlDataReader dr; dr = cmd.ExecuteReader(); while (dr.Read()) { string name = dr["name"].ToString(); string address = dr["address"].ToString(); bool goodResult = false; int id = -1; goodResult = int.TryParse(dr["id"].ToString(), out id); if (goodResult) { int price = -1; goodResult = int.TryParse(dr["price"].ToString(), out price); if (goodResult) { Megrendelo2 m = new Megrendelo2(id, name, address, price); orders.Add(m); } } } connection.Close(); } catch (Exception e) { connection.Close(); Debug.WriteLine(e.Message); throw new RepositoryException("Megrendelők beolvasása az adatbázisból nem sikerült!"); } return(orders); }