示例#1
0
 public Boolean cadastrarCliente(Cliente objCliente)
 {
     objCliente.Codigo = obtemNovoId();
     try
     {
         if (!temDuplicidade(objCliente, "Cadastrar"))
         {
             db = ServidorSingleton.obterServidor().OpenClient();
             db.Store(objCliente);
             db.Commit();
             return(true);
         }
         else
         {
             return(false);
         }
     }
     catch (Exception e)
     {
         throw new Exception("Erro cadastrando o cliente :" + e.Message);
     }
     finally {
         db.Close();
         db.Dispose();
     }
 }
示例#2
0
        public Boolean cadastrarFuncionario(Funcionario objFuncionario)
        {
            objFuncionario.Codigo = obtemNovoId();
            try
            {
                if (!temDuplicidade(objFuncionario, "Cadastrar"))
                {
                    db = ServidorSingleton.obterServidor().OpenClient();

                    IObjectSet leitorCargo = db.QueryByExample(objFuncionario.Cargo);
                    if (leitorCargo.HasNext())
                    {
                        objFuncionario.Cargo = (Cargo)leitorCargo.Next();
                    }
                    leitorCargo = null;

                    db.Store(objFuncionario);
                    db.Commit();
                    return(true);
                }
                else
                {
                    return(false);
                }
            }
            catch (Exception e)
            {
                throw new Exception("Erro cadastrando o funcionário :" + e.Message);
            }
            finally
            {
                db.Close();
                db.Dispose();
            }
        }
示例#3
0
 /// <summary>
 /// Close an open connection to the entity service.
 /// </summary>
 /// <exception cref="System.Exception">Throws when the singleton
 /// is not initialized.</exception>
 public void Close()
 {
     if (_container == null)
     {
         throw new Exception("Context is not open");
     }
     _container.Close();
     _container.Dispose();
     _container = null;
 }
示例#4
0
        public Boolean atualizarSolicitacao(SolicitacaoMateriais objSolicitacao)
        {
            SolicitacaoMateriais objSolicitacaoProt = FactoryClasses.criarSolicitacaoMateriais();

            objSolicitacaoProt.Codigo = objSolicitacao.Codigo;
            try
            {
                db = ServidorSingleton.obterServidor().OpenClient();
                IObjectSet leitor = db.QueryByExample(objSolicitacaoProt);
                if (leitor.HasNext())
                {
                    SolicitacaoMateriais objSolicitacaoCache = (SolicitacaoMateriais)leitor.Next();
                    objSolicitacaoCache.GestorObra = objSolicitacao.GestorObra;

                    int i = 0;
                    foreach (Materiais material in objSolicitacaoCache.Materiais)
                    {
                        if (material.Codigo == objSolicitacao.Codigo)
                        {
                            Fornecedor objFornecedor = FactoryClasses.criarFornecedor();
                            objFornecedor.Codigo = objSolicitacao.Materiais[i].Fornecedor.Codigo;
                            material.Fornecedor  = objFornecedor;
                        }
                        i++;
                    }

                    objSolicitacaoCache.Materiais     = objSolicitacao.Materiais;
                    objSolicitacaoCache.Status        = objSolicitacao.Status;
                    objSolicitacaoCache.DataEntrega   = objSolicitacao.DataEntrega;
                    objSolicitacaoCache.NumNotaFiscal = objSolicitacao.NumNotaFiscal;
                    objSolicitacaoCache.DataEntrega   = objSolicitacao.DataEntrega;
                    objSolicitacaoCache.Msg           = objSolicitacao.Msg;
                    db.Store(objSolicitacaoCache);
                    db.Commit();
                    db.Close();
                    db.Dispose();
                    return(true);
                }
                else
                {
                    db.Close();
                    db.Dispose();
                    return(false);
                }
            }
            catch (Exception e)
            {
                db.Rollback();
                db.Close();
                db.Dispose();
                throw new Exception("Erro atualizando a solicitação :" + e.Message);
            }
        }
        public Boolean atualizarSolicitacao(SolicitacaoMateriais objSolicitacao)
        {
            SolicitacaoMateriais objSolicitacaoProt = FactoryClasses.criarSolicitacaoMateriais();
            objSolicitacaoProt.Codigo = objSolicitacao.Codigo;
            try
            {
                db = ServidorSingleton.obterServidor().OpenClient();
                IObjectSet leitor = db.QueryByExample(objSolicitacaoProt);
                if (leitor.HasNext())
                {
                    SolicitacaoMateriais objSolicitacaoCache = (SolicitacaoMateriais)leitor.Next();
                    objSolicitacaoCache.GestorObra = objSolicitacao.GestorObra;

                    int i = 0;
                    foreach (Materiais material in objSolicitacaoCache.Materiais) {
                        if (material.Codigo == objSolicitacao.Codigo) {
                            Fornecedor objFornecedor = FactoryClasses.criarFornecedor();
                            objFornecedor.Codigo = objSolicitacao.Materiais[i].Fornecedor.Codigo;
                            material.Fornecedor = objFornecedor;
                        }
                        i++;
                    }

                    objSolicitacaoCache.Materiais = objSolicitacao.Materiais;
                    objSolicitacaoCache.Status = objSolicitacao.Status;
                    objSolicitacaoCache.DataEntrega = objSolicitacao.DataEntrega;
                    objSolicitacaoCache.NumNotaFiscal = objSolicitacao.NumNotaFiscal;
                    objSolicitacaoCache.DataEntrega = objSolicitacao.DataEntrega;
                    objSolicitacaoCache.Msg = objSolicitacao.Msg;
                    db.Store(objSolicitacaoCache);
                    db.Commit();
                    db.Close();
                    db.Dispose();
                    return true;
                }
                else
                {
                    db.Close();
                    db.Dispose();
                    return false;
                }
            }
            catch (Exception e)
            {
                db.Rollback();
                db.Close();
                db.Dispose();
                throw new Exception("Erro atualizando a solicitação :" + e.Message);
            }
        }
