public PartialViewResult Pesquisar(FiltroRelatorioViewModel filtroRelatorioViewModel) { var servicoPrestadoViewModels = _servicoPrestadoAppService .ObterServicoPrestadoPorFiltro(filtroRelatorioViewModel).ToList(); return(PartialView("TabelaRelatorio", servicoPrestadoViewModels)); }
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)); }