/// <summary>
        /// Salva a coluna
        /// </summary>
        /// <param name="coluna">Objeto para salvar</param>
        public Dominio.Coluna SalvarColuna(Dominio.Coluna coluna)
        {
            try
            {
                if (coluna == null)
                {
                    throw new ArgumentNullException("coluna");
                }

                IFactoryDAO fabrica   = FactoryFactoryDAO.GetFabrica();
                IColunaDAO  colunaDAO = fabrica.GetColunaDAO();

                if (coluna.UsuarioCadastro == null)
                {
                    coluna.UsuarioCadastro = Utilitario.Sessao.UsuarioLogado;
                }

                if (coluna.Codigo <= 0)
                {
                    return(colunaDAO.Cadastrar(coluna));
                }

                colunaDAO.Alterar(coluna);
                return(coluna);
            }
            catch (Exception e)
            {
                throw e;
            }
        }
        public IList <Dominio.Coluna> Pesquisar(Dominio.Coluna objeto, int qtde, int pagina, int[] Codigos)
        {
            ICriteria criteria = NHibernate.HttpModule.RecuperarSessao.CreateCriteria(typeof(Dominio.Coluna));

            criteria.AddOrder(Order.Desc("Data"));

            //criteria.Add(Expression.Between("Data", DateTime.MinValue, DateTime.Now));

            if (pagina > 0)
            {
                criteria.SetFirstResult((pagina - 1) * qtde);
                criteria.SetMaxResults(qtde);
            }

            if (Codigos != null)
            {
                if (Codigos.Length > 0)
                {
                    criteria = criteria.Add(Expression.In("Autor", Codigos));
                }
            }

            if (objeto == null)
            {
                return(criteria.List <Dominio.Coluna>());
            }

            if (objeto.Codigo > 0)
            {
                criteria = criteria.Add(Expression.Eq("Codigo", objeto.Codigo));
            }
            if (objeto.Autor != null)
            {
                criteria = criteria.Add(Expression.Eq("Autor", objeto.Autor));
            }
            if (objeto.UsuarioCadastro != null)
            {
                criteria = criteria.Add(Expression.Eq("CodUsuarioCadastro", objeto.UsuarioCadastro.Codigo));
            }
            if (objeto.Data > DateTime.MinValue)
            {
                criteria = criteria.Add(Expression.Eq("Data", objeto.Data));
            }
            if (!string.IsNullOrEmpty(objeto.Titulo))
            {
                criteria = criteria.Add(Expression.Eq("Titulo", objeto.Titulo));
            }

            IList <Dominio.Coluna> colunas = criteria.List <Dominio.Coluna>();

            return(colunas);
        }
        public IList <Dominio.Coluna> Pesquisar(Dominio.Coluna objeto, short qtde)
        {
            ICriteria criteria = NHibernate.HttpModule.RecuperarSessao.CreateCriteria(typeof(Dominio.Coluna));

            if (qtde > 0)
            {
                criteria.SetMaxResults(qtde);
            }

            //criteria.Add(Expression.Between("Data", DateTime.MinValue, DateTime.Now));

            criteria.AddOrder(Order.Desc("Data"));

            if (objeto == null)
            {
                return(criteria.List <Dominio.Coluna>());
            }

            if (objeto.Codigo > 0)
            {
                criteria = criteria.Add(Expression.Eq("Codigo", objeto.Codigo));
            }
            if (objeto.Autor != null)
            {
                criteria = criteria.Add(Expression.Eq("Autor.Codigo", objeto.Autor.Codigo));
            }
            if (objeto.UsuarioCadastro != null)
            {
                criteria = criteria.Add(Expression.Eq("UsuarioCadastro.Codigo", objeto.UsuarioCadastro.Codigo));
            }
            if (objeto.Data > DateTime.MinValue)
            {
                criteria = criteria.Add(Expression.Eq("Data", objeto.Data));
            }
            if (!string.IsNullOrEmpty(objeto.Titulo))
            {
                criteria = criteria.Add(Expression.Eq("Titulo", objeto.Titulo));
            }

            IList <Dominio.Coluna> colunas = criteria.List <Dominio.Coluna>();

            return(colunas);
        }
        public void Alterar(Dominio.Coluna objeto)
        {
            try
            {
                MySQL.ConteudoMySQL conteudoDAO = new MySQL.ConteudoMySQL();
                NHibernate.HttpModule.RecuperarSessao.Update(objeto);

                NHibernate.HttpModule.RecuperarSessao.Flush();

                conteudoDAO.VincularFotos(objeto);
                if (objeto.ListaPalavrasChave != null)
                {
                    conteudoDAO.VincularPalavraChave(objeto);
                }
            }
            catch
            {
                throw;
            }
        }
        /// <summary>
        /// Pesquisa colunas utilizando os atributos da coluna passada
        /// </summary>
        /// <param name="coluna">Objeto para filtro</param>
        /// <param name="qtde">Quantidade de registros a retornar ("0" para todos)</param>
        public IList <Dominio.Coluna> PesquisarColuna(Dominio.Coluna coluna, int qtde, int pagina, bool ultimas = false, int[] CodigosUsuarios = null)
        {
            // TODO : Refactorin this shit...
            try
            {
                IFactoryDAO fabrica = FactoryFactoryDAO.GetFabrica();

                if (!ultimas)
                {
                    IColunaDAO colunaDAO = fabrica.GetColunaDAO();
                    return(colunaDAO.Pesquisar(coluna, qtde, pagina, CodigosUsuarios));
                }
                else
                {
                    Persistencia.MySQL.ColunaMySQL colunaDAO = (Persistencia.MySQL.ColunaMySQL)fabrica.GetColunaDAO(false);
                    return(colunaDAO.PesquisarUltimasColunas());
                }
            }
            catch (Exception e)
            {
                throw e;
            }
        }
        public Dominio.Coluna Cadastrar(Dominio.Coluna objeto)
        {
            try
            {
                MySQL.ConteudoMySQL conteudoDAO = new MySQL.ConteudoMySQL();
                NHibernate.HttpModule.RecuperarSessao.Transaction.Begin();

                objeto.Codigo = (int)NHibernate.HttpModule.RecuperarSessao.Save(objeto);

                NHibernate.HttpModule.RecuperarSessao.Transaction.Commit();
                conteudoDAO.VincularFotos(objeto);
                if (objeto.ListaPalavrasChave != null)
                {
                    conteudoDAO.VincularPalavraChave(objeto);
                }

                return(objeto);
            }
            catch
            {
                NHibernate.HttpModule.RecuperarSessao.Transaction.Rollback();
                throw;
            }
        }
        public bool Excluir(int codigo)
        {
            Dominio.Coluna coluna = this.Pesquisar(codigo);

            using (ISession session = NHibernate.HttpModule.RecuperarSessao)
                using (ITransaction transaction = session.BeginTransaction())
                {
                    try
                    {
                        MySQL.ConteudoMySQL conteudoDAO = new MySQL.ConteudoMySQL();
                        conteudoDAO.DesvincularFotos(coluna);

                        NHibernate.HttpModule.RecuperarSessao.Delete(coluna);
                        transaction.Commit();
                    }
                    catch (HibernateException e)
                    {
                        transaction.Rollback();
                        throw new ApplicationException("Existem outros registros vinculados, coluna não pode ser excluída", e.InnerException);
                    }
                }

            return(true);
        }
