partial void UpdateWariantTrasy(WariantTrasy instance);
partial void DeleteWariantTrasy(WariantTrasy instance);
private void detach_WariantTrasies(WariantTrasy entity) { this.SendPropertyChanging(); entity.Linie = null; }
partial void InsertWariantTrasy(WariantTrasy instance);
void View_AddToDatabase(object sender, EventArgs e) { try { // Initialize database context TramwajeDataContext databaseContext = new TramwajeDataContext(); // Parse XML file.. XDocument TramXMLFile = XDocument.Load(View.FilePath); foreach (var tramXML in TramXMLFile.Root.Descendants("linia")) { Linie linia = new Linie(); linia.Nazwa = tramXML.Attribute("nazwa").Value.Trim(); if(tramXML.Attribute("typ").Value != null) linia.Typ = tramXML.Attribute("typ").Value.Trim(); foreach (var wariantXML in tramXML.Descendants("wariant")) { WariantTrasy wariant = new WariantTrasy(); wariant.Linie = linia; wariant.Nazwa = wariantXML.Attribute("nazwa").Value.Trim(); // BISKUPIN - POŚWIĘTNE int pPos = wariant.Nazwa.IndexOf("-"); wariant.Start = wariant.Nazwa.Substring(0, pPos - 1); wariant.Koniec = wariant.Nazwa.Substring(pPos + 1); foreach(var przystanekXML in wariantXML.Descendants("przystanek")) { Przystanek przystanek = new Przystanek(); przystanek.WariantTrasy = wariant; przystanek.Nazwa = przystanekXML.Attribute("nazwa").Value.Trim(); przystanek.Ulica = przystanekXML.Attribute("ulica").Value.Trim(); foreach(var dzienXML in przystanekXML.Descendants("dzien")) { foreach (var godzXML in dzienXML.Descendants("godz")) { foreach (var minXML in godzXML.Descendants("min")) { Przyjazd przyjazd = new Przyjazd(); przyjazd.Dzień = dzienXML.Attribute("nazwa").Value.Trim(); przyjazd.Godzina = int.Parse(godzXML.Attribute("h").Value.Trim()); przyjazd.Minuta = int.Parse(minXML.Attribute("m").Value.Trim()); przyjazd.Przystanek = przystanek; przystanek.Przyjazds.Add(przyjazd); } } } wariant.Przystaneks.Add(przystanek); } linia.WariantTrasies.Add(wariant); } if (databaseContext.Linies.Count(l => l.Nazwa == linia.Nazwa) > 0) { databaseContext.Linies.DeleteAllOnSubmit(databaseContext.Linies.Where(l => l.Nazwa == linia.Nazwa)); } databaseContext.Linies.InsertOnSubmit(linia); } databaseContext.SubmitChanges(); View.Message = "Dane zostały pomyślnie zapisane."; }catch(Exception ex) { View.Message = "Wystąpił błąd podczas przetwarzania pliku: " + ex.Message; } }