Esempio n. 1
0
        public ActionResult <VehicleFeedInfosFollow> FleetVehicleInfos(string token)
        {
            DateTimeOffset fromTime;
            DateTimeOffset toTime = DateTimeOffset.Now.ToUniversalTime();

            if (string.IsNullOrEmpty(token))
            {
                //TODO: When null, should be set to 'now'
                //for the demo, set start time = 5/1/19
                fromTime = new DateTimeOffset(2019, 05, 01, 0, 0, 0, 0, TimeSpan.FromHours(0)).ToUniversalTime();
            }
            else
            {
                string strFromTime = m_dataProtector.Unprotect(token);
                if (!DateTimeOffset.TryParse(strFromTime, out fromTime))
                {
                    return(BadRequest("token parameter invalid"));
                }
            }
            var vfif = new VehicleFeedInfosFollow();

            vfif.token = m_dataProtector.Protect(toTime.ToString());

            LocationHistory locHistory = GetCourseLocationHistory(fromTime.DateTime, toTime.DateTime, true);
            List <VehicleFaultCodeEvent> flaggedEventHistory =
                m_Context.VehicleFaultCodeEvent.Where(
                    x => x.triggerDate >= fromTime &&
                    x.triggerDate <= toTime &&
                    x.urgentFlag == true).ToList();
            List <VehiclePerformanceEvent> performanceEventHistory =
                m_Context.VehiclePerformanceEvent
                .Include(VehiclePerformanceThreshold => VehiclePerformanceThreshold.thresholds)
                .Where(
                    x => x.eventStart >= fromTime &&
                    x.eventStart <= toTime).ToList();
            List <VehicleFaultCodeEvent> vehicleFaultCodeEventHistory =
                m_Context.VehicleFaultCodeEvent.Where(
                    x => x.triggerDate >= fromTime &&
                    x.triggerDate <= toTime).ToList();
            VehicleInfoHistory history = new VehicleInfoHistory
            {
                coarseVehicleLocationTimeHistories = locHistory,
                flaggedVehicleFaultEvents          = VehicleFaultCodeListToModelList(flaggedEventHistory),
                vehiclePerformanceEvents           = VehiclePerformanceListToModelList(performanceEventHistory),
                vehicleFaultCodeEvents             = VehicleFaultCodeListToModelList(vehicleFaultCodeEventHistory)
            };

            vfif.feed = history;
            return(vfif);
        }
Esempio n. 2
0
        public ActionResult <VehicleInfoHistory> FleetVehicleInfos(string startTime, string stopTime)
        {
            if (!DateTime.TryParse(startTime, null, System.Globalization.DateTimeStyles.RoundtripKind, out DateTime startDate))
            {
                return(BadRequest("Invalid startTime"));
            }
            if (!DateTime.TryParse(stopTime, null, System.Globalization.DateTimeStyles.RoundtripKind, out DateTime stopDate))
            {
                return(BadRequest("Invalid stopTime"));
            }

            LocationHistory locHistory = GetCourseLocationHistory(startDate, stopDate, true);
            List <VehicleFaultCodeEvent> flaggedEventHistory =
                m_Context.VehicleFaultCodeEvent.Where(
                    x => x.triggerDate >= startDate &&
                    x.triggerDate <= stopDate &&
                    x.urgentFlag == true).ToList();
            List <VehiclePerformanceEvent> performanceEventHistory =
                m_Context.VehiclePerformanceEvent
                .Include(VehiclePerformanceThreshold => VehiclePerformanceThreshold.thresholds)
                .Where(
                    x => x.eventStart >= startDate &&
                    x.eventStart <= stopDate).ToList();
            List <VehicleFaultCodeEvent> vehicleFaultCodeEventHistory =
                m_Context.VehicleFaultCodeEvent.Where(
                    x => x.triggerDate >= startDate &&
                    x.triggerDate <= stopDate).ToList();
            VehicleInfoHistory result = new VehicleInfoHistory
            {
                coarseVehicleLocationTimeHistories = locHistory,
                flaggedVehicleFaultEvents          = VehicleFaultCodeListToModelList(flaggedEventHistory),
                vehiclePerformanceEvents           = VehiclePerformanceListToModelList(performanceEventHistory),
                vehicleFaultCodeEvents             = VehicleFaultCodeListToModelList(vehicleFaultCodeEventHistory)
            };

            return(result);
        }