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; } }
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; } }
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; } }
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; } }
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 { } }
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; } }
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; } } }
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 { } }