Пример #1
0
        public clsGenero obterGenero(int codGenero)
        {
            clsGenero objGeneroProt = new clsGenero();

            objGeneroProt.Codigo = codGenero;
            try
            {
                db = ServidorSingleton.obterServidor().OpenClient();
                IObjectSet leitor = db.QueryByExample(objGeneroProt);
                if (leitor.HasNext())
                {
                    return((clsGenero)leitor.Next());
                }
                else
                {
                    return(null);
                }
                leitor = null;
            }
            catch (Exception ex)
            {
                throw new Exception("Erro obtendo o genero :" + ex.ToString());
            }
            finally {
                db.Close();
                db.Dispose();
            }
        }
Пример #2
0
        public Boolean alterarGenero(clsGenero objAtualizar)
        {
            try
            {
                if (!temDuplicidade(objAtualizar, "Alterar"))
                {
                    clsGenero objGeneroBuscar = new clsGenero();

                    objGeneroBuscar.Codigo = objAtualizar.Codigo;
                    db = ServidorSingleton.obterServidor().OpenClient();
                    IObjectSet leitor = db.QueryByExample(objGeneroBuscar);

                    clsGenero objGenero = (clsGenero)leitor.Next();
                    objGenero.Descricao = objAtualizar.Descricao;
                    db.Store(objGenero);
                    db.Commit();
                    db.Close();
                    db.Dispose();
                    return(true);
                }
                else
                {
                    return(false);
                }
            }
            catch (Exception ex)
            {
                throw new Exception("Erro atualiando o genero :" + ex.ToString());
            }
        }
Пример #3
0
 private int obtemNovoId()
 {
     try
     {
         db = ServidorSingleton.obterServidor().OpenClient();
         IQuery query = db.Query();
         query.Constrain(typeof(clsGenero)).Greater();
         query.Descend("codigo").OrderDescending();
         IObjectSet leitor = query.Execute();
         if (leitor.HasNext())
         {
             clsGenero objGenero = (clsGenero)leitor.Next();
             return(Convert.ToInt32(objGenero.Codigo) + 1);
         }
         else
         {
             return(1);
         }
     }
     catch (Exception ex)
     {
         throw new Exception("Erro obtendo o id do filme :" + ex.ToString());
     }
     finally
     {
         db.Close();
         db.Dispose();
     }
 }
Пример #4
0
 public Boolean cadastrarStatus(clsStatus objStatus)
 {
     try
     {
         if (!temDuplicidade(objStatus, "Cadastrar"))
         {
             objStatus.Codigo = obtemNovoId(); //Executa a solicitação de um novo id
             db = ServidorSingleton.obterServidor().OpenClient();
             db.Store(objStatus);
             db.Commit();
             return(true);
         }
         else
         {
             return(false);
         }
     }
     catch (Exception ex)
     {
         db.Rollback();
         throw new Exception("Erro cadastrando o status :" + ex.ToString());
     }
     finally {
         db.Close();
         db.Dispose();
     }
 }
Пример #5
0
        public Boolean excluirGenero(clsGenero objGenero)
        {
            FilmeDAO objFilmeDAO = new FilmeDAO();

            if (!objFilmeDAO.temGeneroEmFilme(objGenero)) //Verifica se possui algum filme com aquele genero
            {
                try
                {
                    db = ServidorSingleton.obterServidor().OpenClient();
                    IObjectSet leitor = db.QueryByExample(objGenero);
                    clsGenero  g      = (clsGenero)leitor.Next();
                    db.Delete(g);
                    db.Commit();
                    return(true);
                }
                catch (Exception ex)
                {
                    throw new Exception("Erro tentando excluir o genero :" + ex.ToString());
                }
                finally
                {
                    db.Close();
                    db.Dispose();
                }
            }
            else
            {
                return(false);
            }
        }
Пример #6
0
        public Boolean excluirStatus(clsStatus objStatus)
        {
            FilmeDAO objFilmeDAO = new FilmeDAO();

            if (!objFilmeDAO.temStatusEmFilme(objStatus))
            {
                try
                {
                    db = ServidorSingleton.obterServidor().OpenClient();
                    IObjectSet leitor = db.QueryByExample(objStatus);
                    clsStatus  s      = (clsStatus)leitor.Next();
                    db.Delete(s);
                    db.Commit();
                    return(true);
                }
                catch (Exception ex)
                {
                    throw new Exception("Erro tentando excluir o Status :" + ex.ToString());
                }
                finally
                {
                    db.Close();
                    db.Dispose();
                }
            }
            else
            {
                return(false);
            }
        }
