// Metoda koja ucitava XML dokument sa zadate putanje // na racunaru, parsira podatke i upisuje ih u bazu podataka public static void uveziXML(string putanja) { // Kreira se instanca klase koja predstavlja XML dokument XmlDocument xmlDoc = new XmlDocument(); // Ucitava se dokument sa zadate putanje xmlDoc.Load(putanja); // Kreira se kolekcija cvorova na osnovu XML dokumenta // Kolekciju cine elementi cije je ime taga "Student" XmlNodeList profesoriNodes = xmlDoc.GetElementsByTagName("Profesor"); // Prolazi se kroz svaki element u kolekciji foreach (XmlNode profesorNode in profesoriNodes) { // Kreiramo novu instancu klase Student // kojoj dodeljujemo vrednosti za clanove na osnovu // vrednosti unutrasnjih cvorova u XML-u Profesor prof = new Profesor(); prof.Ime = profesorNode.ChildNodes[0].InnerText; prof.Prezime = profesorNode.ChildNodes[1].InnerText; prof.Zvanje = profesorNode.ChildNodes[2].InnerText; prof.Katedra = profesorNode.ChildNodes[3].InnerText; // Dati student se dodaje u bazu podataka prof.dodajProfesora(); } }
// Obrada dogadjaja klika na dugme Potvrdi private void btnPotvrdi_Click(object sender, EventArgs e) { try { /* Ukoliko je akcija bila "promeni", vrsi se promena * podataka o profesoru*/ if (akcija == "Promeni") { // Odredjuje se ID profesora kojeg je potrebno promeniti int idSelektovanog = (int)dgProfesori.SelectedRows[0].Cells["ID"].Value; // Na osnovu ID-a iz liste uzimamo odgovarajuceg profesora Profesor selektovaniProfesor = profesoriList.Where(x => x.ID == idSelektovanog).FirstOrDefault(); // Menjaju se vrednosti za ime, prezime i indeks if (selektovaniProfesor != null) { selektovaniProfesor.Ime = txtIme.Text; selektovaniProfesor.Prezime = txtPrezime.Text; selektovaniProfesor.Zvanje = txtZvanje.Text; selektovaniProfesor.Katedra = txtKatedra.Text; /* Izmena podataka o profesoru pomocu metode azurirajProfesora * koja se nalazi u klasi Profesor.*/ selektovaniProfesor.azurirajProfesora(); // Nakon izmene ostaje selektovan isti red idSelektovanog = dgProfesori.SelectedRows[0].Index; } } /* Ukoliko je akcija bila "dodaj", vrsi se dodavanje * novog profesora*/ else if (akcija == "Dodaj") { // Kreira se nova instanca klase Profesor Profesor prof = new Profesor(); // Postavljaju se vrednosti za ime, prezime, zvanje i katedra prof.Ime = txtIme.Text; prof.Prezime = txtPrezime.Text; prof.Zvanje = txtZvanje.Text; prof.Katedra = txtKatedra.Text; /* Dodavanje podataka o profesoru pomocu metode dodajProfesora * koja se nalazi u klasi Profesor*/ prof.dodajProfesora(); // Nakon dodavanja, selektovan je poslednji red indeksSelektovanog = dgProfesori.Rows.Count; } // Onemogucava se dalja promena sadrzaja u tekstualnim poljima txtDisabled(); /* Onemogucava se klik na dugmice potvrdi i odustani, * sve dok se ponovo ne klikne na dodaj ili promeni*/ btnSubmitDisabled(); // Omogucava se klik na dugmice dodaj, promeni i obrisi btnChangeEnabled(); // Promenljiva akcija dobija vrednost "" akcija = ""; // Prikaz profesore u DataGridView kontroli prikaziProfesoreDGV(); } catch (Exception ex) { MessageBox.Show(ex.Message); } }