public Bug getBugById(int id) { DataManager dm = new DataManager(); Bug bug = null; try { dm.Open(); string sql = " SELECT TOP 20 bug.id_bug, bug.titulo, bug.descripcion, pro.nombre, bug.fecha_alta, n_estado as estado, usr.n_usuario as asignado_a, n_prioridad, cri.n_criticidad, pro.id_producto, pri.id_prioridad, cri.id_criticidad" + " FROM bugs bug" + " INNER JOIN Historiales_Bug his ON bug.id_bug = his.id_bug" + " INNER JOIN Estados est ON his.id_estado = est.id_estado" + " LEFT JOIN Users usr ON his.asignado_a = usr.id_usuario" + " INNER JOIN Productos pro ON bug.id_producto = pro.id_producto" + " INNER JOIN Prioridades pri ON bug.id_prioridad = pri.id_prioridad" + " INNER JOIN Criticidades cri ON bug.id_criticidad = cri.id_criticidad" + " WHERE his.id_detalle = (SELECT MAX(id_detalle) FROM Historiales_Bug his2 WHERE bug.id_bug = his2.id_bug)" + " AND bug.id_bug = " + id.ToString(); bug = mapBug(dm.ConsultaSQL(sql).Rows[0]); HistorialBugDao oHistorialBug = new HistorialBugDao(); bug.historial.AddRange(oHistorialBug.getById(bug.id_bug)); } catch (Exception ex) { dm.Rollback(); } finally { // Cierra la conexión dm.Close(); } return(bug); }
public IList <Bug> getBugByFilters(List <object> parametros) { DataManager dm = new DataManager(); List <Bug> lst = new List <Bug>(); try { dm.Open(); string sql = " SELECT TOP 20 bug.id_bug, bug.titulo, bug.descripcion, pro.nombre, bug.fecha_alta, n_estado as estado, usr.n_usuario as asignado_a, n_prioridad, cri.n_criticidad" + " FROM bugs bug" + " INNER JOIN Historiales_Bug his ON bug.id_bug = his.id_bug" + " INNER JOIN Estados est ON his.id_estado = est.id_estado" + " LEFT JOIN Users usr ON his.asignado_a = usr.id_usuario" + " INNER JOIN Productos pro ON bug.id_producto = pro.id_producto" + " INNER JOIN Prioridades pri ON bug.id_prioridad = pri.id_prioridad" + " INNER JOIN Criticidades cri ON bug.id_criticidad = cri.id_criticidad" + " WHERE his.id_detalle = (SELECT MAX(id_detalle) FROM Historiales_Bug his2 WHERE bug.id_bug = his2.id_bug)"; if (parametros[0] != null && parametros[1] != null) { sql += " AND (bug.fecha_alta>=@param1 AND bug.fecha_alta<=@param2) "; } if (parametros[2] != null) { sql += "AND bug.id_prioridad=@param3 "; } if (parametros[3] != null) { sql += "AND bug.id_criticidad=@param4 "; } if (parametros[4] != null) { sql += "AND bug.id_producto=@param5 "; } if (parametros[5] != null) { sql += " AND his.id_estado=@param6 "; } if (parametros[6] != null) { sql += " AND his.asignado_a=@param7 "; } sql += "ORDER BY bug.fecha_alta DESC"; foreach (DataRow row in dm.ConsultaSQLConParametros(sql, parametros).Rows) { Bug bug = mapSmallBug(row); HistorialBugDao oHistorialBug = new HistorialBugDao(); bug.historial.AddRange(oHistorialBug.getById(bug.id_bug)); lst.Add(bug); } } catch (Exception ex) { dm.Rollback(); } finally { // Cierra la conexión dm.Close(); } return(lst); }