public static ConcurrentDictionary <int, ILinie> ReadFile(String filePath) { FileHelperEngine <LinieRecord> engine = new FileHelperEngine <LinieRecord>(); ConcurrentDictionary <int, ILinie> linien = new ConcurrentDictionary <int, ILinie>(); try { engine.ErrorManager.ErrorMode = ErrorMode.SaveAndContinue; engine.Encoding = Encoding.UTF8; LinieRecord[] res = engine.ReadFile(filePath); foreach (LinieRecord linie in res) { //Übernehmen der eingelesenen Daten in das Programm-Model: ILinie transport = new Linie(); transport.Bezeichnung = linie.Bezeichnung; transport.Echtzeit = linie.Echtzeit; transport.Id = linie.Id; transport.Reihenfolge = linie.Reihenfolge; transport.Verkehrsmittel = Linie.VerkehrsmittelConverter(linie.Verkehrsmittel); //Schreiben des Models in Collection für den Rückgabewert: linien.AddOrUpdate(transport.Id, transport, (key, oldValue) => transport); } } catch (Exception ex) { //Dokument konnte nicht geparst werden (Nicht vorhanden/geöffnet) throw new VtmParsingException("Beim Versuch die Linien zu parsen ist ein Fehler aufgetreten!", filePath, ex); } return(linien); }
private Linie zeichnendeLinie; // Welche Linie wird gerade gezeichnet? // Event wird ausgelöst wenn die Maus gedrückt wird (quasi initial-zündung) private void Zeichenfläche_MouseDown(object sender, MouseEventArgs e) { if (ControlModus == Modus.Bewegemodus) { bewegenStartOffset = zeichnungOffset; bewegenStartKoordinate = e.Location; modusAktiv = true; } else if (ControlModus == Modus.Zeichenmodus) { // Neue Linie anlegen zeichnendeLinie = new Linie(); datei.Add(zeichnendeLinie); // Zeichenmodus effektiv aktivieren stoppuhr.Start(); modusAktiv = true; // Ersten Punkt an dieser Koordinate anlegen Zeichenfläche_MouseMove(this, e); } else if (ControlModus == Modus.Loeschmodus || ControlModus == Modus.Ursprungsmodus) { modusAktiv = true; } }
private void pictureBox1_Click(object sender, EventArgs e) { var punct = new System.Drawing.Point(((MouseEventArgs)e).X, ((MouseEventArgs)e).Y); if (!_inProgres) { if (_obiectInMove == null) { _obiectInProgres = new Obiect(); _linieInProgres = new Linie(); _linieInProgres.Start = punct; _initialPoint = punct; if (checkBox1.Checked) { _drawUtils.DeseneazaVarf(punct, (int)numericUpDown1.Value); } _inProgres = true; _obiectInProgres.Varfuri.Add(punct); } } else { if (!_isNearInitialPoint) { _obiectInProgres.Varfuri.Add(punct); _linieInProgres.End = punct; _obiectInProgres.LiniiPerimetru.Add(new Linie(_linieInProgres)); _drawUtils.DeseneazaLinie(_linieInProgres); if (checkBox1.Checked) { _drawUtils.DeseneazaVarf(punct, (int)numericUpDown1.Value); } _linieInProgres = new Linie(); _linieInProgres.Start = punct; } else { _linieInProgres.End = new System.Drawing.Point(_initialPoint.X, _initialPoint.Y); _obiectInProgres.LiniiPerimetru.Add(new Linie(_linieInProgres)); //_obiectInProgres.CalculeazaPuncteInterioare(new Point(0, 0), new Point(pictureBox1.Width, pictureBox1.Height)); //_objects.Add(_obiectInProgres); _drawUtils.DeseneazaLinie(_linieInProgres); _drawUtils.ColoreazaInteriorObiect(_obiectInProgres, Color.Red, Brushes.Red); _objects.Add(_obiectInProgres); _obiectInProgres.ObiectInitial = new Obiect(_obiectInProgres); _linieInProgres = null; _obiectInProgres = null; _inProgres = false; _isNearInitialPoint = false; } } }
private void button2_Click_1(object sender, EventArgs e) { System.Drawing.Graphics Linie; Linie = this.CreateGraphics(); Pen myPen = new Pen(System.Drawing.Color.Blue, 2); Linie.DrawLine(myPen, 20, 20, 350, 250); }
public void DeseneazaLinie(Linie linie) { PointF pt1D = new PointF(); PointF pt2D = new PointF(); pt1D.X = linie.Start.X; pt1D.Y = linie.Start.Y; pt2D.X = linie.End.X; pt2D.Y = linie.End.Y; _graphics.DrawLine(Pens.Black, pt1D, pt2D); }
// Event wird ausgelöst wenn die Maus losgelassen wird private void Zeichenfläche_MouseUp(object sender, MouseEventArgs e) { if (modusAktiv) { if (ControlModus == Modus.Zeichenmodus) { // Prüfen ob der Endpunkt der Linie mit dem Startpunkt einer anderen Linie verbunden werden kann foreach (Koordinate koordinate in datei.ErmittleRandpunkteBei(e.X - zeichnungOffset.X, e.Y - zeichnungOffset.Y, Verbindungsbreite, Verbindungshoehe)) { if (koordinate.IstStartpunkt && koordinate.Linie != zeichnendeLinie) { if (MessageBox.Show(String.Format("Möchten Sie die gezeichnete Linie mit der Linie {0} beim Endpunkt zusammenführen?", datei.IndexOf(koordinate.Linie) + 1), Application.ProductName, MessageBoxButtons.YesNo) == DialogResult.Yes) { var linie = koordinate.Linie; zeichnendeLinie.LinieAnhängen(linie); datei.Remove(linie); break; } } } // Prüfen ob der Startpunkt der Linie mit dem Endpunkt einer anderen Linie verbunden werden kann foreach (Koordinate koordinate in datei.ErmittleRandpunkteBei(zeichnendeLinie[0].X, zeichnendeLinie[0].Y, Verbindungsbreite, Verbindungshoehe)) { if (koordinate.IstEndpunkt && koordinate.Linie != zeichnendeLinie) { if (MessageBox.Show(String.Format("Möchten Sie die gezeichnete Linie mit der Linie {0} beim Startpunkt zusammenführen?", datei.IndexOf(koordinate.Linie) + 1), Application.ProductName, MessageBoxButtons.YesNo) == DialogResult.Yes) { koordinate.Linie.LinieAnhängen(zeichnendeLinie); datei.Remove(zeichnendeLinie); break; } } } } else if (ControlModus == Modus.Ursprungsmodus) { // Ursprung der Datei definieren datei.Ursprung.X = ursprungKoordinate.X - zeichnungOffset.X; datei.Ursprung.Y = ursprungKoordinate.Y - zeichnungOffset.Y; ControlModus = Modus.Zeichenmodus; Invalidate(); } stoppuhr.Reset(); zeichnendeLinie = null; modusAktiv = false; } }
public VtmResponse(Line line, Departure departure, LocationStop locstop, List <TrafficInfoCategory> tic, List <TrafficInfoCategoryGroup> ticg, String type, List <TrafficInfo> trafficInfos) { Line = line; Departure = departure; TrafficInfos = trafficInfos; LocationStop = locstop; TrafficInfoCategories = tic; TrafficInfoCategoryGroups = ticg; Typ = Linie.VerkehrsmittelConverter(type); if (String.IsNullOrWhiteSpace(Departure.DepartureTime.TimeReal)) { Departure.DepartureTime.TimeReal = Departure.DepartureTime.TimePlanned + " *"; } }
public void TestInitialize() { linie = new Linie(1, "Testlinie", 12, true, EVerkehrsmittel.SBahn); linieLeer = new Linie(); }
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; } }