public bool IncluirPublicacaoProjeto(PublicacaoProjeto novaPublicacaoProjeto) { SqlConnection connection = null; StringBuilder query = null; SqlCommand command = null; DateTime dataHoraRegistrada; string connectionString; DAOEtiquetaPublicacao daoEtiquetaPublicacao = null; EtiquetaPublicacao etiquetaPublicacao = null; try { dataHoraRegistrada = DateTime.Now; query = new StringBuilder(); query.Append("BEGIN TRANSACTION "); 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 PublicacoesProjeto ( "); query.Append(" Id, "); query.Append(" Titulo, "); query.Append(" PathImagemCapa, "); query.Append(" Conteudo "); query.Append(") VALUES ( "); query.Append(" @IdPublicacao, "); query.Append(" @Titulo, "); query.Append(" @PathImagemCapa, "); query.Append(" @Conteudo); "); 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("@IdTipo", (int)novaPublicacaoProjeto.Tipo); command.Parameters.AddWithValue("@DataHoraPublicado", dataHoraRegistrada); command.Parameters.AddWithValue("@IdUsuario", novaPublicacaoProjeto.Autor.Id); command.Parameters.AddWithValue("@Titulo", novaPublicacaoProjeto.Titulo); command.Parameters.AddWithValue("@PathImagemCapa", novaPublicacaoProjeto.PathImagemCapa); command.Parameters.AddWithValue("@Conteudo", JsonConvert.SerializeObject(novaPublicacaoProjeto.Conteudo)); command.Parameters.Add("@IdPublicacao", SqlDbType.Int).Direction = ParameterDirection.Output; connection.Open(); if (command.ExecuteNonQuery() > 0) { novaPublicacaoProjeto.Id = (int)command.Parameters["@IdPublicacao"].Value; novaPublicacaoProjeto.DataHoraPublicado = dataHoraRegistrada; } else { return(false); } } } daoEtiquetaPublicacao = new DAOEtiquetaPublicacao(); foreach (EtiquetaPublicacao etiqueta in novaPublicacaoProjeto.Etiquetas) { etiquetaPublicacao = daoEtiquetaPublicacao.ObterEtiqueta(etiqueta.Nome); if (etiquetaPublicacao == null) { etiquetaPublicacao = new EtiquetaPublicacao(); etiquetaPublicacao.Nome = etiqueta.Nome; daoEtiquetaPublicacao.IncluirEtiqueta(etiquetaPublicacao); } daoEtiquetaPublicacao.IncluirAssociacao(novaPublicacaoProjeto.Id, etiquetaPublicacao.Id); } return(true); } 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; } }