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));
        }
예제 #2
0
        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,
                };
            }));
        }