示例#6
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();
            }
        }
示例#7
0
        public void AfterScenario()
        {
            var driver = objectContainer.Resolve <IWebDriver>();

            driver.Close();
            objectContainer.Dispose();
        }
示例#8
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);
        }
示例#9
0
 public Funcionario efetuarLogin(Funcionario objFuncionario)
 {
     try
     {
         Funcionario objFunc;
         db = ServidorSingleton.obterServidor().OpenClient();
         IObjectSet leitor = db.QueryByExample(objFuncionario);
         if (leitor.HasNext())
         {
             objFunc = (Funcionario)leitor.Next();
         }
         else
         {
             objFunc = null;
         }
         return(objFunc);
     }
     catch (Exception e)
     {
         throw new Exception("Erro efetuando login :" + e.Message);
     }
     finally
     {
         db.Close();
         db.Dispose();
     }
 }
示例#10
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);
            }
        }
示例#11
0
        public bool Stop()
        {
            bool             bRetorno   = true;
            IObjectContainer Contenedor = null;

            try
            {
                Contenedor = Db4oFactory.OpenClient(MiCliente.Server, Convert.ToInt32(MiCliente.Port), MiCliente.User, MiCliente.Password);
                if (Contenedor != null)
                {
                    IMessageSender messageSender = Contenedor.Ext().Configure().ClientServer()
                                                   .GetMessageSender();
                    //envio el mensaje
                    messageSender.Send(new StopServer(""));
                    Thread.Sleep(1000);//espero a que llegue el pinci mensaje
                    //cierro el contenedor
                    if (Contenedor != null)
                    {
                        Contenedor.Close();
                    }
                    Contenedor.Dispose();
                }
            }
            catch (System.Net.Sockets.SocketException)
            {                    //No se conecto, ta cerrado
                bRetorno = true; //nomas por poner codigo
            }
            catch (Exception)
            {
                bRetorno = false;//No se pudo detener
                //Console.WriteLine(e.ToString());
            }
            return(bRetorno);
        }
示例#12
0
 private int obtemNovoId()
 {
     try
     {
         db = ServidorSingleton.obterServidor().OpenClient();
         IQuery query = db.Query();
         query.Constrain(typeof(clsStatus)).Greater();
         query.Descend("codigo").OrderDescending();
         IObjectSet leitor = query.Execute();
         if (leitor.HasNext())
         {
             clsStatus objStatus = (clsStatus)leitor.Next();
             return(Convert.ToInt32(objStatus.Codigo) + 1);
         }
         else
         {
             return(1);
         }
     }
     catch (Exception ex)
     {
         throw new Exception("Erro obtendo o id do status :" + ex.ToString());
     }
     finally
     {
         db.Close();
         db.Dispose();
     }
 }
