/// <summary>
        /// Converts from.
        /// </summary>
        /// <param name="model">The model.</param>
        /// <returns></returns>
        public DataByMonthViewModel ConvertFrom(DataByMonthModel model)
        {
            if (model == null)
            {
                return(new DataByMonthViewModel());
            }

            DataByMonthViewModel viewModel = new DataByMonthViewModel();

            viewModel.DataMonthViewModels = new List <DataMonthViewModel>();


            foreach (DataMonthModel transactionMonthModel in model.DataMonthModels)
            {
                viewModel.DataMonthViewModels.Add(new DataMonthViewModel
                {
                    CurrencyCode = transactionMonthModel.CurrencyCode,
                    MonthNumber  = transactionMonthModel.MonthNumber,
                    Year         = transactionMonthModel.Year,
                    Count        = transactionMonthModel.Count,
                    Value        = transactionMonthModel.Value
                });
            }

            return(viewModel);
        }
        public async Task <IActionResult> GetSettlementByTimePeriodAsJson([FromQuery] String timePeriod,
                                                                          [FromQuery] DateTime startDate,
                                                                          [FromQuery] DateTime endDate,
                                                                          CancellationToken cancellationToken)
        {
            String accessToken = await this.HttpContext.GetTokenAsync("access_token");

            if (timePeriod == "Day")
            {
                DataByDateModel model = await this.ApiClient.GetSettlementByDate(accessToken,
                                                                                 this.User.Identity as ClaimsIdentity,
                                                                                 startDate,
                                                                                 endDate,
                                                                                 cancellationToken);

                DataByDateViewModel viewModel = this.ViewModelFactory.ConvertFrom(model);
                return(this.Json(viewModel));
            }

            if (timePeriod == "Week")
            {
                DataByWeekModel model = await this.ApiClient.GetSettlementByWeek(accessToken,
                                                                                 this.User.Identity as ClaimsIdentity,
                                                                                 startDate,
                                                                                 endDate,
                                                                                 cancellationToken);

                DataByWeekViewModel viewModel = this.ViewModelFactory.ConvertFrom(model);
                return(this.Json(viewModel));
            }

            if (timePeriod == "Month")
            {
                DataByMonthModel model = await this.ApiClient.GetSettlementByMonth(accessToken,
                                                                                   this.User.Identity as ClaimsIdentity,
                                                                                   startDate,
                                                                                   endDate,
                                                                                   cancellationToken);

                DataByMonthViewModel viewModel = this.ViewModelFactory.ConvertFrom(model);
                return(this.Json(viewModel));
            }

            return(null);
        }