public bool IncluirEtiqueta(EtiquetaPublicacao novaEtiquetaPublicacao)
        {
            string        connectionString = null;
            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 EtiquetasPublicacao ( ");
                query.Append("	Nome, ");
                query.Append("	Quantidade, ");
                query.Append("	DataHoraInclusao ");
                query.Append(") VALUES ( ");
                query.Append("	@Nome, ");
                query.Append("	0, ");
                query.Append("	@DataHoraInclusao); ");
                query.Append("SET @Id = SCOPE_IDENTITY(); ");
                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("@Nome", novaEtiquetaPublicacao.Nome);
                        command.Parameters.AddWithValue("@DataHoraInclusao", dataHoraRegistrada);
                        command.Parameters.Add("@Id", SqlDbType.Int).Direction = ParameterDirection.Output;

                        connection.Open();
                        if (command.ExecuteNonQuery() > 0)
                        {
                            novaEtiquetaPublicacao.Id = (int)command.Parameters["@Id"].Value;
                            novaEtiquetaPublicacao.DataHoraInclusao = (DateTime)command.Parameters["@DataHoraInclusao"].Value;
                        }
                        else
                        {
                            return(false);
                        }
                    }
                }

                return(true);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        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 EtiquetaPublicacao ObterEtiqueta(string nomeEtiqueta)
        {
            string             connectionString;
            StringBuilder      query              = null;
            SqlConnection      connection         = null;
            SqlCommand         command            = null;
            SqlDataReader      dataReader         = null;
            EtiquetaPublicacao etiquetaPublicacao = null;

            try
            {
                query = new StringBuilder();
                query.Append("SELECT ");
                query.Append("    Id, ");
                query.Append("    Nome, ");
                query.Append("    Quantidade, ");
                query.Append("    DataHoraInclusao ");
                query.Append("FROM EtiquetasPublicacao ");
                query.Append("WHERE Nome = @Nome");

                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("@Nome", nomeEtiqueta);

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

                return(etiquetaPublicacao);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        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;
            }
        }
Exemplo n.º 6
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;
            }
        }
        public JsonResult SalvarPublicacaoProjeto()
        {
            DAOPublicacaoProjeto daoPublicacaoProjeto = null;
            Usuario            usuario = null;
            PublicacaoProjeto  novaPublicacaoProjeto = null;
            string             pathImagem;
            string             pathImagemCapa;
            ItemPublicacao     itemPublicacao = null;
            HttpPostedFile     postedFile     = null;
            Image              imagem         = null;
            EtiquetaPublicacao etiqueta       = null;

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

                novaPublicacaoProjeto        = new PublicacaoProjeto();
                novaPublicacaoProjeto.Autor  = usuario;
                novaPublicacaoProjeto.Titulo = System.Web.HttpContext.Current.Request.Form["txtTitulo"];

                postedFile     = System.Web.HttpContext.Current.Request.Files["fileImagemCapa"];
                imagem         = Bitmap.FromStream(postedFile.InputStream);
                pathImagemCapa = @"\ImagensPublicacoes\" + postedFile.FileName;
                imagem.Save(System.Web.HttpContext.Current.Server.MapPath("~") + @"\ImagensPublicacoes\" + postedFile.FileName);
                novaPublicacaoProjeto.PathImagemCapa = pathImagemCapa;

                int postedFilePosition;
                foreach (string elementName in Request.Form.AllKeys)
                {
                    if (elementName.StartsWith("txtParagrafo"))
                    {
                        itemPublicacao = new ItemPublicacao("Paragrafo", Request.Form[elementName]);
                        novaPublicacaoProjeto.Conteudo.Add(itemPublicacao);
                    }
                    else if (elementName.StartsWith("hiddenImagePosition"))
                    {
                        postedFilePosition = Int32.Parse(Request.Form[elementName]);
                        postedFile         = System.Web.HttpContext.Current.Request.Files[postedFilePosition];
                        imagem             = Bitmap.FromStream(postedFile.InputStream);
                        pathImagem         = @"\ImagensPublicacoes\" + postedFile.FileName;
                        imagem.Save(System.Web.HttpContext.Current.Server.MapPath("~") + @"\ImagensPublicacoes\" + postedFile.FileName);
                        itemPublicacao = new ItemPublicacao("Imagem", pathImagem);
                        novaPublicacaoProjeto.Conteudo.Add(itemPublicacao);
                    }
                }

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

                daoPublicacaoProjeto = new DAOPublicacaoProjeto();
                if (daoPublicacaoProjeto.IncluirPublicacaoProjeto(novaPublicacaoProjeto))
                {
                    return(Json("Aew salvou!"));
                }
                else
                {
                    return(Json("Deu ruim pra salvar a imagem hein..."));
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }