Esempio n. 1
0
        /// <summary>
        /// Converts from.
        /// </summary>
        /// <param name="apiResponse">The API response.</param>
        /// <returns></returns>
        public ChartJsPieChartDataViewModel ConvertFrom(GetNumberOfMembersByAgeCategoryReportResponse apiResponse)
        {
            List <Color> chartColors = new List <Color>();

            chartColors = new List <Color>();
            chartColors.Add(Color.Aqua);
            chartColors.Add(Color.YellowGreen);
            chartColors.Add(Color.BlueViolet);
            chartColors.Add(Color.Coral);
            chartColors.Add(Color.CadetBlue);
            chartColors.Add(Color.Crimson);
            chartColors.Add(Color.DeepSkyBlue);

            ChartJsPieChartDataViewModel viewModel = new ChartJsPieChartDataViewModel();

            ChartJsPieChartDataDataSet dataSet = new ChartJsPieChartDataDataSet();

            Int32 counter = 0;

            foreach (MembersByAgeCategoryResponse membersByAgeCategoryResponse in apiResponse.MembersByAgeCategoryResponse)
            {
                Color backgroundColour = chartColors[counter];
                dataSet.BackgroundColor.Add(backgroundColour.ToHex());
                dataSet.Data.Add(membersByAgeCategoryResponse.NumberOfMembers);
                viewModel.Labels.Add(membersByAgeCategoryResponse.AgeCategory);
                counter++;
            }

            viewModel.Datasets.Add(dataSet);

            return(viewModel);
        }
        public async Task <IActionResult> GetMembersByHandicapCategoryAsJson(CancellationToken cancellationToken)
        {
            String accessToken = await this.HttpContext.GetTokenAsync("access_token");

            ChartJsPieChartDataViewModel viewModel =
                await this.ApiClient.GetNumberOfMembersByHandicapCategoryReport(accessToken, this.User.Identity as ClaimsIdentity, cancellationToken);

            return(this.Json(viewModel));
        }
        public void ModelFactory_ConvertFrom_GetNumberOfMembersByAgeCategoryReportResponse_ConvertedSuccessfully()
        {
            ModelFactory factory = new ModelFactory();

            GetNumberOfMembersByAgeCategoryReportResponse apiResponse = ModelFactoryTestData.GetNumberOfMembersByAgeCategoryReportResponse();

            ChartJsPieChartDataViewModel viewModel = factory.ConvertFrom(apiResponse);

            viewModel.Labels.ShouldNotBeEmpty();
            viewModel.Datasets.ShouldNotBeEmpty();
            viewModel.Datasets.Count.ShouldBe(1);
            foreach (MembersByAgeCategoryResponse membersByAgeCategoryResponse in apiResponse.MembersByAgeCategoryResponse)
            {
                viewModel.Labels.ShouldContain(membersByAgeCategoryResponse.AgeCategory);
                viewModel.Datasets.First().Data.ShouldContain(membersByAgeCategoryResponse.NumberOfMembers);
            }
        }