public List <Agendamento> PesquisarAgendamento2(string filtro, DateTime filtroinicio, DateTime filtrofim) { List <Agendamento> agendamentos; using (SqlConnection conn = new SqlConnection(Conexao.ConsultarConexao())) { string script = "select " + "agendamento.id_agendamento Id," + "id_usuario IdUsuario," + "Equipamento.id_equipamento IdEquipamento," + "dt_agendamento DataAgendamento," + "dthr_dia Dia," + "dt_alteracao DataAlteracao," + "dthr_retirada DataHoraRetirada," + "dthr_devolucao DataHoraDevolucao," + "ds_devolucao StatusDevolucao," + "id_usuario_alteracao IdUsuarioAlteracao," + "count(nmr_patrimonio) Quantidade " + "from Equipamento " + "inner join " + "Patrimonio on Equipamento.id_equipamento = Patrimonio.id_equipamento " + "inner join " + "PatrimonioAgendado on Patrimonio.id_patrimonio = PatrimonioAgendado.id_patrimonio " + "left join " + "Agendamento on PatrimonioAgendado.id_agendamento = Agendamento.id_agendamento " + "left join " + "StatusDevolucao on Agendamento.id_status_devolucao = StatusDevolucao.id_status_devolucao " + "where " + "(nm_equipamento like '%' + @FILTRO + '%' " + "OR nmr_patrimonio like '%' + @FILTRO + '%') " + "AND dthr_dia BETWEEN @FILTROINICIO AND @FILTROFIM " + "group by " + "nm_equipamento," + "ds_equipamento," + "Equipamento.fl_status," + "dthr_dia," + "dthr_devolucao," + "ds_devolucao," + "dthr_retirada," + "id_usuario," + "dt_agendamento," + "Equipamento.id_equipamento," + "id_Usuario_alteracao," + "dt_alteracao," + "agendamento.id_agendamento "; agendamentos = conn.Query <Agendamento>(script, new { @FILTRO = filtro, @FILTROINICIO = filtroinicio.Date, @FILTROFIM = filtrofim.Date.AddDays(1).AddSeconds(-1) }).ToList(); foreach (var agendamento in agendamentos) { EquipamentoRepositorio repoEquip = new EquipamentoRepositorio(); agendamento.Equipamento = repoEquip.ConsultarPorId(agendamento.IdEquipamento); UsuarioRepositorio repoUsuario = new UsuarioRepositorio(); agendamento.Usuario = repoUsuario.ConsultarPorID(agendamento.IdUsuario); agendamento.UsuarioAlteracao = repoUsuario.ConsultarPorID(agendamento.IdUsuarioAlteracao); } } return(agendamentos); }