public DevicesController( IDeviceCommunicationService deviceCommunicationService, DeviceCommunicationExtJsWeb.GpsCommunicationService.IGpsCommunicationContract gpsCommunicationContract, IDeviceRepository deviceRepository, IPacketRepository packetRepository, IEventRepository eventRepository, ICurrentEventRepository currentEventRepository, IRequstAckCommandRepository requstAckCommandRepository, ICacheDataRepository cacheDataRepository, IDeviceStateDocuments deviceStateDocuments, IDailyMileageRepository dailyMileageRepository, IGeoPointRepository geoPointRepository, ILogDocuments logDocuments) { DeviceCommunicationService = deviceCommunicationService; DeviceRepository = deviceRepository; PacketRepository = packetRepository; EventRepository = eventRepository; CurrentEventRepository = currentEventRepository; RequstAckCommandRepository = requstAckCommandRepository; CacheDataRepository = cacheDataRepository; DeviceStateDocuments = deviceStateDocuments; GpsCommunicationContract = gpsCommunicationContract; DailyMileageRepository = dailyMileageRepository; GeoPointRepository = geoPointRepository; LogDocuments = logDocuments; }
static EventMessage getCurrentEvent(string imei, string machineName, IEventRepository eventRepository, ICurrentEventRepository currentEventRepository) { EventMessage latesEventMsg = null; CurrentEvent currentEvent = currentEventRepository.Get(new CurrentEventId { Imei = imei, StateMachine = machineName }); if (currentEvent != null) { latesEventMsg = eventRepository.Get(currentEvent.EventId); } else { latesEventMsg = eventRepository.GetCurrentEvent(imei, machineName); } return latesEventMsg; }
public static void LoadState(this DeviceViewModel dvm, IEventRepository eventRepository, ICurrentEventRepository currentEventRepository) { var currentEventMsg = getCurrentEvent(dvm.Imei, VehicleController.Name, eventRepository, currentEventRepository); if (currentEventMsg != null) { dvm.VehicleState = currentEventMsg.TargetState; } currentEventMsg = getCurrentEvent(dvm.Imei, DeviceModeController.Name, eventRepository, currentEventRepository); if (currentEventMsg != null) { dvm.ModeState = currentEventMsg.TargetState; } currentEventMsg = getCurrentEvent(dvm.Imei, Silent1Controller.Name, eventRepository, currentEventRepository); if (currentEventMsg != null) { dvm.Silent1State = currentEventMsg.TargetState; } currentEventMsg = getCurrentEvent(dvm.Imei, ObdBlackoutController.Name, eventRepository, currentEventRepository); if (currentEventMsg != null) { dvm.ObdBlackoutState = currentEventMsg.TargetState; } currentEventMsg = getCurrentEvent(dvm.Imei, MismatchVinController.Name, eventRepository, currentEventRepository); if (currentEventMsg != null) { dvm.MismatchVinState = currentEventMsg.TargetState; } currentEventMsg = getCurrentEvent(dvm.Imei, TcpHangingController.Name, eventRepository, currentEventRepository); if (currentEventMsg != null) { dvm.TcpHangingState = currentEventMsg.TargetState.Replace("Pull", "Polling"); } }