示例#13
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();
     }
 }
示例#14
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);
            }
        }
示例#15
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();
            }
        }
示例#16
0
        public Boolean excluirFuncionario(Funcionario objFuncionario)
        {
            db = ServidorSingleton.obterServidor().OpenClient();
            Funcionario objFuncionarioProt = FactoryClasses.criarFuncionario();

            objFuncionarioProt.Codigo = objFuncionario.Codigo;

            try
            {
                IObjectSet leitor = db.QueryByExample(objFuncionario);
                if (leitor.HasNext())
                {
                    db.Delete((Funcionario)leitor.Next());
                    db.Commit();
                    return(true);
                }
                else
                {
                    return(false);
                }
            }
            catch
            {
                db.Rollback();
                return(false);
            }
            finally
            {
                db.Close();
                db.Dispose();
            }
        }
示例#17
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();
            }
        }
示例#18
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());
            }
        }
示例#19
0
 //Fornece um novo id pra todas as suas classes filhas
 protected int obtemNovoId()
 {
     try
     {
         db = ServidorSingleton.obterServidor().OpenClient();
         IQuery query = db.Query();
         query.Constrain(typeof(Funcionario)).Greater();
         query.Descend("codigo").OrderDescending();
         IObjectSet leitor = query.Execute();
         if (leitor.HasNext())
         {
             Funcionario objFuncionario = (Funcionario)leitor.Next();
             leitor = null;
             return(Convert.ToInt32(objFuncionario.Codigo) + 1);
         }
         else
         {
             leitor = null;
             return(1);
         }
     }
     catch (Exception ex)
     {
         throw new Exception("Erro obtendo o id do funcionario :" + ex.ToString());
     }
     finally
     {
         db.Close();
         db.Dispose();
     }
 }
示例#20
0
 public Boolean excluirCliente(Cliente objCliente)
 {
     db = ServidorSingleton.obterServidor().OpenClient();
     try
     {
         IObjectSet leitor = db.QueryByExample(objCliente);
         if (leitor.HasNext())
         {
             db.Delete((Cliente)leitor.Next());
             db.Commit();
             return(true);
         }
         else
         {
             return(false);
         }
     }
     catch
     {
         db.Rollback();
         return(false);
     }
     finally
     {
         db.Close();
         db.Dispose();
     }
 }
示例#21
0
        private static void EventsClientServer()
        {
            CleanUp();
            StoreJoe();

            using (IObjectServer server = OpenServer())
            {
                IEventRegistry eventsOnServer = EventRegistryFactory.ForObjectContainer(server.Ext().ObjectContainer());
                RegisterAFewEvents(eventsOnServer, "db4o server");

                IObjectContainer client1         = OpenClient();
                IEventRegistry   eventsOnClient1 = EventRegistryFactory.ForObjectContainer(client1);
                RegisterAFewEvents(eventsOnClient1, "db4o client 1");
                RunOperations(client1);


                IObjectContainer client2         = OpenClient();
                IEventRegistry   eventsOnClient2 = EventRegistryFactory.ForObjectContainer(client2);
                RegisterAFewEvents(eventsOnClient2, "db4o client 2");

                SleepForAWhile();
                client1.Dispose();
                client2.Dispose();
            }

            CleanUp();
        }
示例#22
0
		public void SetUp()
		{
			_filePath = Path.GetTempFileName();
			//Db4objects.Db4o.Config.IConfiguration db4oConfiguration = Db4oFactory.Configure();
			//Db4objects.Db4o.Config.IObjectClass objectClass = db4oConfiguration.ObjectClass(typeof(LanguageForm));
			// objectClass.ObjectField("_writingSystemId").Indexed(true);
			// objectClass.ObjectField("_form").Indexed(true);

			_db = Db4oFactory.OpenFile(_filePath);
			((YapStream) _db).GetNativeQueryHandler().QueryOptimizationFailure +=
					OnQueryOptimizationFailure;

			for (int i = 0;i < 10000;i++)
			{
				Entry e = new Entry();
				e.name = new MultiText();
				e.name._forms[0] = new LanguageForm("en", "en-" + i);
				//e.name._forms[1] = new LanguageForm("fr", "fr-"+i);
				e.name._singleForm = new LanguageForm("en", i.ToString());
				_db.Set(e);
			}

			_db.Commit();
			_db.Dispose();
			_db = Db4oFactory.OpenFile(_filePath);
		}
