Example #1
0
 private int obtemNovoId()
 {
     try
     {
         db = ServidorSingleton.obterServidor().OpenClient();
         IQuery query = db.Query();
         query.Constrain(typeof(SolicitacaoMateriais)).Greater();
         query.Descend("codigo").OrderDescending();
         IObjectSet leitor = query.Execute();
         if (leitor.HasNext())
         {
             SolicitacaoMateriais objSolicitacao = (SolicitacaoMateriais)leitor.Next();
             leitor = null;
             return(Convert.ToInt32(objSolicitacao.Codigo) + 1);
         }
         else
         {
             leitor = null;
             return(1);
         }
     }
     catch (Exception ex)
     {
         throw new Exception("Erro obtendo o id da solicitação :" + ex.ToString());
     }
     finally
     {
         db.Close();
         db.Dispose();
     }
 }
Example #2
0
        public Boolean cadastrarSolicitacao(int codCliente,
                                            string msg,
                                            int codEngenheiroCampo,
                                            string materiais
                                            )
        {
            SolicitacaoMateriais objSolicitacao = FactoryClasses.criarSolicitacaoMateriais();

            Cliente objCliente = FactoryClasses.criarCliente();

            objCliente.Codigo      = codCliente;
            objSolicitacao.Cliente = objCliente;

            Mensagem objMsg = FactoryClasses.criarMensagem();

            objMsg.Msg = msg;
            Collection <Mensagem> objMsgColecao = new Collection <Mensagem>();

            objMsgColecao.Add(objMsg);

            objSolicitacao.Msg = objMsgColecao;

            EngenheiroCampo objEngCampo = FactoryClasses.criarEngenheiroCampo();

            objEngCampo.Codigo             = codEngenheiroCampo;
            objSolicitacao.EngenheiroCampo = objEngCampo;

            //Pega cada linha de item
            string[] arrMateriaisLinha = materiais.Split('§');

            //Faz um for em cada linha
            Collection <Materiais> objMateriaisColecao = new Collection <Materiais>();

            for (int i = 0; i < arrMateriaisLinha.Length - 1; i++)
            {
                string[] arrMateriais = arrMateriaisLinha[i].Split('|');

                //Faz um for na quantidade e adiciona quantos itens na coleçao correspondendte a quantidade
                for (int j = 1; j <= Convert.ToInt32(arrMateriais[1]); j++)
                {
                    Materiais objMateriais = FactoryClasses.criarMateriais();
                    objMateriais.Codigo = Convert.ToInt32(arrMateriais[0]);
                    objMateriaisColecao.Add(objMateriais);
                }
            }
            objSolicitacao.Materiais = objMateriaisColecao;

            SolicitacaoMateriaisStatus objSolicitacaoStatus = FactoryClasses.criarSolicitacaoMateriaisStatus();

            objSolicitacaoStatus.Codigo    = 1;
            objSolicitacaoStatus.Descricao = "Aguardando validação do gestor";
            objSolicitacao.Status          = objSolicitacaoStatus;

            objSolicitacao.DataHora = DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss");

            SolicitacaoMateriaisBll objSolicitacaoBll = FactoryBll.criarSolicitacaoMateriaisBll();

            return(objSolicitacaoBll.cadastrarSolicitacao(objSolicitacao));
        }
Example #3
0
        public Boolean excluirSolicitacao(int codSolicitacao)
        {
            SolicitacaoMateriaisBll objSolicitacaoBll = FactoryBll.criarSolicitacaoMateriaisBll();
            SolicitacaoMateriais    objSolicitacao    = FactoryClasses.criarSolicitacaoMateriais();

            objSolicitacao.Codigo = codSolicitacao;
            return(objSolicitacaoBll.excluirSolicitacao(objSolicitacao));
        }
Example #4
0
        public void cadastrarPedido(int codSolicitacao, string materiaisFornecedores)
        {
            SolicitacaoMateriais objSolicitacao = FactoryClasses.criarSolicitacaoMateriais();

            objSolicitacao.Codigo = codSolicitacao;
            PedidoBll objPedidoBll = FactoryBll.criarPedidoBll();

            objPedidoBll.cadastrarPedido(objSolicitacao, materiaisFornecedores);
        }
Example #5
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);
            }
        }
Example #7
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);
        }
Example #8
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();
            }
        }
        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();
            }
        }
