private void View_saveWaypointGrid(DataGridView dataGridwaypoint) { List <Model.WaypointModel> waypointToSave = new List <Model.WaypointModel>(); for (int i = 0; i < dataGridwaypoint.Rows.Count; i++) { Model.WaypointModel cur_waypoint = new Model.WaypointModel( dataGridwaypoint.Rows[i].Cells[0].Value.ToString(), dataGridwaypoint.Rows[i].Cells[1].Value.ToString(), dataGridwaypoint.Rows[i].Cells[2].Value.ToString(), dataGridwaypoint.Rows[i].Cells[3].Value.ToString(), dataGridwaypoint.Rows[i].Cells[4].Value.ToString(), dataGridwaypoint.Rows[i].Cells[5].Value.ToString(), dataGridwaypoint.Rows[i].Cells[6].Value.ToString(), dataGridwaypoint.Rows[i].Cells[7].Value.ToString()); waypointToSave.Add(cur_waypoint); } using (SaveFileDialog saveFile = new SaveFileDialog()) { saveFile.Filter = "XML files(.xml)|*.xml"; saveFile.ShowDialog(); using (XmlWriter writer = XmlWriter.Create(saveFile.FileName)) { writer.WriteStartDocument(); writer.WriteStartElement("Waypoints"); foreach (Model.WaypointModel item in waypointToSave) { writer.WriteStartElement("waypoint"); writer.WriteElementString("ID", item._id); writer.WriteElementString("X", item._x); writer.WriteElementString("Y", item._y); writer.WriteElementString("Z", item._z); writer.WriteElementString("Collect", item._collect); writer.WriteElementString("Fly", item._fly_to); writer.WriteElementString("Rest", item._rest); writer.WriteElementString("Rest_for", item._rest_for); writer.WriteEndElement(); } writer.WriteEndElement(); writer.WriteEndDocument(); } } view.setLog("Waypoint file saved", false); dataGridwaypoint.Rows.Clear(); }
private void View_openWaypointFile() { try { using (OpenFileDialog openFile = new OpenFileDialog()) { openFile.Filter = "XML files(.xml)|*.xml"; openFile.ShowDialog(); List <Model.WaypointModel> listWaypoint = new List <Model.WaypointModel>(); Model.WaypointModel item = new Model.WaypointModel(); using (XmlReader reader = XmlReader.Create(openFile.FileName)) { while (reader.Read()) { if (reader.NodeType == XmlNodeType.Element) { switch (reader.Name) { case "waypoint": item = new Model.WaypointModel(); break; case "ID": reader.Read(); item._id = reader.Value.Trim(); break; case "X": reader.Read(); item._x = reader.Value.Trim(); break; case "Y": reader.Read(); item._y = reader.Value.Trim(); break; case "Z": reader.Read(); item._z = reader.Value.Trim(); break; case "Collect": reader.Read(); item._collect = reader.Value.Trim(); break; case "Fly": reader.Read(); item._fly_to = reader.Value.Trim(); break; case "Rest": reader.Read(); item._rest = reader.Value.Trim(); break; case "Rest_for": reader.Read(); item._rest_for = reader.Value.Trim(); break; } } if (reader.NodeType == XmlNodeType.EndElement && reader.Name == "waypoint") { listWaypoint.Add(item); } } view.fillWaypointGrid(listWaypoint); } } } catch { view.setLog("Błąd podczas otwierania pliku z waypointami", true); } }