示例#23
0
        private int obtemNovoIdEng()
        {
            try
            {
                db = ServidorSingleton.obterServidor().OpenClient();
                IQuery query = db.Query();
                query.Constrain(typeof(EngenheiroCampo)).Greater();
                query.Descend("codigo").OrderDescending();
                IObjectSet leitor = query.Execute();
                if (leitor.HasNext())
                {
                    EngenheiroCampo objEng = (EngenheiroCampo)leitor.Next();
                    leitor = null;
                    return Convert.ToInt32(objEng.Codigo) + 1;
                }
                else
                {
                    leitor = null;
                    return 1;
                }

            }
            catch (Exception ex)
            {
                throw new Exception("Erro obtendo o id do engenheiro :" + ex.ToString());
            }
            finally
            {
                db.Close();
                db.Dispose();
            }
        }
示例#24
0
        public Boolean alterarStatus(clsStatus objAtualizar)
        {
            try
            {
                if (!temDuplicidade(objAtualizar, "Alterar"))
                {
                    clsStatus objStatusBuscar = new clsStatus();

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

                    clsStatus objStatus = (clsStatus)leitor.Next();
                    objStatus.Descricao = objAtualizar.Descricao;
                    db.Store(objStatus);
                    db.Commit();
                    db.Close();
                    db.Dispose();
                    return true;
                }
                else
                {
                    return false;
                }
            }
            catch (Exception ex)
            {
                throw new Exception("Erro atualizando o status :" + ex.ToString());
            }
        }
示例#25
0
 public void Dispose()
 {
     if (_rootObjectContainer != null)
     {
         _rootObjectContainer.Close();
         _rootObjectContainer.Dispose();
     }
 }
 private void CloseSession(object sender, EventArgs e)
 {
     if (HttpContext.Current.Items[SessionKey] != null)
     {
         IObjectContainer session = (IObjectContainer)HttpContext.Current.Items[SessionKey];
         session.Dispose();
     }
 }
示例#27
0
        public void CleanupDriver()
        {
            var driver = objectContainer.Resolve <IWebDriver>();

            driver.Close();
            driver.Dispose();
            objectContainer.Dispose();
        }
 public override void Dispose()
 {
     Container.Close();
     if (Container != null)
     {
         Container.Dispose();
     }
 }
示例#29
0
 public void Disconnect(ref IObjectContainer cnx)
 {
     if (cnx == null)
     {
         return;
     }
     cnx.Close();
     cnx.Dispose();
     cnx = null;
 }
示例#30
0
        public Boolean cadastrarMaterial(Materiais objMaterial)
        {
            objMaterial.Codigo = obtemNovoId();
            try
            {
                if (!temDuplicidade(objMaterial, "Cadastrar"))
                {
                    db = ServidorSingleton.obterServidor().OpenClient();

                    //Carrega o fornecedor
                    IObjectSet leitorFornecedor = db.QueryByExample(objMaterial.Fornecedor);
                    if (leitorFornecedor.HasNext())
                    {
                        objMaterial.Fornecedor = (Fornecedor)leitorFornecedor.Next();
                    }
                    leitorFornecedor = null;

                    //Carrega o comprador
                    IObjectSet leitorComprador = db.QueryByExample(objMaterial.Comprador);
                    if (leitorComprador.HasNext())
                    {
                        objMaterial.Comprador = (Comprador)leitorComprador.Next();
                    }
                    leitorComprador = null;

                    db.Store(objMaterial);
                    db.Commit();
                    return(true);
                }
                else
                {
                    return(false);
                }
            }
            catch (Exception e)
            {
                throw new Exception("Erro cadastrando o material :" + e.Message);
            }
            finally {
                db.Close();
                db.Dispose();
            }
        }
