//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 Asmuo, o pagal jo atributą Id yra gaunami susiję įrašai iš DB lentelės dalykas (pagal foreign key destytojas) //Tuomet gauta informacija Dalykas objektų sąrašui, kuris baigus gautos informacijos skaitymą ir priskyrimą yra grąžinamas public new List <Dalykas> GetDalykai(Asmuo gautas) { List <Dalykas> dalykai = new List <Dalykas>(); string sql = "SELECT * FROM dalykas WHERE destytojas=@id"; SqlCommand cmd = new SqlCommand(sql, conn); cmd.Parameters.AddWithValue("@id", gautas.GetId()); conn.Open(); try { using (SqlDataReader reader = cmd.ExecuteReader()) { while (reader.Read()) { int Id = Convert.ToInt32(reader["id"]); int destytojas = Convert.ToInt32(reader["destytojas"]); string pavadinimas = reader["pavadinimas"].ToString(); string aprasymas = reader["aprasymas"].ToString(); dalykai.Add(new Dalykas(Id, destytojas, pavadinimas, aprasymas)); } } if (dalykai.Count < 1) { throw new Exception("Nepavyko gauti mokomu dalyku"); } } catch (Exception exc) { Console.WriteLine(exc.Message); } conn.Close(); return(dalykai); }
//Paspaudus mygtuką užpildyta informacija yra priskiriama objektui Vertinimas, kur yra tikrinama ar gauta informacija atitinka reikalavimus //Jei atitinka, Vertinimas yra įterpiamas į DB lentelę vertinimas naudojant DestytojoRepo metodą InsertVertinimas //Tuomet įterptas vertinimas yra pavaizduojamas pridedant naują elementą į pazymiaiFlowLayoutPanel private void Button1_Click(object sender, EventArgs e) { try { DestytojoRepo destytojoRepo = new DestytojoRepo(); string data = dateTimePicker1.Value.ToString(); int balas = Convert.ToInt32(balaiComboBox.SelectedItem); string tipas = TipaiComboBox.SelectedItem.ToString(); Vertinimas laikinas = new Vertinimas(0, gautas.GetId(), dalykoId, data, balas, tipas); destytojoRepo.InsertVertinimas(laikinas); DestytojoPazimysControl pazimys = new DestytojoPazimysControl(laikinas) { Width = pazymiaiFlowLayoutPanel.Width - 5 }; pazymiaiFlowLayoutPanel.SuspendLayout(); pazymiaiFlowLayoutPanel.Controls.Add(pazimys); pazymiaiFlowLayoutPanel.Controls.SetChildIndex(pazimys, 0); pazymiaiFlowLayoutPanel.ResumeLayout(); } catch (Exception exc) { MessageBox.Show(exc.Message); } }
public DestytojoPazymiai(Asmuo gautas, int dalykoId) { InitializeComponent(); TipaiComboBox.SelectedIndex = 0; balaiComboBox.SelectedIndex = 0; // priskiriami reikiami objektai ir užpildoma pazymiaiFlowLayoutPanel DestytojoPazimysControls // Jie gauna reikiama informacija iš gauto objektų sąrašo Vertinimas // Su kiekviena iteracija yra pridedamas DestytojoPazimysControls kuris gauna atitinkama vertinima try { this.gautas = gautas; this.dalykoId = dalykoId; repoD = new DestytojoRepo(); List <Vertinimas> vertinimai = repoD.GetVertinimai(gautas.GetId(), dalykoId); pazymiaiFlowLayoutPanel.Controls.Clear(); int width = pazymiaiFlowLayoutPanel.Width - 5; foreach (Vertinimas v in vertinimai) { DestytojoPazimysControl pazimys = new DestytojoPazimysControl(v) { Width = width }; pazymiaiFlowLayoutPanel.Controls.Add(pazimys); } } catch (Exception exc) { MessageBox.Show(exc.Message); } }
//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(); }
//Gauna asmens objektą ir pagal jo id išrina įrašą iš DB lentelės asmuo private int SalintiAsmeni(Asmuo gautas) { string sql = "DELETE FROM asmuo WHERE id=@id"; SqlCommand cmd = new SqlCommand(sql, conn); cmd.Parameters.AddWithValue("@id", gautas.GetId()); int kiek; conn.Open(); kiek = cmd.ExecuteNonQuery(); conn.Close(); return(kiek); }
//Gauna asmuo objektą, ir naudojant objekto id atributą suranda visus jam priskirtus DB lenteles dalykas įrašus ir juose dėstytoja (jo id) pakeičia //į 1 "Nepriskiti Dalykai" dėstytojui private int AtskirtiDalykus(Asmuo gautas) { string sql = "UPDATE dalykas SET destytojas=1 WHERE destytojas=@destytojas"; SqlCommand cmd = new SqlCommand(sql, conn); cmd.Parameters.AddWithValue("@destytojas", gautas.GetId()); int kiek; conn.Open(); kiek = cmd.ExecuteNonQuery(); conn.Close(); return(kiek); }
//Gauna asmuo objektą ir pagal jo id ištrina susijusį asmenį private int SalintiVertinimus(Asmuo gautas) { string sql = "DELETE FROM vertinimas WHERE studentas=@studentas"; SqlCommand cmd = new SqlCommand(sql, conn); cmd.Parameters.AddWithValue("@studentas", gautas.GetId()); int kiek; conn.Open(); kiek = cmd.ExecuteNonQuery(); conn.Close(); return(kiek); }