public List <Agendamento> PesquisarTodosAgendamento(string filtro) { List <Agendamento> agendamentos; using (SqlConnection conn = new SqlConnection(Conexao.ConsultarConexao())) { string script = "select " + "id_usuario IdUsuario," + "Equipamento.id_equipamento IdEquipamento," + "dt_agendamento DataAgendamento," + "dthr_dia Dia," + "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 + '%') " + "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"; agendamentos = conn.Query <Agendamento>(script, new { @FILTRO = filtro }).ToList(); foreach (var agendamento in agendamentos) { EquipamentoRepositorio repoEquip = new EquipamentoRepositorio(); agendamento.Equipamento = repoEquip.ConsultarPorId(agendamento.IdEquipamento); UsuarioRepositorio repoUsuario = new UsuarioRepositorio(); agendamento.UsuarioAlteracao = repoUsuario.ConsultarPorID(agendamento.IdUsuarioAlteracao); agendamento.Usuario = repoUsuario.ConsultarPorID(agendamento.IdUsuario); } } return(agendamentos); }
public List <Agendamento> PesquisarAgendamentoPorIDUser(int ID, string filtro, DateTime filtroinicio, DateTime filtrofim) { List <Agendamento> agendamentos; using (SqlConnection conn = new SqlConnection(Conexao.ConsultarConexao())) { string script = "select " + "Usuario.id_usuario IdUsuario," + "agendamento.id_agendamento Id," + "equipamento.id_equipamento IdEquipamento," + "usuario.id_usuario IdUsuario," + "id_usuario_alteracao IdUsuarioAlteracao," + "equipamento.id_equipamento IdEquipamento," + "dt_agendamento DataAgendamento," + "dthr_dia Dia," + "dthr_retirada DataHoraRetirada," + "dthr_devolucao DataHoraDevolucao," + "ds_devolucao StatusDevolucao," + "count(nmr_patrimonio) Quantidade " + "from Equipamento " + "left join " + "Patrimonio on Equipamento.id_equipamento = Patrimonio.id_equipamento " + "left join " + "Categoria on Equipamento.id_equipamento = Categoria.id_categoria " + "left 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 " + "left join " + "Usuario on Agendamento.id_usuario = Usuario.id_usuario " + "where " + "Usuario.id_usuario = @IDUSER " + "AND nm_equipamento like '%' + @FILTRO + '%' " + "AND dthr_dia BETWEEN @FILTROINICIO AND @FILTROFIM " + "group by " + "Usuario.id_usuario," + "nm_equipamento," + "ds_equipamento," + "nm_categoria," + "Equipamento.fl_status," + "dthr_dia," + "dthr_devolucao," + "ds_devolucao," + "dthr_retirada," + "nm_usuario," + "equipamento.id_equipamento," + "agendamento.id_agendamento," + "Agendamento.dt_agendamento," + "agendamento.id_usuario_alteracao "; agendamentos = conn.Query <Agendamento>(script, new { @IDUSER = ID, @FILTRO = filtro, @FILTROINICIO = filtroinicio, @FILTROFIM = filtrofim }).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); }