public async Task <IHttpActionResult> Actigraphy() { // https://stackify.com/understanding-asp-net-performance-for-reading-incoming-data/ string data = await Request.Content.ReadAsStringAsync(); var viewModels = Newtonsoft.Json.JsonConvert.DeserializeObject <IEnumerable <ActivityViewModel> >(data); if (viewModels == null || !viewModels.Any()) { return(BadRequest("Something went wrong. Empty request.")); } string userId = User.Identity.GetUserId(); try { BulkCommands.StoreActivities( viewModels.Select(m => { m.UserId = userId; return(m); }) .ToList()); } catch (Exception e) { _service.WriteBugReport(userId, e.Message); } return(Ok()); }