private void BtnLoad_Click(object sender, RoutedEventArgs e) { UplatnicaUserControl2.ResetFields(); NalogZaUplatu = ImportFromXML(); if (NalogZaUplatu != null) { UplatnicaUserControl2.UpdateFields(NalogZaUplatu); } }
public void UpdateFields(UplatnicaTemp Temp) { uplatilacTextBox.Text = Temp.UplatilacTextBox; adresaUplatiocaTextBox.Text = Temp.AdresaUplatiocaTextBox; svrhaTextBox.Text = Temp.SvrhaTextBox; primalacTextBox.Text = Temp.PrimalacTextBox; adresaPrimaocaTextBox.Text = Temp.AdresaPrimaocaTextBox; sifraTextBox.Text = Temp.SifraTextBox; valutaTextBox.Text = Temp.ValutaTextBox; iznosTextBox.Text = string.Format("{0:#,##0.00}", double.Parse(Temp.IznosTextBox.ToString())); racunTextBox.Text = Temp.RacunTextBox; modelTextBox.Text = Temp.ModelTextBox; pozivTextBox.Text = Temp.PozivTextBox; mestoTextBox.Text = Temp.MestoTextBox; datum.SelectedDate = Temp.Datum.Value; }
public void SaveFields(UplatnicaTemp Temp) { Temp.UplatilacTextBox = uplatilacTextBox.Text; Temp.AdresaUplatiocaTextBox = adresaUplatiocaTextBox.Text; Temp.SvrhaTextBox = svrhaTextBox.Text; Temp.PrimalacTextBox = primalacTextBox.Text; Temp.AdresaPrimaocaTextBox = adresaPrimaocaTextBox.Text; Temp.SifraTextBox = sifraTextBox.Text; //U ovom slucaju valutu ne moramo da cuvamo zato sto smo stavili da ona bude staticna sa valutaTextBox.Text = "RSD"; //Vise na https://docs.microsoft.com/en-us/dotnet/api/system.decimal.parse?view=netframework-4.7.2 Temp.IznosTextBox = decimal.Parse(iznosTextBox.Text); Temp.RacunTextBox = racunTextBox.Text; Temp.ModelTextBox = modelTextBox.Text; Temp.PozivTextBox = pozivTextBox.Text; Temp.MestoTextBox = mestoTextBox.Text; Temp.Datum = datum.SelectedDate; }
//Kada god se koristi upis u neku vrstu fajla, potrebno je otvoriti stream ukoliko je to moguce, u suprotnom, u catch bloku izbaci error ili slicno private static void ExportToXML(UplatnicaTemp temp) { try { //Pravimo novi objekat pod imenom writer koji ce sva polja od UplatnicaTemp //Vise informacija na https://docs.microsoft.com/en-us/dotnet/api/system.xml.serialization.xmlserializer?view=netframework-4.7.2 System.Xml.Serialization.XmlSerializer writer = new System.Xml.Serialization.XmlSerializer(typeof(UplatnicaTemp)); //Sa ovim cemo pokupiti trenutno vreme i u naziv fajla cemo ga ispisati string n = string.Format("text-{0:yyyy-MM-dd_hh-mm-ss-tt}", DateTime.Now); //Sa ovim stavljamo putanju na desktop sa vec predefinisanim nazivom, vremenom i ekstenzijom var path = Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + "//NalogZaUplatu" + n + ".xml"; //Naredba za upisivanje u fajl System.IO.FileStream file = System.IO.File.Create(path); writer.Serialize(file, temp); file.Close(); } catch { } }
//Ucitavanj se isto radi kao i upisivanje stim sto se radi u obrnutom smeru mada vec C# ovo radi automatski za vas private static UplatnicaTemp ImportFromXML() { string filePath = String.Empty; UplatnicaTemp temp = null; try { OpenFileDialog openFileDialog1 = new OpenFileDialog { InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.Desktop), //Sa ovim filtriramo samo xml fajlove da na se prikazuju u dijalogu Filter = "xml file (*.xml)|*.xml", //Naziv dijaloga Title = "Odaberite Nalog za uplatu" }; //Ukoliko se otvorio dijalog, ucitaj mi podatke iz zadatog fajla if (openFileDialog1.ShowDialog() == true) { filePath = openFileDialog1.FileName; System.Xml.Serialization.XmlSerializer reader = new System.Xml.Serialization.XmlSerializer(typeof(UplatnicaTemp)); //var path = Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + "//NalogZaUplatu.xml"; System.IO.StreamReader file = new System.IO.StreamReader(filePath); temp = (UplatnicaTemp)reader.Deserialize(file); file.Close(); return(temp); } return(temp); } catch { MessageBox.Show("Došlo je do greške prilikom učitavanja fajla!"); temp = null; return(temp); } }