/// <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); }
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(); } } }
public IList <Dominio.Coluna> Pesquisar(Dominio.Coluna objeto, int qtde, int pagina, int[] Codigos) { throw new NotImplementedException(); }
public IList <Dominio.Coluna> Pesquisar(Dominio.Coluna objeto, int pagina = 0) { throw new NotImplementedException(); }
public Dominio.Coluna Cadastrar(Dominio.Coluna objeto) { throw new NotImplementedException(); }
public void Alterar(Dominio.Coluna objeto) { throw new NotImplementedException(); }
public IList <Dominio.Coluna> Pesquisar(Dominio.Coluna objeto, short qtde) { throw new NotImplementedException(); }
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(); } } }