public IEnumerable <Tuple <IOutMessageEvent, DeviceDetails> > GetDataOutMessageEvent(DeviceConfigRequestBase requestBase, DeviceDetails deviceDetails) { var dataOutMessages = new List <Tuple <IOutMessageEvent, DeviceDetails> >(); _loggingService.Info("Recieved ReportingSchedule Message for A5N2 Device " + deviceDetails.DeviceUid, "ReportingScheduleMessageEventBuilder.GetDataOutMessageEvent"); var requestMessage = _dataPopulator.GetRequestModel <DeviceConfigReportingScheduleRequest>(requestBase); if (requestMessage.DailyReportingTime.HasValue) { var messageEvent = _dataPopulator.ConstructDataOutEvent <FirstDailyReportStartTimeUtcChangedEvent>(deviceDetails); messageEvent.DailyReportTimeUTC = new DateTime() + requestMessage.DailyReportingTime.Value; var dvcDetails = ConstructorHelpers.GetDeviceConfigMsg(deviceDetails, "DailyReportingTime"); dataOutMessages.Add(new Tuple <IOutMessageEvent, DeviceDetails>(messageEvent, dvcDetails)); } if (requestMessage.DailyLocationReportingFrequency.HasValue) { var messageEvent = _dataPopulator.ConstructDataOutEvent <SetDailyReportFrequencyEvent>(deviceDetails); messageEvent.Value = (int)requestMessage.DailyLocationReportingFrequency.Value; var dvcDetails = ConstructorHelpers.GetDeviceConfigMsg(deviceDetails, "DailyLocationReportingFrequency"); dataOutMessages.Add(new Tuple <IOutMessageEvent, DeviceDetails>(messageEvent, dvcDetails)); } //doubt if (requestMessage.DailyLocationReportingFrequency.HasValue) { var messageEvent = _dataPopulator.ConstructDataOutEvent <ReportingFrequencyChangedEvent>(deviceDetails); messageEvent.Frequency = 1; messageEvent.Interval = (int)requestMessage.DailyLocationReportingFrequency.Value; //doubt var dvcDetails = ConstructorHelpers.GetDeviceConfigMsg(deviceDetails, "DailyLocationReportingFrequency"); dataOutMessages.Add(new Tuple <IOutMessageEvent, DeviceDetails>(messageEvent, dvcDetails)); } _loggingService.Info("Reporting Schedule Message Event Construction for Device Type " + deviceDetails.DeviceType + " completed !!" + JsonConvert.SerializeObject(requestMessage), "ReportingScheduleMessageEventBuilder.GetDataOutMessageEvent"); return(dataOutMessages); }
public IEnumerable <Tuple <IMTSOutMessageEvent, DeviceDetails> > GetMtsOutMessageEvent(DeviceConfigRequestBase requestBase, DeviceDetails deviceDetails) { var mtsOutMessages = new List <Tuple <IMTSOutMessageEvent, DeviceDetails> >(); var otaConfigDetails = new Dictionary <int, OtaConfigDetail>(4); _loggingService.Info("Recieved Switches Message for Device " + deviceDetails.DeviceType, "SwitchesMessageEventBuilder.GetMtsOutMessageEvent"); var requestMessage = _dataPopulator.GetRequestModel <DeviceConfigSwitchesRequest>(requestBase); if (requestMessage.SingleStateSwitches != null && requestMessage.SingleStateSwitches.Any()) { foreach (var singleSwitch in requestMessage.SingleStateSwitches) { var otaInputConfigDetail = new OtaConfigDetail(); otaInputConfigDetail.InputConfig = string.IsNullOrEmpty(singleSwitch.SwitchActiveState) ? (InputConfigType?)null : _dataPopulator.GetEventEnumValue <InputConfigType>(singleSwitch.SwitchActiveState); otaInputConfigDetail.MonitoringCondition = string.IsNullOrEmpty(singleSwitch.SwitchMonitoringStatus) ? (DigitalInputMonitoringConditions?)null : _dataPopulator.GetEventEnumValue <DigitalInputMonitoringConditions>(singleSwitch.SwitchMonitoringStatus); otaInputConfigDetail.InputDesc = singleSwitch.SwitchName; otaInputConfigDetail.InputDelay = new TimeSpan(0, 0, 0, 0, (int)Math.Round(singleSwitch.SwitchSensitivity * 1000)); otaConfigDetails.Add(singleSwitch.SwitchNumber, otaInputConfigDetail); } var mtsMessageEvent = _dataPopulator.ConstructMtsEvent <SendOtaConfigurationEvent>(deviceDetails); mtsMessageEvent.Input1 = otaConfigDetails.ContainsKey(1) ? otaConfigDetails[1] : new OtaConfigDetail(); mtsMessageEvent.Input2 = otaConfigDetails.ContainsKey(2) ? otaConfigDetails[2] : new OtaConfigDetail(); mtsMessageEvent.Input3 = otaConfigDetails.ContainsKey(3) ? otaConfigDetails[3] : new OtaConfigDetail(); mtsMessageEvent.Input4 = otaConfigDetails.ContainsKey(4) ? otaConfigDetails[4] : new OtaConfigDetail(); var dvcDetails = ConstructorHelpers.GetDeviceConfigMsg(deviceDetails, "SingleStateSwitch1", "SingleStateSwitch2", "SingleStateSwitch3", "SingleStateSwitch4"); mtsOutMessages.Add(new Tuple <IMTSOutMessageEvent, DeviceDetails>(mtsMessageEvent, dvcDetails)); } var sensorDetails = new Dictionary <int, SensorDetail>(3); if (requestMessage.DualStateSwitches != null && requestMessage.DualStateSwitches.Any()) { var mtsMessageEvent = _dataPopulator.ConstructMtsEvent <ConfigureSensorsEvent>(deviceDetails); foreach (var dualSwitch in requestMessage.DualStateSwitches) { var sensorDetail = new SensorDetail(); sensorDetail.HasPosPolarity = false; sensorDetail.IgnReqired = false; sensorDetail.HystHalfSec = dualSwitch.SwitchSensitivity * 2; sensorDetail.Enabled = dualSwitch.SwitchEnabled; sensorDetails.Add(dualSwitch.SwitchNumber, sensorDetail); } mtsMessageEvent.Sensor1 = sensorDetails.ContainsKey(5) ? sensorDetails[5] : null; mtsMessageEvent.Sensor2 = sensorDetails.ContainsKey(6) ? sensorDetails[6] : null; mtsMessageEvent.Sensor3 = sensorDetails.ContainsKey(7) ? sensorDetails[7] : null; var dvcDetails = ConstructorHelpers.GetDeviceConfigMsg(deviceDetails, "MTSDualStateSwitch5", "MTSDualStateSwitch6", "MTSDualStateSwitch7"); mtsOutMessages.Add(new Tuple <IMTSOutMessageEvent, DeviceDetails>(mtsMessageEvent, dvcDetails)); } _loggingService.Info("Switches Message Event Construction for Device Type " + deviceDetails.DeviceType + " completed !!" + JsonConvert.SerializeObject(requestMessage), "SwitchesMessageEventBuilder.GetMtsOutMessageEvent"); return(mtsOutMessages); }
public IEnumerable <Tuple <IOutMessageEvent, DeviceDetails> > GetDataOutMessageEvent(DeviceConfigRequestBase requestBase, DeviceDetails deviceDetails) { var dataOutMessages = new List <Tuple <IOutMessageEvent, DeviceDetails> >(); _loggingService.Info("Recieved Switches Message for Device " + deviceDetails.DeviceType, "SwitchesMessageEventBuilder.GetDataOutMessageEvent"); var requestMessage = _dataPopulator.GetRequestModel <DeviceConfigSwitchesRequest>(requestBase); if (requestMessage.SingleStateSwitches != null) { foreach (var singleSwitch in requestMessage.SingleStateSwitches) { if (_validator.NullCheck(RequestMessageType, singleSwitch.SwitchActiveState, singleSwitch.SwitchMonitoringStatus)) { var dataOutMessageEvent = _dataPopulator.ConstructDataOutEvent <DigitalSwitchConfigurationEvent>(deviceDetails); dataOutMessageEvent.DefaultState = _dataPopulator.GetEventEnumValue <SwitchState>(singleSwitch.SwitchActiveState); dataOutMessageEvent.MonitoredWhen = _dataPopulator.GetEventEnumValue <DigitalInputMonitoringConditions>(singleSwitch.SwitchMonitoringStatus); dataOutMessageEvent.Sensitivity = singleSwitch.SwitchSensitivity; dataOutMessageEvent.SwitchNumber = singleSwitch.SwitchNumber; dataOutMessageEvent.SwitchOnDescription = singleSwitch.SwitchName; var dvcDetails = ConstructorHelpers.GetDeviceConfigMsg(deviceDetails, singleSwitch.SwitchParameterName); dataOutMessages.Add(new Tuple <IOutMessageEvent, DeviceDetails>(dataOutMessageEvent, dvcDetails)); } } } if (requestMessage.DualStateSwitches != null) { foreach (var dualSwitch in requestMessage.DualStateSwitches) { var dataOutMessageEvent = _dataPopulator.ConstructDataOutEvent <DiscreteInputConfigurationEvent>(deviceDetails); dataOutMessageEvent.Name = dualSwitch.SwitchName; dataOutMessageEvent.MonitoredWhen = string.IsNullOrEmpty(dualSwitch.SwitchMonitoringStatus) ? (DigitalInputMonitoringConditions?)null : _dataPopulator.GetEventEnumValue <DigitalInputMonitoringConditions>(dualSwitch.SwitchMonitoringStatus); dataOutMessageEvent.Sensitivity = dualSwitch.SwitchSensitivity; dataOutMessageEvent.SwitchNumber = dualSwitch.SwitchNumber; dataOutMessageEvent.OpenDescription = dualSwitch.SwitchOpen; dataOutMessageEvent.ClosedDescription = dualSwitch.SwitchClosed; dataOutMessageEvent.Enabled = dualSwitch.SwitchEnabled; var dvcDetails = ConstructorHelpers.GetDeviceConfigMsg(deviceDetails, dualSwitch.SwitchParameterName); dataOutMessages.Add(new Tuple <IOutMessageEvent, DeviceDetails>(dataOutMessageEvent, dvcDetails)); } } _loggingService.Info("Switches Message Event Construction for Device Type " + deviceDetails.DeviceType + " completed !!" + JsonConvert.SerializeObject(requestMessage), "SwitchesMessageEventBuilder.GetDataOutMessageEvent"); return(dataOutMessages); }
public IEnumerable <Tuple <IOutMessageEvent, DeviceDetails> > GetDataOutMessageEvent(DeviceConfigRequestBase requestBase, DeviceDetails deviceDetails) { var dataOutMessages = new List <Tuple <IOutMessageEvent, DeviceDetails> >(); _loggingService.Info("Recieved MovingThresholds Message for PL Device " + deviceDetails.DeviceUid, "MetersMessageEventBuilder.GetPlOutMessageEvent"); var requestMessage = _dataPopulator.GetRequestModel <DeviceConfigMetersRequest>(requestBase); if (requestMessage.OdoMeter != null) { if (requestMessage.OdoMeter.ProposedValue.HasValue) { _loggingService.Info("Recieved OdometerModifiedEvent Message" + requestMessage + " for Device " + deviceDetails.DeviceUid + " and DeviceType" + deviceDetails.DeviceType, "MetersMessageEventBuilder.GetPlOutMessageEvent"); var odometerModifiedEvent = _dataPopulator.ConstructDataOutEvent <OdometerModifiedEvent>(deviceDetails); if (requestMessage.OdoMeter.CurrentValue.HasValue) { odometerModifiedEvent.MilesBefore = NumericHelper.ConvertKilometersToMiles(requestMessage.OdoMeter.CurrentValue.Value); } odometerModifiedEvent.MilesAfter = NumericHelper.ConvertKilometersToMiles(requestMessage.OdoMeter.ProposedValue.Value); var dvcDetails = ConstructorHelpers.GetDeviceConfigMsg(deviceDetails, "Odometer"); dataOutMessages.Add(new Tuple <IOutMessageEvent, DeviceDetails>(odometerModifiedEvent, dvcDetails)); _loggingService.Info("OdometerModifiedEvent message Event Construction for Device" + deviceDetails.DeviceUid + " completed !!" + JsonConvert.SerializeObject(requestBase), "MetersMessageEventBuilder.GetPlOutMessageEvent"); } if (requestMessage.HoursMeter != null) { if (requestMessage.HoursMeter.ProposedValue.HasValue) { _loggingService.Info("Recieved HourMeterModifiedEvent Message" + requestMessage + " for Device " + deviceDetails.DeviceUid + " and DeviceType" + deviceDetails.DeviceType, "MetersMessageEventBuilder.GetPlOutMessageEvent"); var hourmeterModifiedEvent = _dataPopulator.ConstructDataOutEvent <HourMeterModifiedEvent>(deviceDetails); if (requestMessage.HoursMeter.CurrentValue.HasValue) { hourmeterModifiedEvent.HoursBefore = requestMessage.HoursMeter.CurrentValue.Value; } hourmeterModifiedEvent.HoursAfter = Convert.ToDouble(requestMessage.HoursMeter.ProposedValue); var dvcDetails = ConstructorHelpers.GetDeviceConfigMsg(deviceDetails, "HoursMeter"); dataOutMessages.Add(new Tuple <IOutMessageEvent, DeviceDetails>(hourmeterModifiedEvent, dvcDetails)); _loggingService.Info("HourMeterModifiedEvent message Event Construction for Device" + deviceDetails.DeviceUid + " completed !!" + JsonConvert.SerializeObject(requestBase), "MetersMessageEventBuilder.GetPlOutMessageEvent"); } } } return(dataOutMessages); }
public IEnumerable <Tuple <IOutMessageEvent, DeviceDetails> > GetDataOutMessageEvent(DeviceConfigRequestBase requestBase, DeviceDetails deviceDetails) { var dataOutMessages = new List <Tuple <IOutMessageEvent, DeviceDetails> >(); _loggingService.Info("Received Asset Security Message for Device " + deviceDetails.DeviceType, "AssetSecurityMessageEventBuilder.GetDataOutMessageEvent"); var requestMessage = _dataPopulator.GetRequestModel <DeviceConfigAssetSecurityRequest>(requestBase); if (requestMessage.SecurityMode.HasValue) { var setTamperLevelEvent = _dataPopulator.ConstructDataOutEvent <SetTamperLevelEvent>(deviceDetails); setTamperLevelEvent.TamperLevel = requestMessage.SecurityMode.Value == true ? TamperResistanceStatus.TamperResistanceLevel1 : TamperResistanceStatus.Off; var securityModeDeviceDetails = ConstructorHelpers.GetDeviceConfigMsg(deviceDetails, "SecurityMode"); dataOutMessages.Add(new Tuple <IOutMessageEvent, DeviceDetails>(setTamperLevelEvent, securityModeDeviceDetails)); } if (requestMessage.SecurityStatus.HasValue) { var setStartModeEvent = _dataPopulator.ConstructDataOutEvent <SetStartModeEvent>(deviceDetails); switch (requestMessage.SecurityStatus.Value) { case AssetSecurityStatus.NormalOperation: setStartModeEvent.StartMode = MachineStartStatus.NormalOperation; break; case AssetSecurityStatus.Derated: setStartModeEvent.StartMode = MachineStartStatus.Derate; break; case AssetSecurityStatus.Disable: setStartModeEvent.StartMode = MachineStartStatus.Disable; break; } var securityStatusDeviceDetails = ConstructorHelpers.GetDeviceConfigMsg(deviceDetails, "SecurityStatus"); dataOutMessages.Add(new Tuple <IOutMessageEvent, DeviceDetails>(setStartModeEvent, securityStatusDeviceDetails)); } _loggingService.Info("Asset Security Message Event Construction for Device Type " + deviceDetails.DeviceType + " completed !!" + JsonConvert.SerializeObject(requestMessage), "AssetSecurityMessageEventBuilder.GetDataOutMessageEvent"); return(dataOutMessages); }
public IEnumerable <Tuple <IMTSOutMessageEvent, DeviceDetails> > GetMtsOutMessageEvent(DeviceConfigRequestBase requestBase, DeviceDetails deviceDetails) { var mtsOutMessages = new List <Tuple <IMTSOutMessageEvent, DeviceDetails> >(); _loggingService.Info("Recieved MovingThresholds Message for MTS Device " + deviceDetails.DeviceUid, "MovingThresholdMessageEventBuilder.GetMtsOutMessageEvent"); var requestMessage = _dataPopulator.GetRequestModel <DeviceConfigMovingThresholdRequest>(requestBase); if (requestMessage.Radius.HasValue) { var mtsMessageEvent = _dataPopulator.ConstructMtsEvent <SetMovingConfigurationEvent>(deviceDetails); mtsMessageEvent.Radius = (ushort)NumericHelper.ConvertMetersToFeet(requestMessage.Radius.Value); var dvcDetails = ConstructorHelpers.GetDeviceConfigMsg(deviceDetails, "MovingThresholdsRadius"); mtsOutMessages.Add(new Tuple <IMTSOutMessageEvent, DeviceDetails>(mtsMessageEvent, dvcDetails)); } if (requestMessage.MovingOrStoppedThreshold.HasValue || requestMessage.MovingThresholdsDuration.HasValue) { var mtsMessageEvent = _dataPopulator.ConstructMtsEvent <SetStoppedThresholdEvent>(deviceDetails); var parameterNames = new List <string>(); if (requestMessage.MovingOrStoppedThreshold.HasValue) { mtsMessageEvent.Threshold = NumericHelper.ConvertKilometersToMiles((double)requestMessage.MovingOrStoppedThreshold.Value); parameterNames.Add("MovingOrStoppedThreshold"); } if (requestMessage.MovingThresholdsDuration.HasValue) { mtsMessageEvent.Duration = requestMessage.MovingThresholdsDuration.Value; parameterNames.Add("MovingThresholdsDuration"); } mtsMessageEvent.Enabled = true; //doubt var dvcDetails = ConstructorHelpers.GetDeviceConfigMsg(deviceDetails, parameterNames.ToArray()); mtsOutMessages.Add(new Tuple <IMTSOutMessageEvent, DeviceDetails>(mtsMessageEvent, dvcDetails)); } _loggingService.Info("Moving Thresholds Message Event Construction for Device Type " + deviceDetails.DeviceType + " completed !!" + JsonConvert.SerializeObject(requestMessage), "MovingThresholdMessageEventBuilder.GetMtsOutMessageEvent"); return(mtsOutMessages); }
public IEnumerable <Tuple <IMTSOutMessageEvent, DeviceDetails> > GetMtsOutMessageEvent(DeviceConfigRequestBase requestBase, DeviceDetails deviceDetails) { var mtsOutMessages = new List <Tuple <IMTSOutMessageEvent, DeviceDetails> >(); var requestMessage = _dataPopulator.GetRequestModel <DeviceConfigMetersRequest>(requestBase); //if (_serverSideRunTimeCalibrationDeviceTypes.Contains(deviceDetails.DeviceType) && requestMessage.HoursMeter != null && requestMessage.HoursMeter.ProposedValue.HasValue) //{ // _kafkaPublisher.PublishMessage(deviceDetails.SerialNumber, new List<MTSServerSideRunTimeCalibration> { new MTSServerSideRunTimeCalibration { DeviceSerialNumber = deviceDetails.SerialNumber, DeviceType = deviceDetails.DeviceType, ProposedRunTimeHours = requestMessage.HoursMeter.ProposedValue.Value, IsDeleted = false, ActionUtc = DateTime.UtcNow } }, String.Empty); // _loggingService.Info($"Published MTSServerSideRunTimeCalibration Event for Device SerialNUmber : {deviceDetails.SerialNumber} with RunTimeHours {requestMessage.HoursMeter.ProposedValue.Value}", "MetersMessageEventBuilder.GetMtsOutMessageEvent"); //} //else if (_newlySupportedServerSideRunTimeCalibrationDeviceTypes.Contains(deviceDetails.DeviceType) && requestMessage.HoursMeter != null && requestMessage.HoursMeter.ProposedValue.HasValue) //{ // _kafkaPublisher.PublishMessage(deviceDetails.SerialNumber, new List<MTSServerSideRunTimeCalibration> { new MTSServerSideRunTimeCalibration { DeviceSerialNumber = deviceDetails.SerialNumber, DeviceType = deviceDetails.DeviceType, IsDeleted = true, ActionUtc = DateTime.UtcNow } }, String.Empty); // _loggingService.Info($"Published Delete MTSServerSideRunTimeCalibration Event for Device SerialNUmber : {deviceDetails.SerialNumber} with RunTimeHours {requestMessage.HoursMeter.ProposedValue.Value}", "MetersMessageEventBuilder.GetMtsOutMessageEvent"); //} if ((requestMessage.OdoMeter != null) || (requestMessage.HoursMeter != null)) { _loggingService.Info("Recieved SetRuntimeMileageEvent Message" + requestMessage + " for Device " + deviceDetails.DeviceUid + " and DeviceType" + deviceDetails.DeviceType, "MetersMessageEventBuilder.GetMtsOutMessageEvent"); var mtsMessageEvent = _dataPopulator.ConstructMtsEvent <SetRuntimeMileageEvent>(deviceDetails); if (requestMessage.OdoMeter != null) { if (requestMessage.OdoMeter.ProposedValue.HasValue || requestMessage.OdoMeter.CurrentValue.HasValue) { mtsMessageEvent.Mileage = requestMessage.OdoMeter.ProposedValue.HasValue ? NumericHelper.ConvertKilometersToMiles(requestMessage.OdoMeter.ProposedValue.Value) : NumericHelper.ConvertKilometersToMiles(requestMessage.OdoMeter.CurrentValue.Value); } } if (requestMessage.HoursMeter != null) { if (requestMessage.HoursMeter.ProposedValue.HasValue || requestMessage.HoursMeter.CurrentValue.HasValue) { mtsMessageEvent.Runtime = requestMessage.HoursMeter.ProposedValue.HasValue ? Convert.ToInt64(requestMessage.HoursMeter.ProposedValue) : Convert.ToInt64(requestMessage.HoursMeter.CurrentValue); } } var dvcDetails = ConstructorHelpers.GetDeviceConfigMsg(deviceDetails, "Odometer", "HoursMeter"); if (mtsMessageEvent != null) { mtsOutMessages.Add(new Tuple <IMTSOutMessageEvent, DeviceDetails>(mtsMessageEvent, dvcDetails)); } _loggingService.Info("SetRuntimeMileageEvent message Event Construction for Device" + deviceDetails.DeviceUid + " completed !!" + JsonConvert.SerializeObject(requestBase), "MetersMessageEventBuilder.GetMtsOutMessageEvent"); } if (requestMessage.HoursMeter != null) { if (requestMessage.HoursMeter.ProposedValue.HasValue || requestMessage.HoursMeter.CurrentValue.HasValue) { _loggingService.Info("Recieved SendOtaConfigurationEvent Message" + requestMessage + " for Device " + deviceDetails.DeviceUid + " and DeviceType" + deviceDetails.DeviceType, "MetersMessageEventBuilder.GetMtsOutMessageEvent"); var mtsOtaMessageEvent = _dataPopulator.ConstructMtsEvent <SendOtaConfigurationEvent>(deviceDetails); mtsOtaMessageEvent.Smu = TimeSpan.FromHours((double)(requestMessage.HoursMeter.ProposedValue.HasValue ? requestMessage.HoursMeter.ProposedValue : requestMessage.HoursMeter.CurrentValue)); mtsOtaMessageEvent.Input1 = new OtaConfigDetail(); mtsOtaMessageEvent.Input2 = new OtaConfigDetail(); mtsOtaMessageEvent.Input3 = new OtaConfigDetail(); mtsOtaMessageEvent.Input4 = new OtaConfigDetail(); var dvcDetails = ConstructorHelpers.GetDeviceConfigMsg(deviceDetails, "HoursMeter"); mtsOutMessages.Add(new Tuple <IMTSOutMessageEvent, DeviceDetails>(mtsOtaMessageEvent, dvcDetails)); _loggingService.Info("SendOtaConfigurationEvent message Event Construction for Device" + deviceDetails.DeviceUid + " completed !!" + JsonConvert.SerializeObject(requestBase), "MetersMessageEventBuilder.GetMtsOutMessageEvent"); } } if (requestMessage.SmhOdometerConfig != null) { _loggingService.Info("Recieved SetMachineEventHeaderConfiguration Message" + requestMessage + " for Device " + deviceDetails.DeviceUid + " and DeviceType" + deviceDetails.DeviceType, "MetersMessageEventBuilder.GetMtsOutMessageEvent"); var mtsMessageEvent = _dataPopulator.ConstructMtsEvent <SetMachineEventHeaderConfiguration>(deviceDetails); mtsMessageEvent.PrimaryDataSource = _dataPopulator.GetEventEnumValue <PrimaryDataSourceEnum>(requestMessage.SmhOdometerConfig.Value.ToString()); var dvcDetails = ConstructorHelpers.GetDeviceConfigMsg(deviceDetails, "SMHOdometerConfig"); mtsOutMessages.Add(new Tuple <IMTSOutMessageEvent, DeviceDetails>(mtsMessageEvent, dvcDetails)); _loggingService.Info("SetMachineEventHeaderConfiguration message Event Construction for Device" + deviceDetails.DeviceUid + " completed !!" + JsonConvert.SerializeObject(requestBase), "MetersMessageEventBuilder.GetMtsOutMessageEvent"); } return(mtsOutMessages); }