// POST api/values public void Post([FromBody] TrackerData trackerData) { if (trackerData.Measurement == null) { throw new Exception("TrackerData.Measurement is null - Form Body = " + Request.Content.ReadAsStringAsync().Result); } if (trackerData.Measurement.CoveredResolutions == null) { trackerData.OverrideMinResolution(Resolution.NA); trackerData.Measurement.CoveredResolutions = new List <Resolution>(); } else { if (trackerData.TimeSlot.Kind == DateTimeKind.Unspecified) { trackerData.TimeSlot = DateTime.SpecifyKind(trackerData.TimeSlot, DateTimeKind.Utc); } } foreach (var persister in _persisters) { try { persister.Persist(trackerData); } catch (Exception ex) { _logger.Error(ex.Message, ex); } } }