コード例 #1
0
        public JsonResult SalvarPublicacaoImagem()
        {
            DAOPublicacaoImagem daoPublicacaoImagem = null;
            Imagem             novaImagem           = null;
            Usuario            usuario              = null;
            string             pathImagem           = null;
            PublicacaoImagem   novaPublicacaoImagem = null;
            EtiquetaPublicacao etiqueta             = null;

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

                if (System.Web.HttpContext.Current.Request.Files.AllKeys.Any())
                {
                    HttpPostedFile postedFile = System.Web.HttpContext.Current.Request.Files["fileImagemPublicacao"];
                    Image          imagem     = Bitmap.FromStream(postedFile.InputStream);
                    pathImagem = @"\ImagensPublicacoes\" + postedFile.FileName;
                    imagem.Save(System.Web.HttpContext.Current.Server.MapPath("~") + @"\ImagensPublicacoes\" + postedFile.FileName);
                }
                else
                {
                    throw new Exception();
                }

                novaImagem            = new Imagem();
                novaImagem.Dono       = usuario;
                novaImagem.PathImagem = pathImagem;
                novaImagem.Legenda    = System.Web.HttpContext.Current.Request.Form["txtLegenda"];

                novaPublicacaoImagem        = new PublicacaoImagem();
                novaPublicacaoImagem.Autor  = usuario;
                novaPublicacaoImagem.Imagem = novaImagem;

                string etiquetas = System.Web.HttpContext.Current.Request.Form["etiquetas"].ToString();
                foreach (string tagName in etiquetas.Split(','))
                {
                    etiqueta      = new EtiquetaPublicacao();
                    etiqueta.Nome = tagName;
                    novaPublicacaoImagem.Etiquetas.Add(etiqueta);
                }

                daoPublicacaoImagem = new DAOPublicacaoImagem();
                if (daoPublicacaoImagem.IncluirPublicacaoImagem(novaPublicacaoImagem))
                {
                    return(Json("Aew salvou!"));
                }
                else
                {
                    return(Json("Deu ruim pra salvar a imagem hein..."));
                }
            }
            catch (Exception)
            {
                throw;
            }
        }
