public IEnumerable <ServicoPrestadoViewModel> ObterServicoPrestadoPorFiltro(
            FiltroRelatorioViewModel filtroRelatorioViewModel)
        {
            var query = _servicoPrestadoService.GetAll().AsQueryable();

            if (filtroRelatorioViewModel.PeriodoDe != null)
            {
                query = query.Where(x => x.DataAtendimento >= filtroRelatorioViewModel.PeriodoDe);
            }

            if (filtroRelatorioViewModel.PeriodoAte != null)
            {
                query = query.Where(x => x.DataAtendimento <= filtroRelatorioViewModel.PeriodoAte.Value.AddHours(23).AddMinutes(59).AddSeconds(59));
            }

            if (!string.IsNullOrEmpty(filtroRelatorioViewModel.Bairro))
            {
                query = query.Where(x => x.ClienteFornecedor.Cliente.Bairro.Contains(filtroRelatorioViewModel.Bairro));
            }

            if (!string.IsNullOrEmpty(filtroRelatorioViewModel.Cidade))
            {
                query = query.Where(x => x.ClienteFornecedor.Cliente.Cidade.Contains(filtroRelatorioViewModel.Cidade));
            }

            if (!string.IsNullOrEmpty(filtroRelatorioViewModel.Estado))
            {
                query = query.Where(x => x.ClienteFornecedor.Cliente.Estado.Contains(filtroRelatorioViewModel.Estado));
            }

            if (filtroRelatorioViewModel.ClienteId != null)
            {
                query = query.Where(x => x.ClienteFornecedor.Cliente.Id == filtroRelatorioViewModel.ClienteId);
            }

            if (filtroRelatorioViewModel.ValorMaximo != null)
            {
                query = query.Where(x => x.ValorServico <= filtroRelatorioViewModel.ValorMaximo);
            }

            if (filtroRelatorioViewModel.ValorMinimo != null)
            {
                query = query.Where(x => x.ValorServico >= filtroRelatorioViewModel.ValorMinimo);
            }

            if (filtroRelatorioViewModel.TipoServicoId != null)
            {
                query = query.Where(x => x.TipoServico.Id == filtroRelatorioViewModel.TipoServicoId);
            }

            if (filtroRelatorioViewModel.FornecedorId != null)
            {
                query = query.Where(x => x.ClienteFornecedor.Fornecedor.Id == filtroRelatorioViewModel.FornecedorId);
            }

            var servicoPrestados = query.ToList();

            return(Mapper.Map <IEnumerable <ServicoPrestado>, IEnumerable <ServicoPrestadoViewModel> >(servicoPrestados));
        }
Exemplo n.º 2
0
 public object GetServicoPrestados([FromQuery] QueryString query)
 {
     return(new { items = _servPrestService.GetAll() });
 }