Example #8
0
        public List <Dominio.Coluna> PesquisarUltimasColunas()
        {
            string sql = string.Empty;
            List <Dominio.Coluna> ListaColuna = new List <Dominio.Coluna>();

            Dominio.Coluna coluna = null;
            IDataReader    reader = null;

            try
            {
                sql = @"SELECT
						tb.CodConteudo,
						C.CodConteudo,
						C.Titulo, 
						C.Data, 
						U.CodUsuario, 
						U.Nome,
						U.Login,
						F.CodFoto,
						F.Caminho,
						F.Legenda
					FROM tb_conteudo C
					INNER JOIN tb_coluna COL ON (COL.codConteudo = C.codConteudo)
					INNER JOIN tb_usuario U ON (U.codUsuario = COL.codUsuario)
					INNER JOIN tb_foto F ON (F.CodFoto = U.codFoto)
					INNER JOIN 
					(
						SELECT usu.codusuario, (SELECT colq.codconteudo
					FROM tb_conteudo AS conq
					INNER JOIN tb_coluna AS colq ON ( colq.codconteudo = conq.codconteudo ) 
					WHERE colq.codusuario = usu.codusuario
					ORDER BY data DESC 
					LIMIT 1) AS CodConteudo
						FROM tb_usuario AS usu

					) tb ON tb.CodConteudo = C.CodConteudo
					ORDER BY C.Data DESC
					LIMIT 6"                    ;

                reader = this.conexao.ExecutarDataReader(sql, CommandType.Text);

                while (reader.Read())
                {
                    coluna = new Dominio.Coluna();

                    coluna.Codigo = Convert.ToInt32(reader["CodConteudo"]);
                    coluna.Titulo = Convert.ToString(reader["Titulo"]);
                    coluna.Autor  = new Dominio.Usuario()
                    {
                        Codigo = Convert.ToInt32(reader["CodUsuario"]),
                        Nome   = Convert.ToString(reader["Nome"]),
                        Login  = Convert.ToString(reader["Login"]),
                        Foto   = new Dominio.Foto()
                        {
                            Codigo  = Convert.ToInt32(reader["CodFoto"]),
                            Caminho = Convert.ToString(reader["Caminho"]),
                            Legenda = Convert.ToString(reader["Legenda"])
                        }
                    };

                    ListaColuna.Add(coluna);
                }

                return(ListaColuna);
            }
            catch (MySqlException ex)
            {
                throw new ApplicationException("Ocorreu um erro ao acessar o banco de dados!", ex);
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                if (reader != null)
                {
                    reader.Close();
                    reader.Dispose();
                }
            }
        }