示例#31
0
        private void CloseDatabase()
        {
            if (dbIsOpen == true)
            {
                db.Close();
                db.Dispose();

                dbIsOpen = false;
            }
        }
示例#32
0
        private Boolean temDuplicidade(Funcionario objFuncionario, string modo)
        {
            bool        possuiObjeto       = false;
            Funcionario objFuncionarioProt = FactoryClasses.criarFuncionario(); //Protótipo para consulta

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

                objFuncionarioProt.Login = objFuncionario.Login; //Setando a descrição para busca

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

                    case "Alterar":
                        Funcionario objFuncionarioDb = FactoryClasses.criarFuncionario();
                        objFuncionarioDb = (Funcionario)leitor.Next();     //Carregando em cache o obj do banco

                        //Comparando se o codigo a ser alterado é diferente do do banco.
                        if (Convert.ToInt32(objFuncionario.Codigo) != Convert.ToInt32(objFuncionarioDb.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 funcionario: " + ex.ToString());
            }
            finally
            {
                db.Close();
                db.Dispose();
            }
            return(possuiObjeto);
        }
示例#33
0
        public static void UseInMemorySystem()
        {
            // #example: Use the in memory system
            IEmbeddedConfiguration configuration = Db4oEmbedded.NewConfiguration();

            configuration.File.Freespace.UseRamSystem();
            // #end example
            IObjectContainer container = Db4oEmbedded.OpenFile(configuration, "database.db4o");

            container.Dispose();
        }
示例#34
0
        public static void FreespaceFiller()
        {
            // #example: Using a freespace filler
            IEmbeddedConfiguration configuration = Db4oEmbedded.NewConfiguration();

            configuration.File.Freespace.FreespaceFiller(new MyFreeSpaceFiller());
            // #end example
            IObjectContainer container = Db4oEmbedded.OpenFile(configuration, "database.db4o");

            container.Dispose();
        }
示例#35
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();
            }
        }
示例#36
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());
            }
        }
示例#37
0
 public Collection<SolicitacaoMateriais> listarSolicitacoes()
 {
     db = ServidorSingleton.obterServidor().OpenClient();
     SolicitacaoMateriais objSolicitacaoProt = FactoryClasses.criarSolicitacaoMateriais();
     Collection<SolicitacaoMateriais> objSolicitacaoColecao = new Collection<SolicitacaoMateriais>();
     IObjectSet leitor = db.QueryByExample(objSolicitacaoProt);
     foreach (SolicitacaoMateriais item in leitor) {
         objSolicitacaoColecao.Add(item);
     }
     leitor = null;
     db.Close();
     db.Dispose();
     return objSolicitacaoColecao;
 }
示例#38
0
 public Fornecedor editarFornecedor(Fornecedor objFornecedorProt)
 {
     db = ServidorSingleton.obterServidor().OpenClient();
     IObjectSet leitor = db.QueryByExample(objFornecedorProt);
     Fornecedor objFornecedor = FactoryClasses.criarFornecedor();
     if (leitor.HasNext()) {
         objFornecedor = (Fornecedor)leitor.Next();
     }
     leitor = null;
     db.Close();
     db.Dispose();
     return objFornecedor;
 }
示例#39
0
 public Boolean excluirCargo(Cargo objCargo)
 {
     //Validação de existência do cargo utilizado por algum usuário
     FuncionarioDAO objFuncionarioDAO = FactoryDAO.criarFuncionarioDAO();
     if (!objFuncionarioDAO.possuiFuncionarioPorCargo(objCargo))
     {
         db = ServidorSingleton.obterServidor().OpenClient();
         try
         {
             IObjectSet leitor = db.QueryByExample(objCargo);
             if (leitor.HasNext())
             {
                 db.Delete((Cargo)leitor.Next());
                 db.Commit();
                 return true;
             }
             else
             {
                 return false;
             }
         }
         catch
         {
             db.Rollback();
             return false;
         }
         finally
         {
             db.Close();
             db.Dispose();
         }
     }
     else {
         return false;
     }
 }
