public async Task <IActionResult> SaveStatistic([FromForm] BodyStatisticVM statistic) { var attrs = JsonConvert.DeserializeObject <List <BodyStatAttributeVM> >(statistic.AttributesSerialized); statistic.BodyStatAttributes = attrs; if (statistic.Image != null) { statistic.ImagePath = statistic.Image.FileName; using (var fileStream = statistic.Image.OpenReadStream()) { using (var ms = new MemoryStream()) { fileStream.CopyTo(ms); statistic.ImageBytes = ms.ToArray(); } } } var response = await _workoutTrackerService.AddStatistic(statistic); return(Json(response)); }
public async Task <WTServiceResponse <BodyStatisticVM> > AddStatistic(BodyStatisticVM statistic) { // serialize it var serializedStatistic = JsonConvert.SerializeObject(statistic); var httpClient = await _workoutTrackerHttpClient.GetClient(); var response = await httpClient.PostAsync($"/api/BodyStatistics/user/{UserId()}/BodyStat", new StringContent(serializedStatistic, System.Text.Encoding.Unicode, "application/json")); return(await HandleApiResponse(response, async() => { var content = await response.Content.ReadAsStringAsync(); var statisticVM = JsonConvert.DeserializeObject <BodyStatisticVM>(content); return new WTServiceResponse <BodyStatisticVM> { StatusCode = response.StatusCode, ViewModel = statisticVM, }; })); }