Exemplo n.º 1
0
        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;
        }
Exemplo n.º 2
0
        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;
        }