public async Task <IActionResult> GetMembersByTimePeriodAsJson(CancellationToken cancellationToken) { String accessToken = await this.HttpContext.GetTokenAsync("access_token"); ChartJsLineChartDataViewModel viewModel = await this.ApiClient.GetNumberOfMembersByTimePeriodReport(accessToken, "Year", this.User.Identity as ClaimsIdentity, cancellationToken); return(this.Json(viewModel)); }
public void ModelFactory_ConvertFrom_GetNumberOfMembersByTimePeriodReportResponse_ConvertedSuccessfully() { ModelFactory factory = new ModelFactory(); GetNumberOfMembersByTimePeriodReportResponse apiResponse = ModelFactoryTestData.GetNumberOfMembersByTimePeriodReportResponse(); ChartJsLineChartDataViewModel viewModel = factory.ConvertFrom(apiResponse); viewModel.Labels.ShouldNotBeEmpty(); viewModel.Datasets.ShouldNotBeEmpty(); viewModel.Datasets.Count.ShouldBe(1); viewModel.Datasets.First().Label.ShouldBe("Number Of Members"); foreach (MembersByTimePeriodResponse membersByTimePeriodResponse in apiResponse.MembersByTimePeriodResponse) { viewModel.Labels.ShouldContain(membersByTimePeriodResponse.Period); viewModel.Datasets.First().Data.ShouldContain(membersByTimePeriodResponse.NumberOfMembers); } }
/// <summary> /// Converts from. /// </summary> /// <param name="apiResponse">The API response.</param> /// <returns></returns> public ChartJsLineChartDataViewModel ConvertFrom(GetNumberOfMembersByTimePeriodReportResponse apiResponse) { ChartJsLineChartDataViewModel viewModel = new ChartJsLineChartDataViewModel(); ChartJsLineChartDataDataSet dataSet = new ChartJsLineChartDataDataSet(); foreach (MembersByTimePeriodResponse membersByTimePeriodResponse in apiResponse.MembersByTimePeriodResponse) { dataSet.Label = "Number Of Members"; dataSet.Data.Add(membersByTimePeriodResponse.NumberOfMembers); dataSet.LineTension = 0.4; dataSet.BackgroundColor = Color.CadetBlue.ToHex(); dataSet.PointBackgroundColor = Color.Coral.ToHex(); dataSet.PointRadius = 3; dataSet.PointBorderWidth = 2; dataSet.PointHitRadius = 10; viewModel.Labels.Add(membersByTimePeriodResponse.Period); } viewModel.Datasets.Add(dataSet); return(viewModel); }