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 IEnumerable <Sale> GetFilteredSales(GetSalesRequestDto requestDto) { int skip = (requestDto.PageIndex - 1) * requestDto.PageSize; var salesQuery = GetQueryFilteredSales(requestDto); var sales = salesQuery.Skip(skip).Take(requestDto.PageSize).ToList(); return(sales); }
public int GetLastPageIndex(GetSalesRequestDto requestDto) { if (requestDto == null) { throw new ArgumentNullException(nameof(requestDto)); } return(unitOfWork.Sales.GetLastPageIndex(requestDto)); }
private IQueryable <Sale> GetQueryFilteredSales(GetSalesRequestDto requestDto) { return(ApplicationDbContext.Sales.Where(x => x.OrderDate >= requestDto.OrderDate) .Where(x => x.OrderID == requestDto.OrderId || requestDto.OrderId == default(int)) .Where(x => x.CountryId == requestDto.CountryId || requestDto.CountryId == default(int)) .Where(x => x.ItemTypeId == requestDto.ItemTypeId || requestDto.ItemTypeId == default(int)) .Where(x => x.OrderPriorityId == requestDto.OrderPriorityId || requestDto.OrderPriorityId == default(int)) .Where(x => x.RegionId == requestDto.RegionId || requestDto.RegionId == default(int)) .Where(x => x.SalesChannelId == requestDto.SalesChannelId || requestDto.SalesChannelId == default(int))); }
public FilterParameters GetFilterParameters(GetSalesRequestDto requestDto) { FilterParameters parameters = new FilterParameters(); parameters.Countries = ApplicationDbContext.Countries.OrderBy(x => x.CountryName).ToList(); parameters.ItemTypes = ApplicationDbContext.ItemTypes.OrderBy(x => x.ItemTypeName).ToList(); parameters.Regions = ApplicationDbContext.Regions.OrderBy(x => x.RegionName).ToList(); parameters.SalesChannels = ApplicationDbContext.SalesChannels.OrderBy(x => x.SalesChannelName).ToList(); parameters.OrderPriorities = ApplicationDbContext.OrderPriorities.OrderBy(x => x.OrderPriorityName).ToList(); return(parameters); }
public async Task <IActionResult> GetLastPageIndexAsync([FromQuery] GetSalesRequestDto requestDto) { if (requestDto == null) { return(BadRequest()); } var lastIndex = await saleService.GetLastPageIndex(requestDto); return(Ok(lastIndex)); }
public async Task <IActionResult> GetFilterParameters([FromQuery] GetSalesRequestDto requestDto) { if (requestDto == null) { return(BadRequest()); } var parameters = await saleService.GetFilterParameters(requestDto); return(Ok(parameters)); }
public async Task <IActionResult> GetSalesAsync([FromQuery] GetSalesRequestDto requestDto) { if (requestDto == null) { return(BadRequest()); } var sales = await saleService.GetSalesAsync(requestDto); return(Ok(sales)); }
public void GetFilterParameters_ArgsOk_CallsRepository() { // arrange GetSalesRequestDto requestDto = GetSalesRequestDtoBuilder.Build(); // act var result = saleService.GetFilterParameters(requestDto); // assert unitOfWork.Sales.Received(1).GetFilterParameters(requestDto); }
public async System.Threading.Tasks.Task GetFilterParameters_ArgsOk_CallsService() { // arrange GetSalesRequestDto requestDto = GetSalesRequestDtoBuilder.Build(); // act await saleController.GetFilterParameters(requestDto); // assert await saleService.Received(1).GetFilterParameters(requestDto); }
public void GetFilterParameters_NoArgs_CallsService() { // arrange GetSalesRequestDto requestDto = GetSalesRequestDtoBuilder.Build(); // act saleController.GetFilterParameters(requestDto); // assert saleService.Received(1).GetFilterParameters(requestDto); }
public Task <int> GetLastPageIndex(GetSalesRequestDto requestDto) { if (requestDto == null) { throw new ArgumentNullException(nameof(requestDto)); } string getSalesUrl = GetEndPointForGetSalesRequest(EndPoints.Api.GetLastPageIndex, requestDto); return(httpClient.GetAsync <int>(getSalesUrl)); }
public void GetLastPageIndex_ArgsOk_CallsRepository() { // arrange GetSalesRequestDto requestDto = GetSalesRequestDtoBuilder.Build(); // act saleService.GetLastPageIndex(requestDto); // assert unitOfWork.Sales.Received(1).GetLastPageIndex(requestDto); }
public IActionResult GetSales([FromQuery] GetSalesRequestDto requestDto) { if (requestDto == null) { return(BadRequest()); } var sales = saleService.GetFilteredSales(requestDto); return(Ok(sales)); }
public async System.Threading.Tasks.Task GetLastPageIndexAsync_ArgsOk_CallsService() { // arrange GetSalesRequestDto requestDto = GetSalesRequestDtoBuilder.Build(); // act await saleController.GetLastPageIndexAsync(requestDto); // assert await saleService.Received(1).GetLastPageIndex(requestDto); }
public IActionResult GetFilterParameters([FromQuery] GetSalesRequestDto requestDto) { if (requestDto == null) { return(BadRequest()); } FilterParametersDto parameters = saleService.GetFilterParameters(requestDto); return(Ok(parameters)); }
public IActionResult GetLastPageIndex([FromQuery] GetSalesRequestDto requestDto) { if (requestDto == null) { return(BadRequest()); } int lastIndex = saleService.GetLastPageIndex(requestDto); return(Ok(lastIndex)); }
public void GetLastPageIndex_ArgsOk_CallsService() { // arrange GetSalesRequestDto requestDto = GetSalesRequestDtoBuilder.Build(); // act saleController.GetLastPageIndex(requestDto); // assert saleService.Received(1).GetLastPageIndex(requestDto); }
public async Task <IEnumerable <SaleDto> > GetSalesAsync(GetSalesRequestDto requestDto) { if (requestDto == null) { throw new ArgumentNullException(nameof(requestDto)); } string getSalesUrl = GetEndPointForGetSalesRequest(EndPoints.Api.GetSales, requestDto); return(await httpClient.GetAsync <IEnumerable <SaleDto> >(getSalesUrl)); }
public FilterParametersDto GetFilterParameters(GetSalesRequestDto requestDto) { if (requestDto == null) { throw new ArgumentNullException(nameof(requestDto)); } var parameters = unitOfWork.Sales.GetFilterParameters(requestDto); return(mapper.Map <FilterParametersDto>(parameters)); }
public IEnumerable <SaleDto> GetFilteredSales(GetSalesRequestDto requestDto) { if (requestDto == null) { throw new ArgumentNullException(nameof(requestDto)); } var sales = unitOfWork.Sales.GetFilteredSales(requestDto); return(mapper.Map <IEnumerable <SaleDto> >(sales)); }
public void AddAllAsync_ArgsOk_CallsRepository() { // arrange GetSalesRequestDto requestDto = GetSalesRequestDtoBuilder.Build(); IEnumerable <SaleDto> salesDto = SaleDtoBuilder.BuildList(2); // act saleService.AddAllAsync(salesDto); // assert unitOfWork.Sales.Received(1).AddAllAsync(Arg.Any <IEnumerable <Sale> >()); }
public async System.Threading.Tasks.Task GetSalesAsync_ArgsOk_CallsApi() { // arrange string endpoint = "endPoint"; configuration[EndPoints.Api.GetSales].Returns(endpoint); GetSalesRequestDto requestDto = GetSalesRequestDtoBuilder.Build(); // act await saleService.GetSalesAsync(requestDto); // assert await httpClient.Received(1).GetAsync <IEnumerable <SaleDto> >(endpoint); }
public void GetFilteredSales_ArgsOk_CallsRepository() { // arrange GetSalesRequestDto requestDto = GetSalesRequestDtoBuilder.Build(); IEnumerable <SaleDto> salesDto = SaleDtoBuilder.BuildList(2); List <Sale> sales = new List <Sale>() { new Sale() }; mapper.Map <IEnumerable <SaleDto> >(Arg.Any <IEnumerable <Sale> >()).Returns(salesDto); unitOfWork.Sales.GetFilteredSales(requestDto).Returns(sales); // act saleService.GetFilteredSales(requestDto); // assert unitOfWork.Sales.Received(1).GetFilteredSales(requestDto); }
public int GetLastPageIndex(GetSalesRequestDto requestDto) { int lastPageIndex = GetQueryFilteredSales(requestDto).Count() / requestDto.PageSize + 1; return(lastPageIndex); }
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); }
private string GetEndPointForGetSalesRequest(string endPointKey, GetSalesRequestDto requestDto) { return(string.Format(configuration[endPointKey], requestDto.CountryId, requestDto.SalesChannelId, requestDto.OrderPriorityId, requestDto.RegionId, requestDto.ItemTypeId, requestDto.OrderDate, requestDto.OrderId, requestDto.PageIndex, requestDto.PageSize)); }