コード例 #1
0
        public void FindByQueryShouldReturnVeiculoList()
        {
            // Arrange
            var listaVeiculos = new List <Veiculo>
            {
                new Veiculo("IKG6861", "Verde", 100.00, true, true, "Hyundai", "HB20", TipoVeiculo.Carro, "Venda")
            };

            AddRange(listaVeiculos);

            var query = new VeiculoQueryDto
            {
                ArCondicionado = true,
                Automatico     = true,
                Marca          = "Hyundai",
                Modelo         = "HB20",
                Cor            = "Verde",
                Take           = 1,
                Number         = 1
            };

            // Act
            var result = repository.FindByQuery(query);

            // Assert
            result.Should().NotBeEmpty();
            result.Should().Equals(listaVeiculos);
        }
コード例 #2
0
        public void FindByQueryWithNullQueryShouldReturnEmptyVeiculoList()
        {
            // Arrange
            var             listaVeiculos = new List <Veiculo>();
            VeiculoQueryDto query         = null;

            // Act
            var result = repository.FindByQuery(query);

            // Assert
            result.Should().Equals(listaVeiculos);
            query.Should().BeNull();
        }
コード例 #3
0
        public void FindByQueryShouldReturnEstoqueDtoList()
        {
            // Arrange
            var query = new VeiculoQueryDto();

            veiculoRepository.FindByQuery(query).Returns(listaVeiculo);

            // Act
            var result = service.FindByQuery(query);

            // Assert
            result.Should().Equals(expected);
            veiculoRepository.Received().FindByQuery(query);
        }
コード例 #4
0
        public IList <Veiculo> FindByQuery(VeiculoQueryDto queryFilter)
        {
            if (queryFilter is null)
            {
                return(new List <Veiculo>());
            }

            var query = Query();

            if (queryFilter.Take.HasValue)
            {
                var skip = ((queryFilter.Number - 1) * queryFilter.Take.Value);
                query = Query().Skip(skip).Take(queryFilter.Take.Value);
            }

            if (queryFilter.ArCondicionado.HasValue)
            {
                query = query.Where(v => v.ArCondicionado.Equals(queryFilter.ArCondicionado));
            }

            if (queryFilter.Automatico.HasValue)
            {
                query = query.Where(v => v.Automatico.Equals(queryFilter.Automatico));
            }

            if (!String.IsNullOrEmpty(queryFilter.Cor))
            {
                query = query.Where(v => v.Cor.Equals(queryFilter.Cor));
            }

            if (!String.IsNullOrEmpty(queryFilter.Modelo))
            {
                query = query.Where(v => v.Modelo.Equals(queryFilter.Modelo));
            }

            if (!String.IsNullOrEmpty(queryFilter.Marca))
            {
                query = query.Where(v => v.Marca.Equals(queryFilter.Marca));
            }

            return(query.ToList());
        }
コード例 #5
0
        public IList <Veiculo> FindByQuery(VeiculoQueryDto queryFilter)
        {
            var result = repository.FindByQuery(queryFilter);

            return(result);
        }
コード例 #6
0
        public IActionResult GetByQuery([FromQuery] VeiculoQueryDto queryFilter)
        {
            var result = service.FindByQuery(queryFilter);

            return(Ok(result));
        }