Exemplo n.º 1
0
 public List <Trip> GetTrips(GPS gps, string gpxFileName)
 {
     return(TripCollection
            .Where(t => t.GPS.DeviceID == gps.DeviceID)
            .Where(t => t.GPXFileName == gpxFileName)
            .ToList());
 }
Exemplo n.º 2
0
 public void MarkAllNotShownInMap()
 {
     foreach (var item in TripCollection.Where(t => t.ShownInMap))
     {
         item.ShownInMap = false;
     }
 }
Exemplo n.º 3
0
 public List <Trip> TripsUsingGPSByMonth(GPS gps, DateTime month)
 {
     return(TripCollection
            .Where(t => t.GPS.DeviceID == gps.DeviceID)
            .Where(t => t.DateTimeDeparture > month)
            .Where(t => t.DateTimeDeparture < month.AddMonths(1))
            .OrderBy(t => t.DateTimeDeparture).ToList());
 }
Exemplo n.º 4
0
 public List <Trip> GetTrips(GPS gps, DateTime dateOfTrip)
 {
     return(TripCollection
            .Where(t => t.GPS.DeviceID == gps.DeviceID)
            .Where(t => t.DateTimeDeparture > dateOfTrip)
            .Where(t => t.DateTimeDeparture < dateOfTrip.AddDays(1))
            .ToList());
 }
Exemplo n.º 5
0
        public Dictionary <DateTime, List <Trip> > TripArchivesByMonth(GPS gps)
        {
            var d = TripCollection
                    .Where(g => g.GPS.DeviceID == gps.DeviceID)
                    .OrderBy(m => m.DateTimeDeparture)
                    .GroupBy(o => o.MonthYear)
                    .ToDictionary(g => g.Key, g => g.ToList());

            return(d);
        }
Exemplo n.º 6
0
        public EntityValidationResult ValidateTrip(Trip trip, bool isNew)
        {
            EntityValidationResult evr = new EntityValidationResult();

            if (trip.OperatorName == null || trip.OperatorName.Length < 3)
            {
                evr.AddMessage("Operator name must be at least 3 letters long");
            }

            if (trip.VesselName == null || trip.VesselName.Length < 3)
            {
                evr.AddMessage("Vessel name 3 letters long");
            }

            if (trip.Gear == null && trip.OtherGear == null)
            {
                evr.AddMessage("Gear or gear other name cannnot be both empty");
            }

            if (trip.DateTimeDeparture == null || trip.DateTimeDeparture > DateTime.Now)
            {
                evr.AddMessage("Date and time of departure cannot be empty and cannot be in the future");
            }
            else if (trip.DateTimeArrival == null || trip.DateTimeArrival > DateTime.Now)
            {
                evr.AddMessage("Date and time of arrival cannot be empty and cannot be in the future");
            }
            else if (trip.DateTimeDeparture >= trip.DateTimeArrival)
            {
                evr.AddMessage("Date and time of departure must be before date and time of arrival");
            }


            int?overlapID = null;

            foreach (var tripItem in TripCollection
                     .Where(t => t.TripID != trip.TripID)
                     .Where(t => t.DeviceID == trip.DeviceID))
            {
                if (trip.DateTimeDeparture >= tripItem.DateTimeDeparture && trip.DateTimeDeparture <= tripItem.DateTimeArrival)
                {
                    overlapID = tripItem.TripID;
                    break;
                }
                else if (trip.DateTimeArrival >= tripItem.DateTimeDeparture && trip.DateTimeArrival <= tripItem.DateTimeArrival)
                {
                    overlapID = tripItem.TripID;
                    break;
                }
                else if (trip.DateTimeDeparture <= tripItem.DateTimeDeparture && trip.DateTimeArrival >= tripItem.DateTimeArrival)
                {
                    overlapID = tripItem.TripID;
                    break;
                }
            }
            if (overlapID != null)
            {
                evr.AddMessage($"This trip overlaps with trip ID {overlapID}");
            }


            return(evr);
        }
Exemplo n.º 7
0
 public List <Trip> GetAllTrips(string deviceID)
 {
     return(TripCollection.Where(t => t.DeviceID == deviceID).ToList());
 }
Exemplo n.º 8
0
 public Trip GetLastTripOfDevice(string deviceID)
 {
     return(TripCollection
            .Where(t => t.DeviceID == deviceID)
            .OrderByDescending(t => t.TripID).FirstOrDefault());
 }