Пример #7
0
 public Boolean excluirFilme(clsFilme objFilme)
 {
     db = ServidorSingleton.obterServidor().OpenClient();
     try
     {
         IObjectSet leitor = db.QueryByExample(objFilme);
         if (leitor.HasNext())
         {
             db.Delete((clsFilme)leitor.Next());
             db.Commit();
             return(true);
         }
         else
         {
             return(false);
         }
     }
     catch
     {
         db.Rollback();
         return(false);
     }
     finally {
         db.Close();
         db.Dispose();
     }
 }
Пример #8
0
        public Collection <clsStatus> listarStatus()
        {
            try
            {
                Collection <clsStatus> objStatusColecao = new Collection <clsStatus>();

                db = ServidorSingleton.obterServidor().OpenClient();
                IQuery query = db.Query();
                query.Constrain(typeof(clsStatus));
                query.Descend("descricao").OrderAscending();
                IObjectSet leitor = query.Execute();

                foreach (clsStatus item in leitor)
                {
                    objStatusColecao.Add(item);
                }
                leitor = null;
                return(objStatusColecao);
            }
            catch (Exception ex)
            {
                throw new Exception("Erro listando os status :" + ex.ToString());
            }
            finally {
                db.Close();
                db.Dispose();
            }
        }
Пример #9
0
        public Boolean temStatusEmFilme(clsStatus objStatus)
        {
            bool temfilme;

            try
            {
                db = ServidorSingleton.obterServidor().OpenClient();
                clsFilme objFilme = new clsFilme();
                objFilme.Status = objStatus;
                IObjectSet leitor = db.QueryByExample(objFilme);
                if (leitor.HasNext())
                {
                    temfilme = true;
                }
                else
                {
                    temfilme = false;
                }
                leitor = null;
            }
            catch (Exception ex)
            {
                throw new Exception("Erro verificando possibilidade de exclusão do status:" + ex.ToString());
            }
            finally
            {
                db.Close();
                db.Dispose();
            }
            return(temfilme);
        }
Пример #10
0
        public void cadastrarFilme(clsFilme objFilme)
        {
            objFilme.Codigo = obtemNovoId();
            db = ServidorSingleton.obterServidor().OpenClient();
            try
            {
                //Coloca o genero em cache para não ser inserido novamente
                IObjectSet leitorGenero = db.QueryByExample(objFilme.Genero);
                if (leitorGenero.HasNext())
                {
                    objFilme.Genero = (clsGenero)leitorGenero.Next();
                }
                leitorGenero = null;

                //Coloca o status em cache para não ser inserido novamente
                IObjectSet leitorStatus = db.QueryByExample(objFilme.Status);
                if (leitorStatus.HasNext())
                {
                    objFilme.Status = (clsStatus)leitorStatus.Next();
                }
                leitorStatus = null;
                //Grava o filme
                db.Store(objFilme);
                db.Commit();
            }
            catch (Exception ex)
            {
                db.Rollback();
                throw new Exception("Erro cadastrando o filme :" + ex.ToString());
            }
            finally {
                db.Close();
                db.Dispose();
            }
        }
Пример #11
0
        private Boolean temDuplicidade(clsStatus objStatus, string modo)
        {
            bool      possuiObjeto  = false;
            clsStatus objStatusProt = new clsStatus(); //Protótipo para consulta

            try
            {
                db = ServidorSingleton.obterServidor().OpenClient();

                objStatusProt.Descricao = objStatus.Descricao; //Setando a descrição para busca

                IObjectSet leitor = db.QueryByExample(objStatusProt);
                if (leitor.HasNext())
                {
                    switch (modo)
                    {
                    case "Cadastrar":
                        possuiObjeto = true;
                        break;

                    case "Alterar":
                        clsStatus objStatusDb = new clsStatus();
                        objStatusDb = (clsStatus)leitor.Next();     //Carregando em cache o obj do banco

                        //Comparando se o codigo a ser alterado é diferente do do banco.
                        if (Convert.ToInt32(objStatus.Codigo) != Convert.ToInt32(objStatusDb.Codigo))
                        {
                            //É diferente, logo se trata de um objeto diferente do que esta sendo alterado
                            //A alteração não pode ser feita
                            possuiObjeto = true;
                        }
                        else
                        {
                            possuiObjeto = false;
                        }
                        break;
                    }
                }
                else
                {
                    possuiObjeto = false;
                }
                leitor = null;
            }
            catch (Exception ex)
            {
                throw new Exception("Erro verificando a duplicidade do Status: " + ex.ToString());
            }
            finally
            {
                db.Close();
                db.Dispose();
            }
            return(possuiObjeto);
        }
