Exemplo n.º 1
0
        private void ImportTravelRouteFromXml()
        {
            try
            {
                OpenFileDialog openFileDialog = new OpenFileDialog();

                if (openFileDialog.ShowDialog() == true)
                {
                    string filePath = openFileDialog.FileName;

                    XmlDocument doc = new XmlDocument();

                    doc.Load(filePath);

                    List <string> travelRouteData = new List <string>();

                    foreach (XmlNode node in doc.DocumentElement.ChildNodes)
                    {
                        travelRouteData.Add(node.InnerText);
                    }

                    DateTime dateIssued         = DateTime.Parse(travelRouteData[0]);
                    TimeSpan timeIssued         = TimeSpan.Parse(travelRouteData[1]);
                    string   origin             = travelRouteData[2];
                    string   destination        = travelRouteData[3];
                    float    kilometersTraveled = float.Parse(travelRouteData[4]);
                    float    averageSpeed       = float.Parse(travelRouteData[5]);
                    float    spentFuel          = float.Parse(travelRouteData[6]);

                    TravelRoute travelRoute = new TravelRoute(dateIssued, timeIssued, origin, destination, kilometersTraveled, averageSpeed, spentFuel);

                    bool success = travelRoutesSqlRepository.Create(travelRoute);

                    if (success)
                    {
                        MessageBox.Show("Success");
                    }
                    else
                    {
                        MessageBox.Show("Fail");
                    }

                    LoadTravelRoutesToStackPanel();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
        private void CreateTravelRoute()
        {
            if (TbDate.Text != string.Empty && TbTime.Text != string.Empty && TbOrigin.Text != string.Empty && TbDestination.Text != string.Empty && TbKilometersTraveled.Text != string.Empty && TbAverageSpeed.Text != string.Empty && TbSpentFuel.Text != string.Empty)
            {
                if (DateTime.TryParse(TbDate.Text, out DateTime date) && TimeSpan.TryParse(TbTime.Text, out TimeSpan time) && float.TryParse(TbKilometersTraveled.Text, out float kilometersTraveled) && float.TryParse(TbAverageSpeed.Text, out float averageSpeed) && float.TryParse(TbSpentFuel.Text, out float spentFuel))
                {
                    if ((Regex.IsMatch(TbDate.Text, @"\d\d/\d\d/\d\d\d\d") || Regex.IsMatch(TbDate.Text, @"\d/\d\d/\d\d\d\d")) && Regex.IsMatch(TbTime.Text, @"\d\d:\d\d:\d\d"))
                    {
                        TravelRoute createdTravelRoute = new TravelRoute()
                        {
                            DateIssued         = date,
                            TimeIssued         = time,
                            Origin             = TbOrigin.Text,
                            Destination        = TbDestination.Text,
                            KilometersTraveled = kilometersTraveled,
                            AverageSpeed       = averageSpeed,
                            SpentFuel          = spentFuel
                        };

                        bool success = travelRoutesSqlRepository.Create(createdTravelRoute);

                        if (success)
                        {
                            MessageBox.Show("Success");
                            Close();
                        }
                        else
                        {
                            MessageBox.Show("Fail");
                        }
                    }
                    else
                    {
                        MessageBox.Show("Date format must be: \"MM/dd/yyyy\"\nTime format must be: \"HH:MM:ss\"");
                    }
                }
                else
                {
                    MessageBox.Show("Kilometers traveled, average speed and spent fuel must be numbers\nDate format must be: \"MM/dd/yyyy\"\nTime format must be: \"HH:MM:ss\"");
                }
            }
            else
            {
                MessageBox.Show("All input fields are required");
            }
        }