public List<EPermitido> Buscar(int CodigoIdea, int CodigoUsuario) { List<EPermitido> permitidos = new List<EPermitido>(); string filtro = string.Empty; if (CodigoIdea != 0) filtro += (filtro == "" ? "" : " AND ") + "p.Idea_Co_Idea = @Idea_Co_Idea"; if (CodigoUsuario != 0) filtro += (filtro == "" ? "" : " AND ") + "p.Usuario_Co_Usuario = @Usuario_Co_Usuario"; string sql = "SELECT i.Co_Idea,i.Tx_TituloIdea,i.Tx_EstadoIdea, " + "u.Co_Usuario,u.No_Usuario,u.Ap_Usuario,u.Am_Usuario,u.Tx_EmailUsuario, " + "p.Nu_CalificacionPermitido " + "FROM Permitido p " + "inner join Idea i ON p.Idea_Co_Idea=i.Co_Idea " + "inner join Usuario u ON p.Usuario_Co_Usuario=u.Co_Usuario " + (filtro == "" ? "" : " WHERE " + filtro); using (SqlConnection con = new SqlConnection(ConexionUtil.ObtenerCadena())) { con.Open(); using (SqlCommand com = new SqlCommand(sql, con)) { if (CodigoIdea != 0) com.Parameters.Add(new SqlParameter("@Idea_Co_Idea", CodigoIdea)); if (CodigoUsuario != 0) com.Parameters.Add(new SqlParameter("@Usuario_Co_Usuario", CodigoUsuario)); using (SqlDataReader resultado = com.ExecuteReader()) { if (resultado.HasRows) { while (resultado.Read()) { EPermitido permitido = new EPermitido() { IdeaPermitido = new EIdea() { CodigoIdea = (int)(decimal)resultado["Co_Idea"], TituloIdea = (string)resultado["Tx_TituloIdea"], EstadoIdea = (string)resultado["Tx_EstadoIdea"] }, UsuarioPermitido = new EUsuario() { Codigo = (int)(decimal)resultado["Co_Usuario"], Nombre = (string)resultado["No_Usuario"], ApPaterno = (string)resultado["Ap_Usuario"], ApMaterno = (string)resultado["Am_Usuario"], Email = (string)resultado["Tx_EmailUsuario"] }, Calificacion = resultado.IsDBNull(resultado.GetOrdinal("Nu_CalificacionPermitido")) ? 0 : (int)(decimal)resultado["Nu_CalificacionPermitido"] }; permitidos.Add(permitido); } } } } } return permitidos; }
public List<EPermitido> ListarIdeaPermitidas(int CodigoIdea, int CodigoUsuario) { List<EPermitido> permitidos = new List<EPermitido>(); string filtro = string.Empty; if (CodigoIdea != 0) filtro += (filtro == "" ? "" : " AND ") + "p.Idea_Co_Idea = @Idea_Co_Idea"; if (CodigoUsuario != 0) filtro += (filtro == "" ? "" : " AND ") + "p.Usuario_Co_Usuario = @Usuario_Co_Usuario"; string sql = "SELECT DISTINCT i.Co_Idea, i.Tx_TituloIdea, i.Tx_DescripcionIdea, i.Fl_FechaHoraIdea, u.Co_Usuario, No_Usuario+' '+Ap_Usuario+' '+Am_Usuario AS NombreCompleto, " + "(SELECT COUNT(*) FROM dbo.Comentario WHERE Idea_Co_Idea = Co_Idea) AS NumeroComentarios, " + "(SELECT SUM(Nu_CalificacionPermitido) FROM dbo.Permitido WHERE Idea_Co_Idea = Co_Idea) AS Puntuacion " + "FROM dbo.Idea i, dbo.Usuario u, dbo.Permitido p " + "WHERE i.Usuario_Co_Usuario_Idea = u.Co_Usuario AND i.Co_Idea = p.Idea_Co_Idea " + (filtro == "" ? "" : " AND " + filtro); using (SqlConnection con = new SqlConnection(ConexionUtil.ObtenerCadena())) { con.Open(); using (SqlCommand com = new SqlCommand(sql, con)) { if (CodigoIdea != 0) com.Parameters.Add(new SqlParameter("@Idea_Co_Idea", CodigoIdea)); if (CodigoUsuario != 0) com.Parameters.Add(new SqlParameter("@Usuario_Co_Usuario", CodigoUsuario)); using (SqlDataReader resultado = com.ExecuteReader()) { if (resultado.HasRows) { while (resultado.Read()) { EPermitido permitido = new EPermitido() { IdeaPermitido = new EIdea() { CodigoIdea = (int)(decimal)resultado["Co_Idea"], TituloIdea = (string)resultado["Tx_TituloIdea"], DescripcionIdea = (string)resultado["Tx_DescripcionIdea"], FechaHoraIdea = ((DateTime)resultado["Fl_FechaHoraIdea"]).ToString(), NumeroComentarios = resultado.IsDBNull(resultado.GetOrdinal("NumeroComentarios")) ? 0 : (int)resultado["NumeroComentarios"], Puntuacion = resultado.IsDBNull(resultado.GetOrdinal("Puntuacion")) ? 0 : (int)(decimal)resultado["Puntuacion"] }, UsuarioPermitido = new EUsuario() { Codigo = (int)(decimal)resultado["Co_Usuario"], Nombre = (string)resultado["NombreCompleto"] } }; permitidos.Add(permitido); } } } } } return permitidos; }