private void LoadTravelWarrantsToStackPanel()
        {
            SpTravelWarrants.Children.Clear();

            List <TravelWarrant> travelWarrants = travelWarrantsSqlRepository.ReadAll();

            foreach (TravelWarrant travelWarrant in travelWarrants)
            {
                TravelWarrantPanel travelWarrantPanel = new TravelWarrantPanel(travelWarrant);

                SpTravelWarrants.Children.Add(travelWarrantPanel);
            }
        }
Example #2
0
        private XmlWriter WriteTravelWarrants(XmlWriter xmlWriter)
        {
            List <TravelWarrant> travelWarrants = travelWarrantsSqlRepository.ReadAll();

            xmlWriter.WriteStartElement("TravelWarrants");

            foreach (TravelWarrant travelWarrant in travelWarrants)
            {
                xmlWriter.WriteStartElement("TravelWarrant");
                xmlWriter.WriteAttributeString("Id", travelWarrant.Id.ToString());

                xmlWriter.WriteStartElement("WarrantStatus");
                xmlWriter.WriteString(travelWarrant.WarrantStatus);
                xmlWriter.WriteEndElement();

                xmlWriter.WriteStartElement("DateIssued");
                xmlWriter.WriteString(travelWarrant.DateIssued.ToShortDateString());
                xmlWriter.WriteEndElement();

                xmlWriter.WriteStartElement("TimeIssued");
                xmlWriter.WriteString(travelWarrant.TimeIssued.ToString());
                xmlWriter.WriteEndElement();

                xmlWriter.WriteStartElement("DriverId");
                xmlWriter.WriteString(travelWarrant.DriverId.ToString());
                xmlWriter.WriteEndElement();

                xmlWriter.WriteStartElement("VehicleId");
                xmlWriter.WriteString(travelWarrant.VehicleId.ToString());
                xmlWriter.WriteEndElement();

                xmlWriter.WriteStartElement("TravelRouteId");
                xmlWriter.WriteString(travelWarrant.TravelRouteId.ToString());
                xmlWriter.WriteEndElement();

                xmlWriter.WriteStartElement("FuelCostId");
                xmlWriter.WriteString(travelWarrant.FuelCostId.ToString());
                xmlWriter.WriteEndElement();

                xmlWriter.WriteEndElement();
            }

            xmlWriter.WriteEndElement();

            return(xmlWriter);
        }
        private void GenerateVehicleReport()
        {
            Vehicle v     = vehiclesSqlRepository.ReadById(vehicle.Id);
            string  make  = v.Make;
            string  model = v.Model;

            float currentlyTraveledKilometers = v.InitialMileage;

            float averageSpeed = 0;
            int   counter      = 0;

            List <TravelWarrant> travelWarrants = travelWarrantsSqlRepository.ReadAll();
            List <TravelRoute>   travelRoutes   = travelRoutesSqlRepository.ReadAll();

            foreach (TravelWarrant travelWarrant in travelWarrants)
            {
                if (travelWarrant.VehicleId == v.Id)
                {
                    TravelRoute travelRoute = travelRoutesSqlRepository.ReadById(travelWarrant.TravelRouteId);

                    currentlyTraveledKilometers += travelRoute.KilometersTraveled;
                    averageSpeed += travelRoute.AverageSpeed;
                    counter++;
                }
            }

            averageSpeed /= counter;

            var resourceName = Assembly.GetExecutingAssembly().GetManifestResourceNames().Where(q => q.Contains("Template.html")).FirstOrDefault();

            using (Stream stream = Assembly.GetExecutingAssembly().GetManifestResourceStream(resourceName))
            {
                using (StreamReader reader = new StreamReader(stream))
                {
                    StringBuilder  sb       = new StringBuilder();
                    List <Service> services = servicesSqlRepository.ReadAll();

                    foreach (Service service in services)
                    {
                        if (service.Vehicle.Id == v.Id)
                        {
                            sb.Append("<table>\n");
                            sb.Append("<tr>\n");

                            foreach (ServiceItem serviceItem in service.ServiceItems)
                            {
                                sb.Append("<td></br>");
                                sb.Append("Service item\n");
                                sb.Append("</br>");
                                sb.Append(serviceItem.Name + "\n");
                                sb.Append("</br>");
                                sb.Append(serviceItem.Price + "\n");
                                sb.Append("</br>");
                                sb.Append("</td>\n");
                            }

                            sb.Append("</tr>\n");
                            sb.Append("</table>\n");
                        }
                    }

                    string html = reader.ReadToEnd().Replace("$$MAKE$$", make).Replace("$$MODEL$$", model).Replace("$$CTK$$", currentlyTraveledKilometers.ToString()).Replace("$$AVERAGESPEED$$", averageSpeed.ToString()).Replace("$$SERVICEITEMS$$", sb.ToString());

                    File.WriteAllText(@"../../../DataForExport/HtmlVehicleReport.html", html);
                }
            }
            MessageBox.Show("Success");

            System.Diagnostics.Process.Start(@"C:\Development\project-adpc-vehiclemanager\DataForExport/HtmlVehicleReport.html");
        }