示例#40
0
        //Lista os materiais conforme busca
        public Collection<Materiais> listarMateriaisBusca(string materialBuscar)
        {
            db = ServidorSingleton.obterServidor().OpenClient();
            if (materialBuscar.Length > 0)
            {
                return new Collection<Materiais>(db.Query<Materiais>(delegate(Materiais objMaterial)
                {
                    db.Close();
                    db.Dispose();
                    return objMaterial.Descricao.ToLower().Contains(materialBuscar.ToLower())
                        || objMaterial.DescricaoPopular.ToLower().Contains(materialBuscar.ToLower());

                }));
            }
            else {
                return null;
            }
        }
示例#41
0
 public Boolean excluirSolicitacao(SolicitacaoMateriais objSolicitacao)
 {
     try
     {
         db = ServidorSingleton.obterServidor().OpenClient();
         IObjectSet leitor = db.QueryByExample(objSolicitacao);
         if (leitor.HasNext())
         {
             db.Delete((SolicitacaoMateriais)leitor.Next());
             db.Commit();
         }
         leitor = null;
         return true;
     }
     catch
     {
         db.Rollback();
         throw new Exception("Erro excluindo a solicitação de materiais");
     }
     finally {
         db.Close();
         db.Dispose();
     }
 }
示例#42
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;
 }
示例#43
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();
     }
 }
示例#44
0
 public Boolean possuiFuncionarioPorCargo(Cargo objCargo)
 {
     bool retorno;
     db = ServidorSingleton.obterServidor().OpenClient();
     Funcionario objFuncionario = FactoryClasses.criarFuncionario();
     objFuncionario.Cargo = objCargo;
     IObjectSet leitor = db.QueryByExample(objFuncionario);
     if (leitor.HasNext())
     {
         retorno = true;
     }
     else
     {
         retorno = false;
     }
     leitor = null;
     db.Close();
     db.Dispose();
     return retorno;
 }
示例#45
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;
     }
 }
示例#46
0
 public Cliente editarCliente(Cliente objClienteProt)
 {
     db = ServidorSingleton.obterServidor().OpenClient();
     IObjectSet leitor = db.QueryByExample(objClienteProt);
     Cliente objCliente = FactoryClasses.criarCliente();
     if (leitor.HasNext()) {
         objCliente = (Cliente)leitor.Next();
     }
     leitor = null;
     db.Close();
     db.Dispose();
     return objCliente;
 }
示例#47
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;
     }
 }
示例#48
0
 /// <summary>
 /// Close and return the object-container. Will commit the changes first and the
 /// return the object container to the pool
 /// </summary>
 /// <param name="session">The container to return to the pool</param>
 public void CloseAndRelease(IObjectContainer session){
     session.Dispose();
     Release(session);
 }
示例#49
0
 public clsStatus obterStatus(int codStatus)
 {
     clsStatus objStatusProt = new clsStatus();
     clsStatus objStatus = new clsStatus();
     objStatusProt.Codigo = codStatus;
     try
     {
         db = ServidorSingleton.obterServidor().OpenClient();
         IObjectSet leitor = db.QueryByExample(objStatusProt);
         if (leitor.HasNext())
         {
             return (clsStatus)leitor.Next();
         }
         else {
             return null;
         }
         leitor = null;
     }
     catch (Exception ex)
     {
         throw new Exception("Erro obtendo o genero :" + ex.ToString());
     }
     finally
     {
         db.Close();
         db.Dispose();
     }
 }
示例#50
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();
            }
        }
示例#51
0
 public Materiais editarMaterial(Materiais objMaterialProt)
 {
     db = ServidorSingleton.obterServidor().OpenClient();
     IObjectSet leitor = db.QueryByExample(objMaterialProt);
     Materiais objMaterial = FactoryClasses.criarMateriais();
     if (leitor.HasNext()) {
         objMaterial = (Materiais)leitor.Next();
     }
     leitor = null;
     db.Close();
     db.Dispose();
     return objMaterial;
 }
示例#52
0
 public Collection<SolicitacaoMateriais> listarSolicitacoesAprovadas()
 {
     db = ServidorSingleton.obterServidor().OpenClient();
     return new Collection<SolicitacaoMateriais>(db.Query<SolicitacaoMateriais>(delegate(SolicitacaoMateriais objSolicitacao)
     {
         db.Close();
         db.Dispose();
         //Tras aquelas solicitações que possuem gestores da obra, ou seja, foram validadas
         return objSolicitacao.GestorObra != null;
     }));
 }
