public async System.Threading.Tasks.Task GetFilterParameters_CallsApi()
        {
            // arrange
            string endpoint = "endPoint";

            configuration[EndPoints.Api.GetFilterParameters].Returns(endpoint);
            FilterParametersDto parameters = new FilterParametersDto()
            {
                Countries       = new List <CountryDto>(),
                ItemTypes       = new List <ItemTypeDto>(),
                OrderPriorities = new List <OrderPriorityDto>(),
                Regions         = new List <RegionDto>(),
                SalesChannels   = new List <SalesChannelDto>()
            };
            GetSalesRequestDto requestDto = GetSalesRequestDtoBuilder.Build();

            httpClient.GetAsync <FilterParametersDto>(endpoint).Returns(parameters);


            // act
            await saleService.GetFilterParameters(requestDto);

            // assert
            await httpClient.Received(1).GetAsync <FilterParametersDto>(endpoint);
        }
        public IActionResult GetFilterParameters([FromQuery] GetSalesRequestDto requestDto)
        {
            if (requestDto == null)
            {
                return(BadRequest());
            }

            FilterParametersDto parameters = saleService.GetFilterParameters(requestDto);

            return(Ok(parameters));
        }
Exemplo n.º 3
0
        public async Task <FilterParametersViewModel> GetFilterParameters(GetSalesRequestDto requestDto)
        {
            if (requestDto == null)
            {
                throw new ArgumentNullException(nameof(requestDto));
            }

            string getFilterParametersUrl     = GetEndPointForGetSalesRequest(EndPoints.Api.GetFilterParameters, requestDto);
            FilterParametersDto parametersDto = await httpClient.GetAsync <FilterParametersDto>(getFilterParametersUrl);

            FilterParametersViewModel parameters = new FilterParametersViewModel();

            parameters.Countries = new List <DropDownViewModel>();
            DropDownViewModel allItem = new DropDownViewModel()
            {
                Value = default(int).ToString(), Label = "All"
            };

            foreach (var item in parametersDto.Countries)
            {
                parameters.Countries.Add(
                    new DropDownViewModel()
                {
                    Label = item.CountryName,
                    Value = item.CountryId.ToString()
                });
            }
            parameters.Countries.Insert(0, allItem);

            parameters.ItemTypes = new List <DropDownViewModel>();
            foreach (var item in parametersDto.ItemTypes)
            {
                parameters.ItemTypes.Add(
                    new DropDownViewModel()
                {
                    Label = item.ItemTypeName,
                    Value = item.ItemTypeId.ToString()
                });
            }
            parameters.ItemTypes.Insert(0, allItem);

            parameters.OrderPriorities = new List <DropDownViewModel>();
            foreach (var item in parametersDto.OrderPriorities)
            {
                parameters.OrderPriorities.Add(
                    new DropDownViewModel()
                {
                    Label = item.OrderPriorityName,
                    Value = item.OrderPriorityId.ToString()
                });
            }
            parameters.OrderPriorities.Insert(0, allItem);

            parameters.Regions = new List <DropDownViewModel>();
            foreach (var item in parametersDto.Regions)
            {
                parameters.Regions.Add(
                    new DropDownViewModel()
                {
                    Label = item.RegionName,
                    Value = item.RegionId.ToString()
                });
            }
            parameters.Regions.Insert(0, allItem);

            parameters.SalesChannels = new List <DropDownViewModel>();
            foreach (var item in parametersDto.SalesChannels)
            {
                parameters.SalesChannels.Add(
                    new DropDownViewModel()
                {
                    Label = item.SalesChannelName,
                    Value = item.SalesChannelId.ToString()
                });
            }
            parameters.SalesChannels.Insert(0, allItem);
            return(parameters);
        }