public void AddJourney(Journey journey)
        {
            ValidateNewJourney(journey);

            if (Journeys == null)
            {
                Journeys = new HashSet <Journey>();
            }

            Journeys.Add(journey);

            UpdateModifiedDate();
        }
Exemplo n.º 2
0
        public MockObjects()
        {
            Vehicles1 = new Vehicles();
            Vehicles2 = new Vehicles();
            Vehicles3 = new Vehicles();

            Journeys1 = new Journeys();

            Services1 = new Services();

            FuelPurchases1 = new FuelPurchases();

            Vehicles2.Add("BMW", "X5", 2006, "1BGZ784", 93);
            Vehicles2.Add("Tesla", "Roadster", 2008, "8HDZ576", 0);

            Vehicles3.Add("BMW", "X5", 2006, "1BGZ784", 93);
            Vehicles3.Add("Tesla", "Roadster", 2008, "8HDZ576", 0);

            Journeys1.Add(Vehicles2.List[0], new DateTime(2019, 1, 15, 15, 45, 00), 10);
            Journeys1.Add(Vehicles2.List[0], new DateTime(2019, 3, 16, 21, 10, 00), 20);

            FuelPurchases1.Add(Vehicles2.List[0], 357.11m, 39.23, new DateTime(2019, 11, 18, 22, 15, 00));
            FuelPurchases1.Add(Vehicles2.List[0], 161.80m, 49.57, new DateTime(2019, 11, 21, 12, 15, 00));

            Services1.Add(Vehicles2.List[0], 10, 473.02m, new DateTime(2018, 12, 20));
            Services1.Add(Vehicles2.List[0], 15, 537.20m, new DateTime(2019, 3, 16));

            Vehicle1 = new Vehicle(17)
            {
                Manufacturer       = "Chevrolet",
                Model              = "Cadillac",
                MakeYear           = 1959,
                RegistrationNumber = "C4D1LL4C",
                TankCapacity       = 79
            };
        }
Exemplo n.º 3
0
        private void Parse()
        {
            while ((line = file.ReadLine()) != null)
            {
                lineCh         = line.ToCharArray();
                recordIdentity = line.Substring(0, 2);
                switch (recordIdentity)
                {
                case "QS":
                    Journeys.Add(new JourneyRecord(lineCh));
                    break;

                case "QO":
                    Journeys[Journeys.Count - 1].setOrigin(lineCh);
                    break;

                case "QI":
                    Journeys[Journeys.Count - 1].addIntermediateRecord(lineCh);
                    break;

                case "QT":
                    Journeys[Journeys.Count - 1].setDestination(lineCh);
                    break;

                case "QD":
                    addRoute();
                    break;

                case "QL":
                    addLocation();
                    break;

                case "QB":
                    setLocationGridRef();
                    break;

                default:
                    break;
                }
            }
        }
 //Journey Class Method: Distance travelled
 public void AddJourney(double distanceTravelled)
 {
     Journeys.Add(new Journey(distanceTravelled));
 }
Exemplo n.º 5
0
 // adds journey to journeys
 public void AddJourney(Journey journey)
 {
     Journeys.Add(journey);
 }
