//Yra gaunamas objektas Asmuo, kurio atributas grupes yra naudojamas gauti, su jo grupe susijusius dalykus, naudojant metodą GetGrupesDalykai //Tuomet yra iteruojama per visus gautus grupesDalykus, iteraciju metu yra naudojamas metodas GetDalykas, kuris naudojant grupesDalykas atributą dalykas //sugražina sugražiną objektą iš DB lentelės dalykas. //tuomet gauto dalyko atributai pavdinimas ir destytojas(jo id)(Šis id yra naudojamas gauti dėstytojo vardą ir pavardę naudojant metoda GetDestytojoVardas iš DB //yra naudojami gauti naujam objektui Dalyko vertinimas pavadinimui //Tuomet jau per sukurtą dalykuVertinimas sąrašą yra iteruojama ir su kiekviena iteracija yra priskiriami susiję su dalyku ir studentu pažymiai iš DB lentelės vertinimas public List <DalykoVertinimai> GetDalykai(Asmuo gautas) { List <DalykoVertinimai> dalykuVertinimai = new List <DalykoVertinimai>(); try { List <int> dalykuId = GetDalykuId(gautas.GetId()); for (int i = 0; i < dalykuId.Count; i++) { Dalykas temp = GetDalykas(dalykuId[i]); dalykuVertinimai.Add(new DalykoVertinimai($"{temp.Pavadinimas} ({GetDestytojoVardas(temp.Destytojas)})")); dalykuVertinimai[i].SetVertinimai(GetVertinimai(gautas.GetId(), temp.Id)); } } catch (Exception exc) { Console.WriteLine(exc.Message); } if (dalykuVertinimai.Count < 1) { throw new Exception("Nepavyko gauti destomu dalyku"); } return(dalykuVertinimai); }
//yra gaunamas objektas dalykas ir pagal jo atributą id yra ištrinmai visi suisiję įrašai iš DB lentelės dalykas public void DeleteDalykas(Dalykas dalykas) { string sql = "DELETE FROM dalykas WHERE id=@id"; SqlCommand cmd = new SqlCommand(sql, conn); cmd.Parameters.AddWithValue("@id", dalykas.Id); conn.Open(); cmd.ExecuteNonQuery(); conn.Close(); }
//reikiami objektai yra priskiriami, o DalykasControl controleris yra užpildomas gautomis objekto Dalykas ir Asmuo vertėmis public DalykasControl(Dalykas dalykas, Asmuo asmuo) { InitializeComponent(); this.dalykas = dalykas; repoA = new AdminoRepo(); idLabel.Text = dalykas.Id.ToString(); pavadinimasLabel.Text = dalykas.Pavadinimas; destytojoIdLabel.Text = asmuo.GetId().ToString(); vardasLabel.Text = asmuo.GetVardas(); pavardeLabel.Text = asmuo.GetPavarde(); }
//Gaunamas objektas dalykas, jo verte id yra naudojama rasti susijusius grupesDalykus, besikreipiant į metodą GetGrupesDalykai //Tuomet yra einama per visus grupesDalykus, ir kreipiamasi į funkcija DeleteVertinimas, kur su jais susiję DB lenteles vertinimas įrašai yra trinami pagal raktą grupesDalykas //Ištrynus susijusius vertinimus yra ištrinamas pats grupėsDalykas iš DB lentelės grupesDalykas pagal objekto id atributą, besikreipiant į metodą DeleteGrupesDalykas //Atlikus tai yra kreipiamasi į metodą DeleteDalykas, kuriam yra perduodamas gautas objektas dalykas ir pagal jo id yra ištrinamas iš DB lenteles dalykas public void SalintiDalyka(Dalykas dalykas) { grupesDalykai = GetGrupesDalykai("WHERE dalykas=@dalykas", "", dalykas.Id); foreach (grupesDalykas g in grupesDalykai) { DeleteVertinimai(g); DeleteGrupesDalykas(g); } DeleteDalykas(dalykas); }
//Yra gaunamas objektas dalykas, ir jo atributai pavadinimas ir destytojas yra įterpiami į DB lentelę dalykas public void InsertDalykas(Dalykas dalykas) { Console.WriteLine(dalykas.Destytojas); string sql = "INSERT INTO dalykas (destytojas, pavadinimas) VALUES (@destytojas, @pavadinimas)"; SqlCommand cmd = new SqlCommand(sql, conn); cmd.Parameters.AddWithValue("@destytojas", dalykas.Destytojas); cmd.Parameters.AddWithValue("@pavadinimas", dalykas.Pavadinimas); conn.Open(); cmd.ExecuteNonQuery(); conn.Close(); }
// priskiriami reikiami objektai ir užpildoma grupesFlowLayoutPanel mygtukais kurie turi turi grupes pavadinimą ir su šita grupe susietus studentus private void DalykasButton_Click(object sender, EventArgs e) { grupesFlowLayoutPanel.Controls.Clear(); studentoFlowLayoutPanel.Controls.Clear(); Button button = (Button)sender; Dalykas d = (Dalykas)button.Tag; dalykoId = d.Id; int width = grupesFlowLayoutPanel.Width - 20; foreach (Grupe g in d.Grupes) { Button grupeButton = new Button { Text = g.Pavadinimas, Width = width, Height = 40, Tag = g }; grupeButton.Click += GrupeButton_Click; grupesFlowLayoutPanel.Controls.Add(grupeButton); } }
//gaunamas objekto Dalykas atributas id, jis yra naudojamas ieškant ir gaunant likusia objekto informacija iš DB lentelės dalykas //tuomet gautas įrašas yra priskiriamas objektui Dalykas ir grąžinamas iškviestai funkcijai protected Dalykas GetDalykas(int dalykas) { string sql = "SELECT * FROM dalykas WHERE id=@dalykas"; SqlCommand cmd = new SqlCommand(sql, conn); cmd.Parameters.AddWithValue("@dalykas", dalykas); Dalykas rezultatas = null; conn.Open(); try { using (SqlDataReader reader = cmd.ExecuteReader()) { if (reader.Read()) { int id = Convert.ToInt32(reader["id"]); int destytojas = Convert.ToInt32(reader["destytojas"]); string pavadinimas = reader["pavadinimas"].ToString(); string aprasymas = reader["aprasymas"].ToString(); rezultatas = new Dalykas(id, destytojas, pavadinimas, aprasymas); } } } catch (Exception exc) { Console.WriteLine(exc.Message); } conn.Close(); if (rezultatas == null) { throw new Exception("Nepavyko gauti destomo dalyko"); } return(rezultatas); }