TripInfoPage.xaml.cs 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Globalization;
  4. using System.Linq;
  5. using System.Text;
  6. using System.Threading.Tasks;
  7. using System.Windows;
  8. using System.Windows.Controls;
  9. using System.Windows.Data;
  10. using System.Windows.Documents;
  11. using System.Windows.Input;
  12. using System.Windows.Media;
  13. using System.Windows.Media.Imaging;
  14. using System.Windows.Navigation;
  15. using System.Windows.Shapes;
  16. namespace RaspisKusach.Pages
  17. {
  18. public partial class TripInfoPage : Page
  19. {
  20. Trips trip;
  21. public TripInfoPage(Trips _trip)
  22. {
  23. InitializeComponent();
  24. trip = _trip;
  25. string stationsList = "";
  26. foreach (RoutesStations rs in cnt.db.RoutesStations.Where(item => item.IdRoute == trip.IdRoute))
  27. stationsList += rs.Stations.Location == Functions.GetDepartureStationLocation(trip.Routes) ? rs.Stations.Name : $"{rs.Stations.Name} → ";
  28. Direction.Content = stationsList;
  29. CarriageListBox.Items.Clear();
  30. UpdateCarriagesList();
  31. }
  32. private void UpdateCarriagesList()
  33. {
  34. List<CarriageClass> routeList = new List<CarriageClass>();
  35. int carrNum = 2;
  36. foreach (Carriages item in cnt.db.Carriages.Where(item => item.IdTrain == trip.IdTrain))
  37. {
  38. routeList.Add(new CarriageClass()
  39. {
  40. Carriage = item,
  41. CarriageNum = carrNum
  42. });
  43. carrNum++;
  44. }
  45. CarriageListBox.ItemsSource = routeList;
  46. }
  47. public class CarriageClass
  48. {
  49. public Carriages Carriage { get; set; }
  50. public int CarriageNum { get; set; }
  51. }
  52. }
  53. }