Example #9
0
 public IList <Dominio.Coluna> Pesquisar(Dominio.Coluna objeto, int qtde, int pagina, int[] Codigos)
 {
     throw new NotImplementedException();
 }
Example #10
0
 public IList <Dominio.Coluna> Pesquisar(Dominio.Coluna objeto, int pagina = 0)
 {
     throw new NotImplementedException();
 }
Example #11
0
 public Dominio.Coluna Cadastrar(Dominio.Coluna objeto)
 {
     throw new NotImplementedException();
 }
Example #12
0
 public void Alterar(Dominio.Coluna objeto)
 {
     throw new NotImplementedException();
 }
Example #13
0
 public IList <Dominio.Coluna> Pesquisar(Dominio.Coluna objeto, short qtde)
 {
     throw new NotImplementedException();
 }
Example #14
0
        public List<Dominio.Coluna> PesquisarUltimasColunas()
        {
            string sql = string.Empty;
            List<Dominio.Coluna> ListaColuna = new List<Dominio.Coluna>();
            Dominio.Coluna coluna = null;
            IDataReader reader = null;

            try
            {
                sql = @"SELECT
                        tb.CodConteudo,
                        C.CodConteudo,
                        C.Titulo,
                        C.Data,
                        U.CodUsuario,
                        U.Nome,
                        U.Login,
                        F.CodFoto,
                        F.Caminho,
                        F.Legenda
                    FROM tb_conteudo C
                    INNER JOIN tb_coluna COL ON (COL.codConteudo = C.codConteudo)
                    INNER JOIN tb_usuario U ON (U.codUsuario = COL.codUsuario)
                    INNER JOIN tb_foto F ON (F.CodFoto = U.codFoto)
                    INNER JOIN
                    (
                        SELECT usu.codusuario, (SELECT colq.codconteudo
                    FROM tb_conteudo AS conq
                    INNER JOIN tb_coluna AS colq ON ( colq.codconteudo = conq.codconteudo )
                    WHERE colq.codusuario = usu.codusuario
                    ORDER BY data DESC
                    LIMIT 1) AS CodConteudo
                        FROM tb_usuario AS usu

                    ) tb ON tb.CodConteudo = C.CodConteudo
                    ORDER BY C.Data DESC
                    LIMIT 6";

                reader = this.conexao.ExecutarDataReader(sql, CommandType.Text);

                while (reader.Read())
                {
                    coluna = new Dominio.Coluna();

                    coluna.Codigo = Convert.ToInt32(reader["CodConteudo"]);
                    coluna.Titulo = Convert.ToString(reader["Titulo"]);
                    coluna.Autor = new Dominio.Usuario()
                    {
                        Codigo = Convert.ToInt32(reader["CodUsuario"]),
                        Nome = Convert.ToString(reader["Nome"]),
                        Login = Convert.ToString(reader["Login"]),
                        Foto = new Dominio.Foto()
                        {
                            Codigo = Convert.ToInt32(reader["CodFoto"]),
                            Caminho = Convert.ToString(reader["Caminho"]),
                            Legenda = Convert.ToString(reader["Legenda"])
                        }
                    };

                    ListaColuna.Add(coluna);
                }

                return ListaColuna;
            }
            catch (MySqlException ex)
            {
                throw new ApplicationException("Ocorreu um erro ao acessar o banco de dados!", ex);
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                if (reader != null)
                {
                    reader.Close();
                    reader.Dispose();
                }
            }
        }