private Models.EventSet GetEventSet(string id) { // get the profile and segments... Data.ELDTestDataEntities db = new ELDTestDataEntities(); db.Configuration.LazyLoadingEnabled = false; var dbTestProfile = db.TestProfiles.Include("TestProfileSegments").SingleOrDefault(x => x.ProfileId == id); Models.EventSet es = new Models.EventSet(); if (dbTestProfile != null) { // create the local current state objects Models.TestProfile p = new Models.TestProfile(); p.DefaultCurrentTripState.BluetoothId = dbTestProfile.BluetoothId; p.DefaultCurrentTripState.CarrierUSDOTNumber = dbTestProfile.CarrierUSDOTNumber; p.DefaultCurrentTripState.CMVTrailerNumbers = dbTestProfile.CMVTrailerNumbers; p.DefaultCurrentTripState.CMVUnitNumber = dbTestProfile.CMVUnitNumber; p.PollingIntervalSeconds = dbTestProfile.PollingIntervalSeconds.Value; p.ProfileId = dbTestProfile.ProfileId; p.ProfileName = dbTestProfile.ProfileName; p.StartingDateTime = dbTestProfile.StartingDateTime.Value; p.startingEngineHours = dbTestProfile.StartingEngineHours.Value; p.startingOdometer = dbTestProfile.StartingOdometer.Value; p.travelProfile = new Models.TravelProfile(); foreach (var seg in dbTestProfile.TestProfileSegments) { Models.TestProfileSegment tps = new Models.TestProfileSegment(); tps.ActionId = seg.ActionId; tps.CommentAnnotation = seg.CommentAnnotation; tps.DateOfCertifiedRecord = seg.DateOfCertifiedRecord; tps.DriversLocationDesc = seg.DriversLocationDesc; tps.DurationSeconds = seg.DurationSeconds.HasValue ? seg.DurationSeconds.Value : 0; tps.MPH = seg.MPH.HasValue ? seg.MPH.Value : 0; tps.ProfileId = seg.ProfileId; tps.SegmentSeqNum = seg.SegmentSeqNum; p.profileSegments.Add(tps); } p.DefaultCurrentTripState.CurrentDriverId = dbTestProfile.Driver1Id; Models.CurrentDriverState cds = new Models.CurrentDriverState(); cds.CarrierMultiDayBasis = dbTestProfile.CarrierMultiDayBasis; cds.DeviceId = dbTestProfile.DeviceId; cds.DriverDayStartHour = (byte)(dbTestProfile.Driver1DayStartHour.HasValue ? dbTestProfile.Driver1DayStartHour.Value : 0); cds.DriverFirstName = dbTestProfile.Driver1FirstName; cds.DriverId = dbTestProfile.Driver1Id; cds.DriverIsExempt = dbTestProfile.Driver1IsExempt; cds.DriverLastName = dbTestProfile.Driver1LastName; cds.DriverLicenseIssuingStateCode = dbTestProfile.Driver1DriverLicenseIssuingStateCode; cds.DriverLicenseNumber = dbTestProfile.Driver1DriverLicenseNumber; cds.IsUnidentifiedDriver = false; cds.PersonalUseOfCMVAllowed = dbTestProfile.Driver1PersonalUseOfCMVAllowed; cds.PersonalUseOfCMVInEffect = false; cds.TimeZoneId = dbTestProfile.Driver1TimeZoneId; cds.YardMovesAllowed = dbTestProfile.Driver1YardMovesAllowed; p.DefaultCurrentTripState.Drivers.Add(cds); es = EventGenerator.GenerateEvents(p); } return(es); }