public List <Comentario> listarComentarioMateria(int codMateria)
        {
            List <Comentario> comentario = new List <Comentario>();

            SqlConnection conexao = new SqlConnection(Conexao.StringDeConexao);

            string SQL = @"SELECT 
                            codComentario, codMateria, c.codPessoa, p.nome, p.funcao, titulo, comentario, c.dataCadastro 
                           FROM Comentario c
                           INNER JOIN Pessoa p on p.codPessoa=c.codPessoa
                           WHERE codMateria=@codMateria
                           ORDER BY dataCadastro DESC";

            SqlCommand comando = new SqlCommand(SQL, conexao);

            comando.Parameters.AddWithValue("@codMateria", codMateria);

            try
            {
                conexao.Open();
                SqlDataReader resultado = comando.ExecuteReader();

                while (resultado.Read())
                {
                    Comentario dadosComentario = new Comentario();

                    dadosComentario.codComentario = (int)resultado["codComentario"];
                    dadosComentario.codMateria    = (int)resultado["codMateria"];
                    dadosComentario.codPessoa     = (int)resultado["codPessoa"];
                    dadosComentario.titulo        = resultado["titulo"].ToString();
                    dadosComentario.comentario    = resultado["comentario"].ToString();
                    dadosComentario.dataCadastro  = (DateTime)resultado["dataCadastro"];
                    dadosComentario.Pessoa        = resultado["nome"].ToString();
                    dadosComentario.Funcao        = resultado["funcao"].ToString();
                    comentario.Add(dadosComentario);
                }

                return(comentario);
            }
            catch
            {
                return(null);
            }
            finally
            {
                conexao.Close();
            }
        }
        public bool inserir(Comentario dados)
        {
            SqlConnection conexao = new SqlConnection(Conexao.StringDeConexao);

            string SQL = @"INSERT INTO Comentario(codMateria, codPessoa, titulo, comentario, dataCadastro) 
                               VALUES(@codMateria, @codPessoa, @titulo, @comentario, @dataCadastro)";

            SqlCommand comando = new SqlCommand(SQL, conexao);

            //comando.Parameters.AddWithValue("@codComentario", dados.codComentario);
            comando.Parameters.AddWithValue("@codMateria", dados.codMateria);
            comando.Parameters.AddWithValue("@codPessoa", dados.codPessoa);
            comando.Parameters.AddWithValue("@titulo", dados.titulo);
            comando.Parameters.AddWithValue("@comentario", dados.comentario);
            comando.Parameters.AddWithValue("@dataCadastro", dados.dataCadastro);

            foreach (SqlParameter Parameter in comando.Parameters)
            {
                if (Parameter.Value == null)
                {
                    Parameter.Value = DBNull.Value;
                }
                else if (String.IsNullOrEmpty(Parameter.Value.ToString()))
                {
                    Parameter.Value = DBNull.Value;
                }
            }

            try
            {
                conexao.Open();
                comando.ExecuteNonQuery();

                return(true);
            }
            catch
            {
                return(false);
            }
            finally
            {
                conexao.Close();
            }
        }
 private void detach_Comentario(Comentario entity)
 {
     this.SendPropertyChanging();
     entity.Noticia = null;
 }
 private void attach_Comentario(Comentario entity)
 {
     this.SendPropertyChanging();
     entity.Noticia = this;
 }
 partial void DeleteComentario(Comentario instance);
 partial void UpdateComentario(Comentario instance);
 partial void InsertComentario(Comentario instance);
        public bool inserirRevisao(Materia dadosMateria, Comentario dadosComentario, int codMateria)
        {
            SqlConnection  conexao = new SqlConnection(Conexao.StringDeConexao);
            SqlTransaction trans   = null;//transação

            try
            {
                conexao.Open();

                trans = conexao.BeginTransaction(IsolationLevel.ReadCommitted);

                //Inserção da Revisão através da atualização dos dados na tabela Materia
                string sqlMateria = @"UPDATE Materia SET nome=@nome, materiaEscrita=@materiaEscrita, status=@status, dataAtualizacao=@dataAtualizacao, revisao=@revisao, 
                                        parecerJornalista=@parecerJornalista, parecerRevisor=@parecerRevisor, alteracaoJornalista=@alteracaoJornalista, alteracaoRevisor=@alteracaoRevisor
                                        WHERE codMateria=@codMateria";

                SqlCommand comandoMateria = new SqlCommand(sqlMateria, conexao);
                comandoMateria.Transaction = trans;

                comandoMateria.Parameters.AddWithValue("@codMateria", codMateria);
                comandoMateria.Parameters.AddWithValue("@nome", dadosMateria.nome);
                comandoMateria.Parameters.AddWithValue("@materiaEscrita", dadosMateria.materiaEscrita);
                comandoMateria.Parameters.AddWithValue("@status", dadosMateria.status);
                comandoMateria.Parameters.AddWithValue("@dataAtualizacao", dadosMateria.dataAtualizacao);
                comandoMateria.Parameters.AddWithValue("@revisao", dadosMateria.revisao);
                comandoMateria.Parameters.AddWithValue("@parecerJornalista", dadosMateria.parecerJornalista);
                comandoMateria.Parameters.AddWithValue("@parecerRevisor", dadosMateria.parecerRevisor);
                comandoMateria.Parameters.AddWithValue("@alteracaoJornalista", dadosMateria.alteracaoJornalista);
                comandoMateria.Parameters.AddWithValue("@alteracaoRevisor", dadosMateria.alteracaoRevisor);

                foreach (SqlParameter Parameter in comandoMateria.Parameters)
                {
                    if (Parameter.Value == null)
                    {
                        Parameter.Value = DBNull.Value;
                    }
                    else if (String.IsNullOrEmpty(Parameter.Value.ToString()))
                    {
                        Parameter.Value = DBNull.Value;
                    }
                }

                comandoMateria.ExecuteNonQuery();
                ///////////////////////////////////

                //Inserção dos comentários
                string sqlComentario = @"INSERT INTO Comentario(codMateria, codPessoa, titulo, comentario, dataCadastro) 
                                            VALUES(@codMateria, @codPessoa, @titulo, @comentario, @dataCadastro)";

                SqlCommand comandoComentario = new SqlCommand(sqlComentario, conexao);
                comandoComentario.Transaction = trans;

                comandoComentario.Parameters.AddWithValue("@codMateria", dadosComentario.codMateria);
                comandoComentario.Parameters.AddWithValue("@codPessoa", dadosComentario.codPessoa);
                comandoComentario.Parameters.AddWithValue("@titulo", dadosComentario.titulo);
                comandoComentario.Parameters.AddWithValue("@comentario", dadosComentario.comentario);
                comandoComentario.Parameters.AddWithValue("@dataCadastro", dadosComentario.dataCadastro);

                foreach (SqlParameter Parameter in comandoComentario.Parameters)
                {
                    if (Parameter.Value == null)
                    {
                        Parameter.Value = DBNull.Value;
                    }
                    else if (String.IsNullOrEmpty(Parameter.Value.ToString()))
                    {
                        Parameter.Value = DBNull.Value;
                    }
                }

                comandoComentario.ExecuteNonQuery();
                ///////////////////////////////////

                trans.Commit();
                return(true);
            }
            catch
            {
                trans.Rollback();
                return(false);
            }
            finally
            {
                conexao.Close();
            }
        }