Exemplo n.º 6
0
        public override async void Refresh()
        {
            base.Refresh();

            // Mark View as Refreshing
            Refreshing = true;

            // Clear Journey Groups
            Journeys.Clear();

            // Get collection of Journey objects from Journey Service
            var journeys = await Services.Host.JourneyService.GetJourneys();

            // Dump to array to prevent multiple enumerations
            var enumerable = journeys as Journey[] ?? journeys.ToArray();

            // Hold todays date
            var todaysDate = DateTime.UtcNow.Date;
            // Use Todays Date to filter journeys for Today and factory them into JourneyViewModel's
            var todaysJourneys = enumerable.Where(j => j.Date.Date == todaysDate).Select(j => new JourneyViewModel(j));
            // Dump to array to prevent multiple enumerations.
            var todaysJourneyViewModels = todaysJourneys as JourneyViewModel[] ?? todaysJourneys.ToArray();

            // Check if there were any journey's today.
            if (todaysJourneyViewModels.Any())
            {
                // Create the JourneyGroup for Today
                var todayGroup = new JourneyGroup("Today", todaysDate.Date.ToString());
                // Add Todays Journey's to the JourneyGroup
                todayGroup.AddRange(todaysJourneyViewModels);
                // Add Todays JourneyGroup to the Journey Grousp list
                Journeys.Add(todayGroup);
            }


            // Hold yesterdays date
            var yesterdaysDate = DateTimeOffset.UtcNow.AddDays(-1).Date;
            // Use Yesterdays Date to filter journeys for Yesterday and factory them into JourneyViewModel's
            var yesterdaysJourneys =
                enumerable.Where(j => j.Date.Date == yesterdaysDate)
                .Select(j => new JourneyViewModel(j));
            // Dump to array to prevent multiple enumerations.
            var yesterdaysJourneyViewModels = yesterdaysJourneys as JourneyViewModel[] ?? yesterdaysJourneys.ToArray();

            // Check if there were any journey's yesterday.
            if (yesterdaysJourneyViewModels.Any())
            {
                // Create the JourneyGroup for Yesterday
                var yesterdayGroup = new JourneyGroup("Yesterday", yesterdaysDate.Date.ToString());
                // Add Yesterdays Journey's to the JourneyGroup
                yesterdayGroup.AddRange(yesterdaysJourneyViewModels);
                // Add Yesterdays JourneyGroup to the Journey Grousp list
                Journeys.Add(yesterdayGroup);
            }

            // Hold Last Weeks date
            var lastWeeksDate = DateTimeOffset.UtcNow.Date.AddDays(-7).StartOfWeek(DayOfWeek.Sunday);

            // Use Yesterdays Date and Last Weeks Date to filter journeys for Last Week and factory them into JourneyViewModel's
            var lastWeeksJourneys = enumerable.Where(j => j.Date.Date > lastWeeksDate && j.Date.Date < yesterdaysDate)
                                    .Select(j => new JourneyViewModel(j));
            // Dump to array to prevent multiple enumerations.
            var lastWeeksJourneyViewModels = lastWeeksJourneys as JourneyViewModel[] ?? lastWeeksJourneys.ToArray();

            // Check if there were any journey's last week.
            if (lastWeeksJourneyViewModels.Any())
            {
                // Create the JourneyGroup for Last Week
                var lastWeekGroup = new JourneyGroup("Last Week", lastWeeksDate.Date.ToString());
                // Add Last Weeks Journey's to the JourneyGroup
                lastWeekGroup.AddRange(lastWeeksJourneyViewModels);
                // Add Last Weeks JourneyGroup to the Journey Grousp list
                Journeys.Add(lastWeekGroup);
            }

            // Filter remaining Journeys that havent been dealt with
            var remainingJourneys = enumerable.Where(j => j.Date < lastWeeksDate);
            // Group journeys by Year
            var journeysByYear = remainingJourneys.GroupBy(j => j.Date.Date.Year).Select(g => g.ToList()).ToList();

            // Go through years
            foreach (var yearsJourneys in journeysByYear)
            {
                // Group this years Journeys by Month
                var journeysByMonth =
                    yearsJourneys.GroupBy(j => j.Date.Date.Month).Select(g => g.ToList()).ToList();

                // Go through months
                foreach (var monthsJourneys in journeysByMonth)
                {
                    // Create the JourneyGroup for the Month
                    var monthsGroup = new JourneyGroup(monthsJourneys.FirstOrDefault().Date.ToString("MMMM", null), monthsJourneys.FirstOrDefault().Date.ToString("MMMM", null));
                    // Add Journeys to the JourneyGroup
                    monthsGroup.AddRange(monthsJourneys.Select(j => new JourneyViewModel(j)));
                    // Add
                    Journeys.Add(monthsGroup);
                }
            }

            // Set whether there are any journeys
            HasJourneys = Journeys.Any();

            // Mark View as not Refreshing
            Refreshing = false;
        }