public async Task <CustomersStatisticResponseModel> GetCustomerStatisticsAsync([FromQuery] CustomersListRequest request)
        {
            var result = await _dashboardStatisticsClient.CustomersApi.GetAsync(_mapper.Map <CustomersListRequestModel>(request));

            return(_mapper.Map <CustomersStatisticResponseModel>(result));
        }
        public async Task <CustomersStatisticResponseModel> GetCustomerStatisticsAsync([FromQuery] CustomersListRequest request)
        {
            #region Filter

            var permissionLevel = await _requestContext.GetPermissionLevelAsync(PermissionType.Dashboard);

            if (permissionLevel.HasValue && permissionLevel.Value == PermissionLevel.PartnerEdit)
            {
                // TODO: filter data for current _requestContext.UserId
            }

            #endregion

            var result = await _dashboardStatisticsClient.CustomersApi.GetAsync(_mapper.Map <CustomersListRequestModel>(request));

            return(_mapper.Map <CustomersStatisticResponseModel>(result));
        }
示例#3
0
        public async Task <CustomersStatisticResponseModel> GetCustomerStatisticsAsync([FromQuery] CustomersListRequest request)
        {
            var(partnerIds, shouldReturnEmptyResult) = await FilterByPartnerAsync();

            if (shouldReturnEmptyResult)
            {
                var response = new CustomersStatisticResponseModel();
                if (!_settingsService.IsDemoOn())
                {
                    return(response);
                }

                var rnd = new Random();
                response.TotalCustomers          = rnd.Next(1000);
                response.TotalActiveCustomers    = rnd.Next(response.TotalCustomers);
                response.TotalNewCustomers       = rnd.Next(response.TotalActiveCustomers);
                response.TotalRepeatCustomers    = rnd.Next(response.TotalActiveCustomers);
                response.TotalNonActiveCustomers = rnd.Next(response.TotalActiveCustomers);

                return(response);
            }

            var result = await _dashboardStatisticsClient.CustomersApi.GetAsync(new CustomersListRequestModel
            {
                FromDate   = request.FromDate,
                ToDate     = request.ToDate,
                PartnerIds = partnerIds,
            });

            return(_mapper.Map <CustomersStatisticResponseModel>(result));
        }