コード例 #2
0
        public void PopularEtiquetas(PublicacaoImagem publicacaoImagem)
        {
            string             connectionString;
            StringBuilder      query              = null;
            SqlConnection      connection         = null;
            SqlCommand         command            = null;
            SqlDataReader      dataReader         = null;
            EtiquetaPublicacao etiquetaPublicacao = null;

            try
            {
                publicacaoImagem.Etiquetas = new List <EtiquetaPublicacao>();

                query = new StringBuilder();
                query.Append("SELECT ");
                query.Append("    PE.IdPublicacao, ");
                query.Append("    PE.IdEtiquetaPublicacao, ");
                query.Append("    E.Nome, ");
                query.Append("    E.Quantidade ");
                query.Append("FROM Publicacoes_EtiquetasPublicacao PE ");
                query.Append("    INNER JOIN EtiquetasPublicacao E ON PE.IdEtiquetaPublicacao = E.Id ");
                query.Append("WHERE PE.IdPublicacao = @IdPublicacao ");

                connectionString = WebConfigurationManager.ConnectionStrings["ConnectionEstudo"].ConnectionString;
                using (connection = new SqlConnection(connectionString))
                {
                    using (command = connection.CreateCommand())
                    {
                        command.CommandType = CommandType.Text;
                        command.CommandText = query.ToString();
                        command.Parameters.AddWithValue("@IdPublicacao", publicacaoImagem.Id);

                        connection.Open();
                        using (dataReader = command.ExecuteReader())
                        {
                            if (dataReader.HasRows)
                            {
                                while (dataReader.Read())
                                {
                                    etiquetaPublicacao            = new EtiquetaPublicacao();
                                    etiquetaPublicacao.Id         = (int)dataReader["IdEtiquetaPublicacao"];
                                    etiquetaPublicacao.Nome       = dataReader["Nome"].ToString();
                                    etiquetaPublicacao.Quantidade = (int)dataReader["Quantidade"];

                                    publicacaoImagem.Etiquetas.Add(etiquetaPublicacao);
                                }
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
コード例 #3
0
        public void PopularComentarios(PublicacaoImagem publicacaoImagem)
        {
            string               connectionString;
            StringBuilder        query                = null;
            SqlConnection        connection           = null;
            SqlCommand           command              = null;
            SqlDataReader        dataReader           = null;
            ComentarioPublicacao comentarioPublicacao = null;
            Usuario              autor                = null;

            try
            {
                publicacaoImagem.Comentarios = new List <ComentarioPublicacao>();

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

                connectionString = WebConfigurationManager.ConnectionStrings["ConnectionEstudo"].ConnectionString;
                using (connection = new SqlConnection(connectionString))
                {
                    using (command = connection.CreateCommand())
                    {
                        command.CommandType = CommandType.Text;
                        command.CommandText = query.ToString();
                        command.Parameters.AddWithValue("@IdPublicacao", publicacaoImagem.Id);

                        connection.Open();
                        using (dataReader = command.ExecuteReader())
                        {
                            if (dataReader.HasRows)
                            {
                                while (dataReader.Read())
                                {
                                    comentarioPublicacao                   = new ComentarioPublicacao();
                                    comentarioPublicacao.Id                = (int)dataReader["Id"];
                                    comentarioPublicacao.Texto             = dataReader["Texto"].ToString();
                                    comentarioPublicacao.DataHoraComentada = (DateTime)dataReader["DataHoraComentada"];

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

                                    publicacaoImagem.Comentarios.Add(comentarioPublicacao);
                                }
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
コード例 #4
0
        public bool IncluirPublicacaoImagem(PublicacaoImagem novaPublicacaoImagem)
        {
            string                connectionString = null;
            SqlConnection         connection       = null;
            StringBuilder         query            = null;
            SqlCommand            command          = null;
            DateTime              dataHoraRegistrada;
            DAOEtiquetaPublicacao daoEtiquetaPublicacao = null;
            EtiquetaPublicacao    etiquetaPublicacao    = null;

            try
            {
                dataHoraRegistrada = DateTime.Now;

                query = new StringBuilder();
                query.Append("BEGIN TRANSACTION ");
                query.Append("INSERT INTO Imagens ( ");
                query.Append("	Legenda, ");
                query.Append("	IdUsuario, ");
                query.Append("	DataHoraInclusao, ");
                query.Append("	PathImagem ");
                query.Append(") VALUES ( ");
                query.Append("	@Legenda, ");
                query.Append("	@IdUsuario, ");
                query.Append("	@DataHoraPublicado, ");
                query.Append("	@PathImagem); ");
                query.Append("SET @IdImagem = SCOPE_IDENTITY(); ");
                query.Append("INSERT INTO Publicacoes ( ");
                query.Append("	IdTipo, ");
                query.Append("	DataHoraPublicado, ");
                query.Append("	IdUsuario ");
                query.Append(") VALUES ( ");
                query.Append("	@IdTipo, ");
                query.Append("	@DataHoraPublicado, ");
                query.Append("	@IdUsuario); ");
                query.Append("SET @IdPublicacao = SCOPE_IDENTITY(); ");
                query.Append("INSERT INTO PublicacoesImagem ( ");
                query.Append("	Id, ");
                query.Append("	IdImagem ");
                query.Append(") VALUES ( ");
                query.Append("	@IdPublicacao, ");
                query.Append("	@IdImagem); ");
                query.Append("COMMIT");

                connectionString = WebConfigurationManager.ConnectionStrings["ConnectionEstudo"].ConnectionString;
                using (connection = new SqlConnection(connectionString))
                {
                    using (command = connection.CreateCommand())
                    {
                        command.CommandType = CommandType.Text;
                        command.CommandText = query.ToString();

                        command.Parameters.AddWithValue("@IdUsuario", novaPublicacaoImagem.Autor.Id);
                        command.Parameters.AddWithValue("@DataHoraPublicado", dataHoraRegistrada);
                        command.Parameters.AddWithValue("@PathImagem", novaPublicacaoImagem.Imagem.PathImagem);
                        command.Parameters.AddWithValue("@IdTipo", (int)novaPublicacaoImagem.Tipo);
                        command.Parameters.Add("@IdImagem", SqlDbType.Int).Direction     = ParameterDirection.Output;
                        command.Parameters.Add("@IdPublicacao", SqlDbType.Int).Direction = ParameterDirection.Output;
                        if (String.IsNullOrEmpty(novaPublicacaoImagem.Imagem.Legenda))
                        {
                            command.Parameters.AddWithValue("@Legenda", String.Empty);
                        }
                        else
                        {
                            command.Parameters.AddWithValue("@Legenda", novaPublicacaoImagem.Imagem.Legenda);
                        }

                        connection.Open();
                        if (command.ExecuteNonQuery() > 0)
                        {
                            novaPublicacaoImagem.Imagem.Id         = (int)command.Parameters["@IdImagem"].Value;
                            novaPublicacaoImagem.Id                = (int)command.Parameters["@IdPublicacao"].Value;
                            novaPublicacaoImagem.DataHoraPublicado = dataHoraRegistrada;
                        }
                        else
                        {
                            return(false);
                        }
                    }
                }

                daoEtiquetaPublicacao = new DAOEtiquetaPublicacao();
                foreach (EtiquetaPublicacao etiqueta in novaPublicacaoImagem.Etiquetas)
                {
                    etiquetaPublicacao = daoEtiquetaPublicacao.ObterEtiqueta(etiqueta.Nome);
                    if (etiquetaPublicacao == null)
                    {
                        etiquetaPublicacao      = new EtiquetaPublicacao();
                        etiquetaPublicacao.Nome = etiqueta.Nome;
                        daoEtiquetaPublicacao.IncluirEtiqueta(etiquetaPublicacao);
                    }
                    daoEtiquetaPublicacao.IncluirAssociacao(novaPublicacaoImagem.Id, etiquetaPublicacao.Id);
                }

                return(true);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
コード例 #5
0
        public PublicacaoImagem ObterPublicacaoImagem(int idPublicacaoImagem)
        {
            string           connectionString;
            StringBuilder    query            = null;
            SqlConnection    connection       = null;
            SqlCommand       command          = null;
            SqlDataReader    dataReader       = null;
            PublicacaoImagem publicacaoImagem = null;
            Imagem           imagem           = null;
            Usuario          usuario          = null;

            try
            {
                query = new StringBuilder();
                query.Append("SELECT ");
                query.Append("    PI.Id, ");
                query.Append("    PI.IdImagem, ");
                query.Append("    PI.QntdVisualizacoes, ");
                query.Append("    P.DataHoraPublicado, ");
                query.Append("    P.IdUsuario AS IdPublicador, ");
                query.Append("    I.Legenda AS LegendaImagem, ");
                query.Append("    I.IdUsuario, ");
                query.Append("    I.DataHoraInclusao AS DataHoraInclusaoImagem, ");
                query.Append("    I.PathImagem, ");
                query.Append("    U.Nome AS NomePublicador ");
                query.Append("FROM PublicacoesImagem PI ");
                query.Append("    INNER JOIN Publicacoes P ON PI.Id = P.Id ");
                query.Append("    INNER JOIN Imagens I ON PI.IdImagem = I.Id ");
                query.Append("    INNER JOIN Usuarios U ON P.IdUsuario = U.Id ");
                query.Append("WHERE PI.Id = @Id");

                connectionString = WebConfigurationManager.ConnectionStrings["ConnectionEstudo"].ConnectionString;
                using (connection = new SqlConnection(connectionString))
                {
                    using (command = connection.CreateCommand())
                    {
                        command.CommandType = CommandType.Text;
                        command.CommandText = query.ToString();
                        command.Parameters.AddWithValue("@Id", idPublicacaoImagem);

                        connection.Open();
                        using (dataReader = command.ExecuteReader())
                        {
                            if (dataReader.HasRows)
                            {
                                dataReader.Read();
                                publicacaoImagem    = new PublicacaoImagem();
                                publicacaoImagem.Id = (int)dataReader["Id"];
                                publicacaoImagem.QuantidadeVisualizacoes = (int)dataReader["QntdVisualizacoes"];
                                publicacaoImagem.DataHoraPublicado       = (DateTime)dataReader["DataHoraPublicado"];

                                imagem                  = new Imagem();
                                imagem.Id               = (int)dataReader["IdImagem"];
                                imagem.Legenda          = dataReader["LegendaImagem"].ToString();
                                imagem.DataHoraInclusao = (DateTime)dataReader["DataHoraInclusaoImagem"];
                                imagem.PathImagem       = dataReader["PathImagem"].ToString();
                                publicacaoImagem.Imagem = imagem;

                                usuario                = new Usuario();
                                usuario.Id             = (int)dataReader["IdPublicador"];
                                usuario.Nome           = dataReader["NomePublicador"].ToString();
                                publicacaoImagem.Autor = usuario;
                            }
                        }
                    }
                }

                return(publicacaoImagem);
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
            }
        }
コード例 #6
0
        public ActionResult AbrirPublicacaoImagem(int id)
        {
            Usuario                 usuario                 = null;
            DAOPublicacaoImagem     daoPublicacaoImagem     = null;
            DAOUsuarioProfissional  daoUsuarioProfissional  = null;
            DAOComentarioPublicacao daoComentarioPublicacao = null;
            DAOEtiquetaPublicacao   daoEtiquetaPublicacao   = null;
            PublicacaoImagem        publicacaoImagem        = null;
            string masterName = null;

            try
            {
                daoPublicacaoImagem = new DAOPublicacaoImagem();
                publicacaoImagem    = daoPublicacaoImagem.ObterPublicacaoImagem(id);

                daoUsuarioProfissional = new DAOUsuarioProfissional();
                publicacaoImagem.Autor = daoUsuarioProfissional.ObterUsuarioProfissional(publicacaoImagem.Autor.Id);

                daoComentarioPublicacao = new DAOComentarioPublicacao();
                daoPublicacaoImagem.PopularComentarios(publicacaoImagem);

                daoEtiquetaPublicacao = new DAOEtiquetaPublicacao();
                daoEtiquetaPublicacao.PopularEtiquetas(publicacaoImagem);

                usuario = (Usuario)Session["Usuario"];
                if (usuario == null)
                {
                    if (publicacaoImagem != null)
                    {
                        return(View("PublicacaoImagemVisitante", "_LayoutVisitante", publicacaoImagem));
                    }
                    else
                    {
                        return(Json("Deu ruim aqui")); // Tratar este caso.
                    }
                }

                switch (usuario.Perfil)
                {
                case Usuario.TipoPerfil.UsuarioParticular:
                    masterName = "_LayoutUsuarioParticular";
                    break;

                case Usuario.TipoPerfil.UsuarioProfissional:
                    masterName = "_LayoutUsuarioProfissional";
                    break;

                default:
                    masterName = "_LayoutVisitante";
                    break;
                }

                if (publicacaoImagem != null)
                {
                    return(View("PublicacaoImagem", masterName, publicacaoImagem));
                }
                else
                {
                    return(Json("Deu ruim aqui")); // Tratar esse caso.
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
コード例 #7
0
        public List <Publicacao> ObterPublicacoes()
        {
            string                connectionString;
            StringBuilder         query                 = null;
            SqlConnection         connection            = null;
            SqlCommand            command               = null;
            SqlDataReader         dataReader            = null;
            Usuario               autor                 = null;
            Imagem                imagem                = null;
            PublicacaoImagem      publicacaoImagem      = null;
            PublicacaoProjeto     publicacaoProjeto     = null;
            PublicacaoAntesDepois publicacaoAntesDepois = null;
            List <Publicacao>     listaPublicacoes      = null;

            try
            {
                listaPublicacoes = new List <Publicacao>();

                query = new StringBuilder();
                query.Append("SELECT ");
                query.Append("    P.Id, ");
                query.Append("    P.IdTipo, ");
                query.Append("    P.DataHoraPublicado, ");
                query.Append("    P.IdUsuario AS IdAutorPublicacao, ");
                query.Append("    U.Nome AS NomeAutor, ");
                query.Append("    U.Email AS EmailAutor, ");
                query.Append("    PI.IdImagem, ");
                query.Append("    I.Legenda AS LegendaImagem, ");
                query.Append("    I.DataHoraInclusao, ");
                query.Append("    I.PathImagem, ");
                query.Append("    PP.Titulo AS TituloProjeto, ");
                query.Append("    PP.Conteudo AS ConteudoPublicacaoProjeto, ");
                query.Append("    PAD.PathImagemAntes, ");
                query.Append("    PAD.PathImagemDepois, ");
                query.Append("    PAD.Titulo AS TituloAntesDepois, ");
                query.Append("    PAD.Texto AS TextoAntesDepois ");
                query.Append("FROM Publicacoes P ");
                query.Append("    LEFT JOIN Usuarios U ON P.Id = U.Id ");
                query.Append("    LEFT JOIN PublicacoesImagem PI ON P.Id = PI.Id ");
                query.Append("    LEFT JOIN Imagens I ON PI.IdImagem = I.Id ");
                query.Append("    LEFT JOIN PublicacoesProjeto PP ON P.Id = PP.Id ");
                query.Append("    LEFT JOIN PublicacoesAntesDepois PAD ON P.Id = PAD.Id");

                connectionString = WebConfigurationManager.ConnectionStrings["ConnectionEstudo"].ConnectionString;
                using (connection = new SqlConnection(connectionString))
                {
                    using (command = connection.CreateCommand())
                    {
                        command.CommandType = CommandType.Text;
                        command.CommandText = query.ToString();

                        connection.Open();
                        using (dataReader = command.ExecuteReader())
                        {
                            listaPublicacoes = new List <Publicacao>();
                            while (dataReader.Read())
                            {
                                switch ((int)dataReader["IdTipo"])
                                {
                                case (int)Publicacao.TipoPublicacao.PublicacaoImagem:
                                    autor       = new Usuario();
                                    autor.Id    = (int)dataReader["IdAutorPublicacao"];
                                    autor.Nome  = dataReader["NomeAutor"].ToString();
                                    autor.Email = dataReader["EmailAutor"].ToString();

                                    imagem                  = new Imagem();
                                    imagem.Id               = (int)dataReader["IdImagem"];
                                    imagem.Legenda          = dataReader["LegendaImagem"].ToString();
                                    imagem.DataHoraInclusao = (DateTime)dataReader["DataHoraInclusao"];
                                    imagem.PathImagem       = dataReader["PathImagem"].ToString();
                                    imagem.Dono             = autor;

                                    publicacaoImagem                   = new PublicacaoImagem();
                                    publicacaoImagem.Id                = (int)dataReader["Id"];
                                    publicacaoImagem.Autor             = autor;
                                    publicacaoImagem.DataHoraPublicado = (DateTime)dataReader["DataHoraPublicado"];
                                    publicacaoImagem.Imagem            = imagem;

                                    listaPublicacoes.Add(publicacaoImagem);
                                    break;

                                case (int)Publicacao.TipoPublicacao.PublicacaoProjeto:
                                    autor       = new Usuario();
                                    autor.Id    = (int)dataReader["IdAutorPublicacao"];
                                    autor.Nome  = dataReader["NomeAutor"].ToString();
                                    autor.Email = dataReader["EmailAutor"].ToString();

                                    publicacaoProjeto                   = new PublicacaoProjeto();
                                    publicacaoProjeto.Id                = (int)dataReader["Id"];
                                    publicacaoProjeto.Autor             = autor;
                                    publicacaoProjeto.DataHoraPublicado = (DateTime)dataReader["DataHoraPublicado"];
                                    publicacaoProjeto.Titulo            = dataReader["TituloProjeto"].ToString();
                                    publicacaoProjeto.Conteudo          = JsonConvert.DeserializeObject <List <ItemPublicacao> >(dataReader["ConteudoPublicacaoProjeto"].ToString());

                                    listaPublicacoes.Add(publicacaoProjeto);
                                    break;

                                case (int)Publicacao.TipoPublicacao.PublicacaoAntesDepois:
                                    autor       = new Usuario();
                                    autor.Id    = (int)dataReader["IdAutorPublicacao"];
                                    autor.Nome  = dataReader["NomeAutor"].ToString();
                                    autor.Email = dataReader["EmailAutor"].ToString();

                                    publicacaoAntesDepois                   = new PublicacaoAntesDepois();
                                    publicacaoAntesDepois.Id                = (int)dataReader["Id"];
                                    publicacaoAntesDepois.Autor             = autor;
                                    publicacaoAntesDepois.DataHoraPublicado = (DateTime)dataReader["DataHoraPublicado"];
                                    publicacaoAntesDepois.PathImagemAntes   = dataReader["PathImagemAntes"].ToString();
                                    publicacaoAntesDepois.PathImagemDepois  = dataReader["PathImagemDepois"].ToString();
                                    publicacaoAntesDepois.Titulo            = dataReader["TituloAntesDepois"].ToString();
                                    publicacaoAntesDepois.Texto             = dataReader["TextoAntesDepois"].ToString();

                                    listaPublicacoes.Add(publicacaoAntesDepois);
                                    break;
                                }
                            }
                        }
                    }
                }

                return(listaPublicacoes);
            }
            finally
            {
                if (query != null)
                {
                    query = null;
                }
            }
        }
コード例 #8
0
        public void PopularPublicacoes(UsuarioProfissional autor)
        {
            string                connectionString;
            StringBuilder         query                 = null;
            SqlConnection         connection            = null;
            SqlCommand            command               = null;
            SqlDataReader         dataReader            = null;
            PublicacaoImagem      publicacaoImagem      = null;
            PublicacaoProjeto     publicacaoProjeto     = null;
            PublicacaoAntesDepois publicacaoAntesDepois = null;
            Imagem                imagem                = null;

            try
            {
                autor.Publicacoes = new List <Publicacao>();

                query = new StringBuilder();
                query.Append("SELECT ");
                query.Append("    P.Id, ");
                query.Append("    P.IdTipo, ");
                query.Append("    P.DataHoraPublicado, ");
                query.Append("    P.IdUsuario, ");
                query.Append("    PP.Titulo AS TituloProjeto, ");
                query.Append("    PP.Conteudo AS ConteudoPublicacaoProjeto, ");
                query.Append("    PAD.Titulo AS TituloAntesDepois, ");
                query.Append("    PAD.Texto AS TextoAntesDepois, ");
                query.Append("    PAD.PathImagemAntes, ");
                query.Append("    PAD.PathImagemDepois, ");
                query.Append("    PIM.IdImagem, ");
                query.Append("    IM.Legenda AS LegendaImagem, ");
                query.Append("    IM.DataHoraInclusao AS DataHoraInclusaoImagem, ");
                query.Append("    IM.PathImagem ");
                query.Append("FROM Publicacoes P ");
                query.Append("    LEFT JOIN PublicacoesProjeto PP ON P.Id = PP.Id ");
                query.Append("    LEFT JOIN PublicacoesAntesDepois PAD ON P.Id = PAD.Id ");
                query.Append("    LEFT JOIN PublicacoesImagem PIM ON P.Id = PIM.Id ");
                query.Append("    LEFT JOIN Imagens IM ON PIM.IdImagem = IM.Id ");
                query.Append("WHERE P.IdUsuario = @IdUsuario");

                connectionString = WebConfigurationManager.ConnectionStrings["ConnectionEstudo"].ConnectionString;
                using (connection = new SqlConnection(connectionString))
                {
                    using (command = connection.CreateCommand())
                    {
                        command.CommandType = CommandType.Text;
                        command.CommandText = query.ToString();
                        command.Parameters.AddWithValue("@IdUsuario", autor.Id);

                        connection.Open();
                        using (dataReader = command.ExecuteReader())
                        {
                            if (dataReader.HasRows)
                            {
                                while (dataReader.Read())
                                {
                                    switch ((Publicacao.TipoPublicacao)dataReader["IdTipo"])
                                    {
                                    case Publicacao.TipoPublicacao.PublicacaoImagem:
                                        publicacaoImagem                   = new PublicacaoImagem();
                                        publicacaoImagem.Id                = (int)dataReader["Id"];
                                        publicacaoImagem.Autor             = autor;
                                        publicacaoImagem.DataHoraPublicado = (DateTime)dataReader["DataHoraPublicado"];

                                        imagem                  = new Imagem();
                                        imagem.Id               = (int)dataReader["IdImagem"];
                                        imagem.Legenda          = dataReader["LegendaImagem"].ToString();
                                        imagem.PathImagem       = dataReader["PathImagem"].ToString();
                                        imagem.DataHoraInclusao = (DateTime)dataReader["DataHoraInclusaoImagem"];
                                        publicacaoImagem.Imagem = imagem;

                                        autor.Publicacoes.Add(publicacaoImagem);
                                        break;

                                    case Publicacao.TipoPublicacao.PublicacaoProjeto:
                                        publicacaoProjeto                   = new PublicacaoProjeto();
                                        publicacaoProjeto.Id                = (int)dataReader["Id"];
                                        publicacaoProjeto.Autor             = autor;
                                        publicacaoProjeto.DataHoraPublicado = (DateTime)dataReader["DataHoraPublicado"];
                                        publicacaoProjeto.Titulo            = dataReader["TituloProjeto"].ToString();
                                        publicacaoProjeto.Conteudo          = JsonConvert.DeserializeObject <List <ItemPublicacao> >(dataReader["ConteudoPublicacaoProjeto"].ToString());

                                        autor.Publicacoes.Add(publicacaoProjeto);
                                        break;

                                    case Publicacao.TipoPublicacao.PublicacaoAntesDepois:
                                        publicacaoAntesDepois                   = new PublicacaoAntesDepois();
                                        publicacaoAntesDepois.Id                = (int)dataReader["Id"];
                                        publicacaoAntesDepois.Autor             = autor;
                                        publicacaoAntesDepois.DataHoraPublicado = (DateTime)dataReader["DataHoraPublicado"];
                                        publicacaoAntesDepois.Titulo            = dataReader["TituloAntesDepois"].ToString();
                                        publicacaoAntesDepois.Texto             = dataReader["TextoAntesDepois"].ToString();
                                        publicacaoAntesDepois.PathImagemAntes   = dataReader["PathImagemAntes"].ToString();
                                        publicacaoAntesDepois.PathImagemDepois  = dataReader["PathImagemDepois"].ToString();

                                        autor.Publicacoes.Add(publicacaoAntesDepois);
                                        break;
                                    }
                                }
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
            }
        }