Esempio n. 1
0
        public JsonResult SalvarComentarioResposta(ComentarioRespostaViewModel novoComentarioResposta)
        {
            DAOComentarioResposta daoComentarioResposta = null;
            Usuario            usuario = null;
            ComentarioResposta modelComentarioResposta = null;

            try
            {
                usuario = (Usuario)Session["Usuario"];

                modelComentarioResposta       = new ComentarioResposta();
                modelComentarioResposta.Autor = usuario;
                modelComentarioResposta.Texto = novoComentarioResposta.Texto;
                modelComentarioResposta.RespostaComentada.Id = int.Parse(novoComentarioResposta.IdRespostaComentada);

                daoComentarioResposta = new DAOComentarioResposta();
                if (daoComentarioResposta.IncluirComentario(modelComentarioResposta))
                {
                    novoComentarioResposta.IdAutor   = modelComentarioResposta.Autor.Id.ToString();
                    novoComentarioResposta.NomeAutor = modelComentarioResposta.Autor.Nome;
                    novoComentarioResposta.DataHora  = modelComentarioResposta.DataHoraComentada.ToString("dd/MM/yyyy HH:mm");
                    return(Json(novoComentarioResposta));
                }
                else
                {
                    return(Json(0)); // Aprender como retorna uma resposta negativa caso a inserção dê errado.
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Esempio n. 2
0
        public void PopularComentarios(Resposta resposta)
        {
            SqlConnection      connection = null;
            SqlCommand         command    = null;
            SqlDataReader      dataReader = null;
            StringBuilder      query      = null;
            ComentarioResposta comentario = null;
            Usuario            usuario    = null;

            try
            {
                query = new StringBuilder();
                query.Append("SELECT ");
                query.Append("	C.Id, ");
                query.Append("	C.Texto, ");
                query.Append("	C.IdRespostaComentada, ");
                query.Append("	C.DataHoraComentada, ");
                query.Append("	C.IdAutor, ");
                query.Append("	U.Nome AS NomeAutor ");
                query.Append("FROM ComentariosRespostas C INNER JOIN Usuarios U ON C.IdAutor = U.Id ");
                query.Append("WHERE C.IdRespostaComentada = @IdResposta");

                connection = new SqlConnection(WebConfigurationManager.ConnectionStrings["ConnectionEstudo"].ConnectionString);
                connection.Open();

                command             = connection.CreateCommand();
                command.CommandType = CommandType.Text;
                command.CommandText = query.ToString();
                command.Parameters.AddWithValue("@IdResposta", resposta.Id);

                dataReader = command.ExecuteReader();

                resposta.Comentarios = new List <ComentarioResposta>();
                if (dataReader.HasRows)
                {
                    while (dataReader.Read())
                    {
                        comentario                   = new ComentarioResposta();
                        comentario.Id                = (int)dataReader["Id"];
                        comentario.Texto             = dataReader["Texto"].ToString();
                        comentario.DataHoraComentada = (DateTime)dataReader["DataHoraComentada"];
                        comentario.RespostaComentada = resposta;

                        usuario          = new Usuario();
                        usuario.Id       = (int)dataReader["IdAutor"];
                        usuario.Nome     = dataReader["NomeAutor"].ToString();
                        comentario.Autor = usuario;

                        resposta.Comentarios.Add(comentario);
                    }
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Esempio n. 3
0
        public bool IncluirComentario(ComentarioResposta novoComentarioResposta)
        {
            SqlConnection connection = null;
            StringBuilder query      = null;
            SqlCommand    command    = null;
            DateTime      dataHoraRegistrada;

            try
            {
                dataHoraRegistrada = DateTime.Now;

                query = new StringBuilder();
                query.Append("BEGIN TRANSACTION ");
                query.Append("INSERT INTO ComentariosRespostas ( ");
                query.Append("	Texto, ");
                query.Append("	IdAutor, ");
                query.Append("	DataHoraComentada, ");
                query.Append("	IdRespostaComentada ");
                query.Append(") VALUES ( ");
                query.Append("	@Texto, ");
                query.Append("	@IdAutor, ");
                query.Append("	@DataHoraComentada, ");
                query.Append("	@IdRespostaComentada); ");
                query.Append("SET @Id = SCOPE_IDENTITY(); ");
                query.Append("COMMIT");

                connection = new SqlConnection(WebConfigurationManager.ConnectionStrings["ConnectionEstudo"].ConnectionString);
                connection.Open();

                command             = connection.CreateCommand();
                command.CommandType = CommandType.Text;
                command.CommandText = query.ToString();

                command.Parameters.AddWithValue("@Texto", novoComentarioResposta.Texto);
                command.Parameters.AddWithValue("@IdAutor", novoComentarioResposta.Autor.Id);
                command.Parameters.AddWithValue("@DataHoraComentada", dataHoraRegistrada);
                command.Parameters.AddWithValue("@IdRespostaComentada", novoComentarioResposta.RespostaComentada.Id);
                command.Parameters.Add("@Id", SqlDbType.Int).Direction = ParameterDirection.Output;

                if (command.ExecuteNonQuery() > 0)
                {
                    novoComentarioResposta.Id = (int)command.Parameters["@Id"].Value;
                    novoComentarioResposta.DataHoraComentada = dataHoraRegistrada;
                    return(true);
                }
                else
                {
                    return(false);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Esempio n. 4
0
 public void AdicionarComentario(ComentarioResposta comentario)
 {
     contexto.ComentariosRespostas.Add(comentario);
     contexto.SaveChanges();
 }