コード例 #1
0
 public IList <T> Consultar()
 {
     using (ISession session = FluentNHibernateHelper.AbrirSession())
     {
         return((from c in session.Query <T>() select c).ToList());
     }
 }
コード例 #2
0
 public T RetornarPorId(int Id)
 {
     using (ISession session = FluentNHibernateHelper.AbrirSession())
     {
         return(session.Get <T>(Id));
     }
 }
コード例 #3
0
 public IList <Modelo> buscarPorMarca(int id)
 {
     using (ISession session = FluentNHibernateHelper.AbrirSession())
     {
         try
         {
             var            query  = session.Query <Modelo>();
             IList <Modelo> modelo = query.Where(x => x.Marca.Id == id).ToList();
             return(modelo);
         }
         catch (Exception ex)
         {
             throw new Exception("Erro ao buscar cliente pelo cpf: " + ex.Message);
         }
     }
 }
コード例 #4
0
        public Cliente buscarPorCpf(string cpf)
        {
            using (ISession session = FluentNHibernateHelper.AbrirSession())
            {
                try
                {
                    var     query   = session.Query <Cliente>();
                    Cliente cliente = query.Where(x => x.Cpf == cpf).First();

                    return(cliente);
                }
                catch (Exception ex)
                {
                    throw new Exception("Erro ao buscar cliente pelo cpf: " + ex.Message);
                }
            }
        }
コード例 #5
0
        public bool Login(string login, string senha)
        {
            using (ISession session = FluentNHibernateHelper.AbrirSession())
            {
                try
                {
                    var query = session
                                .Query <Usuario>()
                                .Count(x => x.Login == login && x.Senha == senha);

                    return(query == 1);
                }
                catch (Exception ex)
                {
                    throw new Exception("Erro ao fazer login. Usuário inexistente, ou senha incorreta");
                }
            }
        }
コード例 #6
0
        public IEnumerable <Aluguel> RetornarPorCliente(Cliente cliente)
        {
            using (ISession session = FluentNHibernateHelper.AbrirSession())
            {
                try
                {
                    var query = session.Query <Aluguel>()
                                .Where(x => x.Clientes.FirstOrDefault() == cliente)
                                .Where(x => x.DataDevolucao == null);

                    return(query.ToList());
                }
                catch (Exception ex)
                {
                    throw new Exception("Erro ao buscar os aluguéis referentes ao cliente " + cliente.Nome, ex);
                }
            }
        }
コード例 #7
0
        public IList <Veiculo> ListarDisponiveis(DateTime begin, DateTime end, Localidade localidade = null)
        {
            using (ISession session = FluentNHibernateHelper.AbrirSession())
            {
                try
                {
                    string stringQuery = "SELECT v.id FROM veiculo v WHERE" +
                                         " v.id NOT IN" +
                                         " (" +
                                         "  select a.veiculo_id " +
                                         "  from aluguel a " +
                                         "  where a.data_emprestimo <= '" + begin.ToString("yyyy-MM-dd") + "'" +
                                         "  and a.data_devolucao_contratada >= '" + end.ToString("yyyy-MM-dd") + "'" +
                                         "  and a.data_devolucao is null" +
                                         " )";

                    var query = session.CreateSQLQuery(stringQuery);

                    IList <int>     ids      = query.List <int>();
                    IList <Veiculo> veiculos = new List <Veiculo>();

                    foreach (int id in ids)
                    {
                        Veiculo veiculo = RetornarPorId(id);

                        if (localidade == null || veiculo.Localidade.Id == localidade.Id)
                        {
                            veiculos.Add(veiculo);
                        }
                    }

                    return(veiculos);
                }
                catch (Exception ex)
                {
                    throw new Exception("Erro ao buscar os veículos disponíveis entre " + begin + " e " + end);
                }
            }
        }
コード例 #8
0
 public bool Excluir(T entidade)
 {
     using (ISession session = FluentNHibernateHelper.AbrirSession())
     {
         using (ITransaction transacao = session.BeginTransaction())
         {
             try
             {
                 session.Delete(entidade);
                 transacao.Commit();
                 return(true);
             }
             catch (Exception ex)
             {
                 if (!transacao.WasCommitted)
                 {
                     transacao.Rollback();
                     return(false);
                 }
                 throw new Exception("Erro ao excluir: " + ex.Message);
             }
         }
     }
 }
コード例 #9
0
 public T Inserir(T entidade)
 {
     using (ISession session = FluentNHibernateHelper.AbrirSession())
     {
         using (ITransaction transacao = session.BeginTransaction())
         {
             try
             {
                 session.Save(entidade);
                 transacao.Commit();
                 return(entidade);
             }
             catch (Exception ex)
             {
                 if (!transacao.WasCommitted)
                 {
                     transacao.Rollback();
                     throw new Exception("Foi commitado. Erro ao inserir: " + ex.Message + entidade);
                 }
                 throw new Exception("Erro ao inserir: " + ex.Message);
             }
         }
     }
 }