public MessageInfo(VehicleMessage message) : this(message.MessageType) { AddValue("Front Timestamp", "{0:d} {0:HH:mm:ss.fff}", message.TimestampFront); AddValue("Rear Timestamp", "{0:d} {0:HH:mm:ss.fff}", message.TimestampRear); AddValue("Object ID", "{0:#,##0}", message.ObjectId); AddValue("Road #", "{0:#,##0}", message.RoadNo); AddValue("Lane #", "{0:#,##0}", message.LaneNo); AddValue("Device #", "{0:#,##0}", message.DeviceNo); AddValue("Direction", "{0}", message.VehicleDirection); AddValue("Height", "{0:#,##0.000}m", message.HeightMeter); AddValue("Width", "{0:#,##0.000}m", message.WidthMeter); AddValue("Length", "{0:#,##0.000}m", message.LengthMeter); AddValue("Speed", "{0:#,##0.000}m/s", message.SpeedMeterPerSecond); AddValue("Device Center", "{0:#,##0.000}m", message.DeviceCenterMeter); AddValue("Lane Center", "{0:#,##0.000}m", message.LaneCenterMeter); AddValue("Road Center", "{0:#,##0.000}m", message.RoadCenterMeter); AddValue("Data", "{0:#,##0} ({1:#,##0} Bytes)", message.Data != null ? message.Data.Count : 0, message.Data != null ? message.Data.Sum(data => data.Data.Length) : 0); if (message.Data != null) { VehicleMessage.VehicleXmlData data = message.Data.FirstOrDefault(d => d is VehicleMessage.VehicleXmlData) as VehicleMessage.VehicleXmlData; if (data != null) { AddDocument(data.Title, data.VehicleXml); } } }
public IActionResult PostVehicleMessage(string vehicleId, PostVehicleMessageModel postedModel) { if (postedModel == null) { return(StatusCode(204)); } if (!Guid.TryParse(vehicleId, out var vehicleGuidId)) { return(BadRequest("Invalid vehicleId")); } if (string.IsNullOrWhiteSpace(postedModel.subject)) { return(BadRequest("Subject is required")); } if (string.IsNullOrWhiteSpace(postedModel.message)) { return(BadRequest("Message is required")); } // make sure the vehicle exists var vehicleFound = m_Context.Vehicle.Any(c => c.Id == vehicleGuidId); if (!vehicleFound) { return(NotFound("vehicleId not found")); } // create the message var vehicleMessage = new VehicleMessage { Id = Guid.NewGuid(), vehicleId = vehicleGuidId, subject = postedModel.subject, message = postedModel.message, displayAt = DateTimeOffset.Now, createdOn = DateTimeOffset.Now }; // add and save m_Context.VehicleMessage.Add(vehicleMessage); m_Context.SaveChanges(); // return result return(StatusCode(201)); }