Ejemplo n.º 1
0
        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;
            }
        }
Ejemplo n.º 2
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;
            }
        }