Example #10
0
        public void cadastrarPedido(SolicitacaoMateriais objSolicitacao, string materiaisFornecedores)
        {
            PedidoDAO objPedidoDAO = FactoryDAO.criarPedidoDAO();

            Collection<Materiais> objMateriaisColecao = new Collection<Materiais>();
            //Obtem cada item e seu fornecedor
            string[] arrLinhas = materiaisFornecedores.Split('§');
            for (int i = 0; i < arrLinhas.Length; i++) {
                //Obtem o fornecedor e item
                string[] arrItemFornecedor = arrLinhas[i].Split('|');
                Materiais objMateriais = FactoryClasses.criarMateriais();
                objMateriais.Codigo = Convert.ToInt32(arrItemFornecedor[0]);

                Fornecedor objFornecedor = FactoryClasses.criarFornecedor();
                objFornecedor.Codigo = Convert.ToInt32(arrItemFornecedor[1]);
                objMateriais.Fornecedor = objFornecedor;
                objMateriaisColecao.Add(objMateriais);
            }
            objSolicitacao.Materiais = objMateriaisColecao;
            objPedidoDAO.cadastrarPedido(objSolicitacao);
        }
Example #11
0
        public void cadastrarPedido(SolicitacaoMateriais objSolicitacao, string materiaisFornecedores)
        {
            PedidoDAO objPedidoDAO = FactoryDAO.criarPedidoDAO();

            Collection <Materiais> objMateriaisColecao = new Collection <Materiais>();

            //Obtem cada item e seu fornecedor
            string[] arrLinhas = materiaisFornecedores.Split('§');
            for (int i = 0; i < arrLinhas.Length; i++)
            {
                //Obtem o fornecedor e item
                string[]  arrItemFornecedor = arrLinhas[i].Split('|');
                Materiais objMateriais      = FactoryClasses.criarMateriais();
                objMateriais.Codigo = Convert.ToInt32(arrItemFornecedor[0]);

                Fornecedor objFornecedor = FactoryClasses.criarFornecedor();
                objFornecedor.Codigo    = Convert.ToInt32(arrItemFornecedor[1]);
                objMateriais.Fornecedor = objFornecedor;
                objMateriaisColecao.Add(objMateriais);
            }
            objSolicitacao.Materiais = objMateriaisColecao;
            objPedidoDAO.cadastrarPedido(objSolicitacao);
        }
Example #12
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();
     }
 }
Example #13
0
 public bool efetuarCotacao(SolicitacaoMateriais solicitacaoMaterial)
 {
     return(false);
 }
Example #14
0
        public Boolean excluirSolicitacao(SolicitacaoMateriais objSolicitacao)
        {
            SolicitacaoMateriaisDAO objSolicitacaoDAO = FactoryDAO.criarSolicitacaoMateriaisDAO();

            return(objSolicitacaoDAO.excluirSolicitacao(objSolicitacao));
        }
Example #15
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();
            }
        }
 public Boolean excluirSolicitacao(SolicitacaoMateriais objSolicitacao)
 {
     SolicitacaoMateriaisDAO objSolicitacaoDAO = FactoryDAO.criarSolicitacaoMateriaisDAO();
     return objSolicitacaoDAO.excluirSolicitacao(objSolicitacao);
 }
 public Boolean cadastrarSolicitacao(SolicitacaoMateriais objSolicitacao)
 {
     SolicitacaoMateriaisDAO objSolicitacaoDAO = FactoryDAO.criarSolicitacaoMateriaisDAO();
     return objSolicitacaoDAO.cadastrarSolicitacao(objSolicitacao);
 }
 public Boolean atualizarSolicitacao(SolicitacaoMateriais objSolicitacao)
 {
     SolicitacaoMateriaisDAO objSolicitacaoDAO = FactoryDAO.criarSolicitacaoMateriaisDAO();
     return objSolicitacaoDAO.atualizarSolicitacao(objSolicitacao);
 }
Example #19
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();
            }
        }
Example #20
0
 public bool efetuarCotacao(SolicitacaoMateriais solicitacaoMaterial)
 {
     return false;
 }
Example #21
0
        public Boolean validarSolicitacaoMateriais(SolicitacaoMateriais objSolicitacao)
        {
            SolicitacaoMateriaisDAO objSolicitacaoDAO = FactoryDAO.criarSolicitacaoMateriaisDAO();

            return(objSolicitacaoDAO.atualizarSolicitacao(objSolicitacao));
        }
 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();
     }
 }