Пример #12
0
        public Boolean alterarFilme(clsFilme objAtualizar)
        {
            try
            {
                db = ServidorSingleton.obterServidor().OpenClient();
                clsFilme filmeBuscar = new clsFilme();
                filmeBuscar.Codigo = objAtualizar.Codigo;
                IObjectSet leitor = db.QueryByExample(filmeBuscar);
                if (leitor.HasNext())
                {
                    clsFilme objFilme = (clsFilme)leitor.Next();
                    objFilme.Ano            = objAtualizar.Ano;
                    objFilme.Avaliacao      = objAtualizar.Avaliacao;
                    objFilme.TituloBr       = objAtualizar.TituloBr;
                    objFilme.TituloOriginal = objAtualizar.TituloOriginal;

                    IObjectSet leitorGenero = db.QueryByExample(objAtualizar.Genero);
                    if (leitorGenero.HasNext())
                    {
                        objFilme.Genero = (clsGenero)leitorGenero.Next();
                    }
                    leitorGenero = null;

                    IObjectSet leitorStatus = db.QueryByExample(objAtualizar.Status);
                    if (leitorStatus.HasNext())
                    {
                        objFilme.Status = (clsStatus)leitorStatus.Next();
                    }
                    leitorStatus = null;

                    db.Store(objFilme);
                    db.Commit();
                    return(true);
                }
                else
                {
                    return(false);
                }
                leitor = null;
            }
            catch (Exception ex)
            {
                db.Rollback();
                throw new Exception("Erro atualizando o filme :" + ex.ToString());
            }
            finally {
                db.Close();
                db.Dispose();
            }
        }
Пример #13
0
        public Collection <clsGenero> listarGeneros()
        {
            Collection <clsGenero> objGeneroColecao = new Collection <clsGenero>();

            db = ServidorSingleton.obterServidor().OpenClient();

            IQuery query = db.Query();

            query.Constrain(typeof(clsGenero));
            query.Descend("descricao").OrderAscending();
            IObjectSet leitor = query.Execute();

            foreach (clsGenero item in leitor)
            {
                objGeneroColecao.Add(item);
            }
            return(objGeneroColecao);
        }
Пример #14
0
 public clsFilme listarFilmePorCodigo(clsFilme objFilme)
 {
     db = ServidorSingleton.obterServidor().OpenClient();
     try
     {
         IObjectSet leitor = db.QueryByExample(objFilme);
         if (leitor.HasNext())
         {
             return((clsFilme)leitor.Next());
         }
         else
         {
             return(null);
         }
     }
     catch (Exception ex) {
         throw new Exception("Erro obtendo os dados do filme :" + ex.ToString());
     }
 }
Пример #15
0
        //Lista a busca dinâmica
        public Collection <clsFilme> listarFilmes(string ano,
                                                  string tituloOriginal,
                                                  string tituloBr,
                                                  clsGenero objGenero,
                                                  clsStatus objStatus)
        {
            try
            {
                int intAno = Convert.ToInt32(ano);
            }
            catch {
                ano = "";
            }
            //Se não foi informado genero/status, seta a descrição como "" para buscar todos
            if (objGenero == null)
            {
                objGenero           = new clsGenero();
                objGenero.Descricao = "";
            }
            if (objStatus == null)
            {
                objStatus           = new clsStatus();
                objStatus.Descricao = "";
            }

            db = ServidorSingleton.obterServidor().OpenClient();
            return(new Collection <clsFilme>(db.Query <clsFilme>(delegate(clsFilme objFilme)
            {
                db.Close();
                db.Dispose();
                return objFilme.TituloBr.ToLower().Contains(tituloBr.ToLower()) &&
                objFilme.TituloOriginal.ToLower().Contains(tituloOriginal.ToLower()) &&
                objFilme.Ano.ToString().Contains(ano) &&
                objFilme.Genero.Descricao.StartsWith(objGenero.Descricao) &&
                objFilme.Status.Descricao.StartsWith(objStatus.Descricao);
            })));
        }
Пример #16
0
 public Boolean cadastrarGenero(clsGenero objGenero)
 {
     try
     {
         if (!temDuplicidade(objGenero, "Cadastrar")) //Verifica se já existe
         {
             objGenero.Codigo = obtemNovoId();
             db = ServidorSingleton.obterServidor().OpenClient();
             db.Store(objGenero);
             db.Commit();
             db.Close();
             db.Dispose();
             return(true);
         }
         else
         {
             return(false);
         }
     }
     catch (Exception ex)
     {
         throw new Exception("Erro cadastrando o genero :" + ex.ToString());
     }
 }