예제 #1
0
        public Cliente editarCliente(int codigo)
        {
            Cliente objCliente = FactoryClasses.criarCliente();

            objCliente.Codigo = codigo;
            return(objClienteBll.editarCliente(objCliente));
        }
예제 #2
0
        public Boolean excluirCliente(int codigo)
        {
            Cliente objCliente = FactoryClasses.criarCliente();

            objCliente.Codigo = codigo;
            return(objClienteBll.excluirCliente(objCliente));
        }
예제 #3
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));
        }
예제 #4
0
        public Boolean cadastrarCliente(string cnpj, string nome)
        {
            Cliente objCliente = FactoryClasses.criarCliente();

            objCliente.Cnpj = cnpj;
            objCliente.Nome = nome;
            return(objClienteBll.cadastrarCliente(objCliente));
        }
예제 #5
0
        public Boolean alterarCliente(int codigo, string cnpj, string nome)
        {
            Cliente objCliente = FactoryClasses.criarCliente();

            objCliente.Codigo = codigo;
            objCliente.Cnpj   = cnpj;
            objCliente.Nome   = nome;
            return(objClienteBll.alterarCliente(objCliente));
        }
예제 #6
0
        private Boolean temDuplicidade(Cliente objCliente, string modo)
        {
            bool    possuiObjeto   = false;
            Cliente objClienteProt = FactoryClasses.criarCliente(); //Protótipo para consulta

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

                objClienteProt.Cnpj = objCliente.Cnpj; //Setando a descrição para busca

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

                    case "Alterar":
                        Cliente objClienteDb = FactoryClasses.criarCliente();
                        objClienteDb = (Cliente)leitor.Next();     //Carregando em cache o obj do banco

                        //Comparando se o codigo a ser alterado é diferente do do banco.
                        if (Convert.ToInt32(objCliente.Codigo) != Convert.ToInt32(objClienteDb.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 cliente: " + ex.ToString());
            }
            finally
            {
                db.Close();
                db.Dispose();
            }
            return(possuiObjeto);
        }
예제 #7
0
        public Collection <Cliente> listarClientes()
        {
            db = ServidorSingleton.obterServidor().OpenClient();
            Cliente              objClientePrototipo = FactoryClasses.criarCliente();
            IObjectSet           leitor            = db.QueryByExample(objClientePrototipo);
            Collection <Cliente> objClienteColecao = new Collection <Cliente>();

            foreach (Cliente item in leitor)
            {
                objClienteColecao.Add(item);
            }
            return(objClienteColecao);
        }
예제 #8
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);
        }
예제 #9
0
        public Boolean alterarCliente(Cliente objClienteAtualizar)
        {
            try
            {
                if (!temDuplicidade(objClienteAtualizar, "Alterar"))
                {
                    db = ServidorSingleton.obterServidor().OpenClient();

                    Cliente objClientePrototipo = FactoryClasses.criarCliente();
                    objClientePrototipo.Codigo = objClienteAtualizar.Codigo;
                    IObjectSet leitor = db.QueryByExample(objClientePrototipo);
                    if (leitor.HasNext())
                    {
                        Cliente objCliente = (Cliente)leitor.Next();
                        objCliente.Cnpj = objClienteAtualizar.Cnpj;
                        objCliente.Nome = objClienteAtualizar.Nome;
                        db.Store(objCliente);
                        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 cliente :" + ex.ToString());
            }
            finally
            {
                db.Close();
                db.Dispose();
            }
        }