Esempio n. 1
0
        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();
        }
Esempio n. 2
0
        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);
            }
        }