示例#53
0
        private Boolean temDuplicidade(Materiais objMaterial, string modo)
        {
            bool possuiObjeto = false;
            Materiais objMaterialProt = FactoryClasses.criarMateriais(); //Protótipo para consulta
            try
            {
                db = ServidorSingleton.obterServidor().OpenClient();

                objMaterialProt.Descricao = objMaterial.Descricao; //Setando a descrição para busca

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

                        case "Alterar":
                            Materiais objMaterialDb = FactoryClasses.criarMateriais();
                            objMaterialDb = (Materiais)leitor.Next(); //Carregando em cache o obj do banco

                            //Comparando se o codigo a ser alterado é diferente do do banco.
                            if (Convert.ToInt32(objMaterial.Codigo) != Convert.ToInt32(objMaterialDb.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 material: " + ex.ToString());
            }
            finally
            {
                db.Close();
                db.Dispose();
            }
            return possuiObjeto;
        }
示例#54
0
        public Boolean cadastrarSolicitacao(SolicitacaoMateriais objSolicitacao)
        {
            objSolicitacao.Codigo = obtemNovoId();
            try
            {
                db = ServidorSingleton.obterServidor().OpenClient();
                IObjectSet leitorEng = db.QueryByExample(objSolicitacao.EngenheiroCampo);
                if (leitorEng.HasNext()) {
                    objSolicitacao.EngenheiroCampo = (EngenheiroCampo)leitorEng.Next();
                }
                leitorEng = null;

                IObjectSet leitorCliente = db.QueryByExample(objSolicitacao.Cliente);
                if (leitorCliente.HasNext()) {
                    objSolicitacao.Cliente = (Cliente)leitorCliente.Next();
                }
                leitorCliente = null;

                for (int i = 0; i < objSolicitacao.Materiais.Count; i++ )
                {
                    Materiais objMaterialProt = FactoryClasses.criarMateriais();
                    objMaterialProt.Codigo = objSolicitacao.Materiais[i].Codigo;

                    IObjectSet leitorMaterial = db.QueryByExample(objMaterialProt);
                    if (leitorMaterial.HasNext())
                    {
                        objSolicitacao.Materiais[i] = (Materiais)leitorMaterial.Next();
                    }
                    leitorMaterial = null;
                }

                db.Store(objSolicitacao);
                db.Commit();
                return true;
            }
            catch (Exception e)
            {
                db.Rollback();
                throw new Exception("Erro cadastrando a solicitação :" + e.Message);
            }
            finally {
                db.Close();
                db.Dispose();
            }
        }
示例#55
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);
            }));
        }
示例#56
0
 public Collection<Pedido> listarPedidos()
 {
     db = ServidorSingleton.obterServidor().OpenClient();
     Pedido objPedidoProt = FactoryClasses.criarPedido();
     IObjectSet leitor = db.QueryByExample(objPedidoProt);
     Collection<Pedido> objPedidoColecao = new Collection<Pedido>();
     foreach (Pedido pedido in leitor) {
         objPedidoColecao.Add(pedido);
     }
     leitor = null;
     db.Close();
     db.Dispose();
     return objPedidoColecao;
 }
示例#57
0
 private int obtemNovoId()
 {
     try
     {
         db = ServidorSingleton.obterServidor().OpenClient();
         IQuery query = db.Query();
         query.Constrain(typeof(clsFilme)).Greater();
         query.Descend("codigo").OrderDescending();
         IObjectSet leitor = query.Execute();
         if (leitor.HasNext())
         {
             clsFilme objFilme = (clsFilme)leitor.Next();
             return Convert.ToInt32(objFilme.Codigo) + 1;
         }
         else
         {
             return 1;
         }
         leitor = null;
     }
     catch (Exception ex)
     {
         throw new Exception("Erro obtendo o id do filme :" + ex.ToString());
     }
     finally
     {
         db.Close();
         db.Dispose();
     }
 }
