예제 #1
0
        public Boolean alterarMaterial(int codMaterial,
                                       string unidade,
                                       int codFornecedor,
                                       int codComprador,
                                       string descricao,
                                       string descricaoPopular,
                                       double valorCompra,
                                       double valorVenda)
        {
            Materiais objMaterial = FactoryClasses.criarMateriais();

            objMaterial.Codigo  = codMaterial;
            objMaterial.Unidade = unidade;

            Fornecedor objFornecedor = FactoryClasses.criarFornecedor();

            objFornecedor.Codigo   = codFornecedor;
            objMaterial.Fornecedor = objFornecedor;

            Comprador objComprador = FactoryClasses.criarComprador();

            objComprador.Codigo   = codComprador;
            objMaterial.Comprador = objComprador;

            objMaterial.Descricao        = descricao;
            objMaterial.DescricaoPopular = descricaoPopular;
            objMaterial.ValorCompra      = valorCompra;
            objMaterial.ValorVenda       = valorVenda;

            return(objMaterialBll.alterarMaterial(objMaterial));
        }
예제 #2
0
        public Materiais editarMaterial(int codMaterial)
        {
            Materiais objMaterial = FactoryClasses.criarMateriais();

            objMaterial.Codigo = codMaterial;
            return(objMaterialBll.editarMaterial(objMaterial));
        }
예제 #3
0
        public Boolean excluirMaterial(int codMaterial)
        {
            Materiais objMaterial = FactoryClasses.criarMateriais();

            objMaterial.Codigo = codMaterial;
            return(objMaterialBll.excluirMaterial(objMaterial));
        }
예제 #4
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));
        }
예제 #5
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);
        }
예제 #6
0
        public Collection <Materiais> listarMateriais()
        {
            db = ServidorSingleton.obterServidor().OpenClient();
            Materiais              objMaterialPrototipo = FactoryClasses.criarMateriais();
            IObjectSet             leitor = db.QueryByExample(objMaterialPrototipo);
            Collection <Materiais> objMateriaisColecao = new Collection <Materiais>();

            foreach (Materiais item in leitor)
            {
                objMateriaisColecao.Add(item);
            }
            return(objMateriaisColecao);
        }
예제 #7
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);
        }
예제 #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();
            }
        }
예제 #9
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);
        }
예제 #10
0
        public Boolean alterarMaterial(Materiais objMaterialAtualizar)
        {
            try
            {
                if (!temDuplicidade(objMaterialAtualizar, "Alterar"))
                {
                    db = ServidorSingleton.obterServidor().OpenClient();

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

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

                    Materiais objMaterialPrototipo = FactoryClasses.criarMateriais();
                    objMaterialPrototipo.Codigo = objMaterialAtualizar.Codigo;
                    IObjectSet leitor = db.QueryByExample(objMaterialPrototipo);
                    if (leitor.HasNext())
                    {
                        Materiais objMaterial = (Materiais)leitor.Next();
                        objMaterial.Unidade          = objMaterialAtualizar.Unidade;
                        objMaterial.Comprador        = objMaterialAtualizar.Comprador;
                        objMaterial.Descricao        = objMaterialAtualizar.Descricao;
                        objMaterial.DescricaoPopular = objMaterialAtualizar.DescricaoPopular;
                        objMaterial.Fornecedor       = objMaterialAtualizar.Fornecedor;
                        objMaterial.ValorCompra      = objMaterialAtualizar.ValorCompra;
                        objMaterial.ValorVenda       = objMaterialAtualizar.ValorVenda;
                        db.Store(objMaterial);
                        db.Commit();
                        leitor = null;
                        return(true);
                    }
                    else
                    {
                        leitor = null;
                        return(false);
                    }
                }
                else
                {
                    return(false);
                }
            }
            catch (Exception ex)
            {
                db.Rollback();
                throw new Exception("Erro atualizando o material :" + ex.ToString());
            }
            finally
            {
                db.Close();
                db.Dispose();
            }
        }