示例#58
0
        public void cadastrarPedido(SolicitacaoMateriais objSolicitacao)
        {
            //Atualiza a solicitação no db
            SolicitacaoMateriaisDAO objSolicitacaoDAO = FactoryDAO.criarSolicitacaoMateriaisDAO();
            if (objSolicitacaoDAO.atualizarSolicitacao(objSolicitacao))
            {
                SolicitacaoMateriais objSolicitacaoProt = FactoryClasses.criarSolicitacaoMateriais();
                objSolicitacaoProt.Codigo = objSolicitacao.Codigo;
                db = ServidorSingleton.obterServidor().OpenClient();
                IObjectSet leitor = db.QueryByExample(objSolicitacaoProt);
                if (leitor.HasNext())
                {
                    objSolicitacaoProt = null;
                    objSolicitacaoProt = (SolicitacaoMateriais)leitor.Next();
                }
                leitor = null;
                Collection<Pedido> objPedidoColecao = new Collection<Pedido>();

                foreach (Materiais material in objSolicitacaoProt.Materiais)
                {
                    Pedido objPedido = FactoryClasses.criarPedido();
                    objPedido.SolicitacaoMateriais = objSolicitacaoProt;
                    Collection<Materiais> objMateriaisColecao = new Collection<Materiais>();
                    objMateriaisColecao.Add(material);
                    objPedido.Materiais = objMateriaisColecao;
                    objPedido.Codigo = obtemNovoId();
                    db = ServidorSingleton.obterServidor().OpenClient();
                    db.Store(objPedido);
                    db.Commit();
                }

                //Le os pedidos
                Pedido objPedidoProt = FactoryClasses.criarPedido();
                objPedidoProt.SolicitacaoMateriais = objSolicitacaoProt;
                db = ServidorSingleton.obterServidor().OpenClient();
                IObjectSet leitorPedidoCache = db.QueryByExample(objPedidoProt);
                int codFornecedor = 0;
                int contador = 0;
                int codPedido = 0;

                while (leitorPedidoCache.HasNext())
                {
                    Pedido objPedidoLer = (Pedido)leitorPedidoCache.Next();
                    if (contador == 0)
                    {
                        codFornecedor = objPedidoLer.Materiais[0].Fornecedor.Codigo;
                    }
                    else
                    {
                        if (codFornecedor == objPedidoLer.Materiais[0].Fornecedor.Codigo)
                        {
                            //Retira os itens deste pedido e coloca no anterior
                            Collection<Materiais> objMateriaisColecaoTmp = new Collection<Materiais>();
                            foreach (Materiais item in objPedidoLer.Materiais)
                            {
                                objMateriaisColecaoTmp.Add(item);
                            }
                            //exclui o pedido atual
                            db.Delete(objPedidoLer);
                            //Carrega o anterior em cache
                            Pedido p = FactoryClasses.criarPedido();
                            p.Codigo = codPedido;
                            IObjectSet leitorPedido2 = db.QueryByExample(p);
                            if (leitorPedido2.HasNext())
                            {
                                p = null;
                                p = (Pedido)leitorPedido2.Next();
                                //Atualiza o pedido anterior com os dados do pedido que foi apagado
                                foreach (Materiais item in p.Materiais)
                                {
                                    objMateriaisColecaoTmp.Add(item);
                                }
                                p.Materiais = objMateriaisColecaoTmp;
                                db.Store(p);
                                db.Commit();
                            }
                            leitorPedido2 = null;
                        }
                    }
                    codFornecedor = objPedidoLer.Materiais[0].Fornecedor.Codigo;
                    codPedido = objPedidoLer.Codigo;
                    contador++;
                }
                leitorPedidoCache = null;
                db.Close();
                db.Dispose();
            }
        }
示例#59
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)
            {
                db.Rollback();
                throw new Exception("Erro cadastrando o filme :" + ex.ToString());
            }
            finally {
                db.Close();
                db.Dispose();
            }
        }
示例#60
0
 public Funcionario listarFuncionario(Funcionario objFuncionarioModelo)
 {
     db = ServidorSingleton.obterServidor().OpenClient();
     Funcionario objFuncionario = FactoryClasses.criarFuncionario();
     IObjectSet leitor = db.QueryByExample(objFuncionarioModelo);
     if (leitor.HasNext()) {
         objFuncionario = (Funcionario)leitor.Next();
     }
     leitor = null;
     db.Close();
     db.Dispose();
     return objFuncionario;
 }