public Resultado Atualiza(Grupo oGrupo)
        {
            Resultado resultado = new Resultado();
            try
            {
                DbCommand dbc = this.m_db.GetStoredProcCommand("dbo.SP_GRUPO_UPDATE");

                this.m_db.AddInParameter(dbc, "@COD_ITEM", DbType.Int32, oGrupo.ID);
                if (oGrupo.Nome != "")
                    this.m_db.AddInParameter(dbc, "@DESC_ITEM", DbType.String, oGrupo.Nome);

                resultado.Id = Convert.ToInt32(this.m_db.ExecuteNonQuery(dbc));
                resultado.Sucesso = (resultado.Id > 0);

            }
            catch (Exception ex)
            {
                resultado.Sucesso = false;
                Mensagem mensagem = new Mensagem();
                mensagem.Campo = "UPDATE";
                mensagem.Descricoes.Add(ex.Message);
                resultado.Mensagens.Add(mensagem);
            }

            return resultado;
        }
        /// <summary>
        /// Incluir um novo grupo
        /// </summary>
        /// <param name="grupo">Grupo a ser incluída</param>
        /// <returns>Resultado</returns>
        public Resultado Incluir(PedidosOrcamentos pedidoOcarmento)
        {
            Resultado resultado = new Resultado();

            try
            {

                DbCommand dbCommand = this.m_db.GetStoredProcCommand("dbo.SPR_PEDORCAMENTO_INSERE");

                this.m_db.AddInParameter(dbCommand, "@COD_ITEM", DbType.Int32, pedidoOcarmento.Item.ItemID);
                this.m_db.AddInParameter(dbCommand, "@COD_UNIDADEMEDIDA", DbType.Int32, pedidoOcarmento.UnidadeMedida.Id);
                this.m_db.AddInParameter(dbCommand, "@COD_PROJETO", DbType.Int32, pedidoOcarmento.Projeto.ProjetoID);
                this.m_db.AddInParameter(dbCommand, "@NUM_QUANTIDADE", DbType.Int32, pedidoOcarmento.Quantidade);
                this.m_db.AddInParameter(dbCommand, "@DAT_NECESSIDADE", DbType.DateTime, pedidoOcarmento.DataNecessidade);
                this.m_db.AddInParameter(dbCommand, "@USUARIOID_PEDIDO", DbType.Int32, pedidoOcarmento.UsuarioPedido.UsuarioId);
                this.m_db.AddInParameter(dbCommand, "@FINALIDADE", DbType.String, pedidoOcarmento.Finalidade);
                this.m_db.AddInParameter(dbCommand, "@GRUPO_ID", DbType.Int32, pedidoOcarmento.Area.ID);
                this.m_db.AddInParameter(dbCommand, "@OUTROS", DbType.String, Consts.Funcoes.NullOrString(pedidoOcarmento.Outros));
                this.m_db.AddInParameter(dbCommand, "@DESCRICAO", DbType.String, Consts.Funcoes.NullOrString(pedidoOcarmento.Descricao));
                resultado.Id = Convert.ToInt32(this.m_db.ExecuteScalar(dbCommand));
                resultado.Sucesso = (resultado.Id > 0);

            }
            catch (SqlException ex)
            {
                resultado.Sucesso = false;
                Mensagem mensagem = new Mensagem();
                mensagem.Campo = "Orcamento";
                mensagem.Descricoes.Add(ex.Message);
                resultado.Mensagens.Add(mensagem);
            }

            return resultado;
        }
        public Resultado AtualizaStatus(int CodPedido, int Status)
        {
            Resultado resultado = new Resultado();
            try
            {

                DbCommand dbc = this.m_db.GetStoredProcCommand("dbo.SP_PedidoAtualizaStatus");
                this.m_db.AddInParameter(dbc, "@COD_PEDIDO", DbType.Int32, CodPedido);
                this.m_db.AddInParameter(dbc, "@STATUS", DbType.Int32, Status);

                resultado.Id = Convert.ToInt32(this.m_db.ExecuteScalar(dbc));
                resultado.Sucesso = (resultado.Id > 0);

            }
            catch (Exception ex)
            {
                resultado.Sucesso = false;
                Mensagem mensagem = new Mensagem();
                mensagem.Campo = "Pedido";
                mensagem.Descricoes.Add(ex.Message);
                resultado.Mensagens.Add(mensagem);
            }

            return resultado;
        }
        /// <summary>
        /// Incluir um novo grupo
        /// </summary>
        /// <param name="grupo">Grupo a ser incluída</param>
        /// <returns>Resultado</returns>
        public Resultado Incluir(Orcamentos ocarmento)
        {
            Resultado resultado = new Resultado();

            try
            {

                DbCommand dbCommand = this.m_db.GetStoredProcCommand("dbo.SPR_ORCAMENTO _INSERE");
                //this.m_db.AddInParameter(dbCommand, "@COD_ITEM", DbType.DateTime, ocarmento.Item.ItemID);
                //this.m_db.AddInParameter(dbCommand, "@COD_UNIDADEMEDIDA", DbType.DateTime, ocarmento.);
                //this.m_db.AddInParameter(dbCommand, "@COD_PROJETO", DbType.DateTime, ocarmento.DataOrcamento);
                //this.m_db.AddInParameter(dbCommand, "@NUM_QUANTIDADE", DbType.DateTime, ocarmento.DataOrcamento);
                //this.m_db.AddInParameter(dbCommand, "@DAT_NECESSIDADE", DbType.DateTime, ocarmento.DataOrcamento);
                //this.m_db.AddInParameter(dbCommand, "@USUARIOID_PEDIDO", DbType.DateTime, ocarmento.DataOrcamento);

                //resultado.Id = Convert.ToInt32(this.m_db.ExecuteScalar(dbCommand));
                //resultado.Sucesso = (resultado.Id > 0);

            }
            catch (SqlException ex)
            {
                resultado.Sucesso = false;
                Mensagem mensagem = new Mensagem();
                mensagem.Campo = "Orcamento";
                mensagem.Descricoes.Add(ex.Message);
                resultado.Mensagens.Add(mensagem);
            }

            return resultado;
        }
        public Resultado AtualizarSenha(Usuario oUsuario)
        {
            Resultado resultado = new Resultado();
            Mensagem mensagem = new Mensagem();
            mensagem.Campo = "Usuario";
            try
            {
                DbCommand dbCommand = this.m_db.GetStoredProcCommand("dbo.SP_USUARIO_UPDATE");
                byte[] senhacripto = null;
                if (oUsuario.Senha != null)
                {
                    //Criptofrafa a senha atual
                    MD5CryptoServiceProvider hash = new MD5CryptoServiceProvider();
                    UTF8Encoding encode = new UTF8Encoding();
                    senhacripto = hash.ComputeHash(encode.GetBytes(oUsuario.Senha));
                }

                this.m_db.AddInParameter(dbCommand, "@SENHA", DbType.Binary, senhacripto);
                this.m_db.AddInParameter(dbCommand, "@USUARIO_ID", DbType.Int32, oUsuario.UsuarioId);

                resultado.Id = Convert.ToInt32(this.m_db.ExecuteScalar(dbCommand));
                resultado.Sucesso = (resultado.Id >= 0);
                mensagem.Descricoes.Add("Senha atualizada com sucesso!");
                resultado.Mensagens.Add(mensagem);
            }
            catch (Exception ex)
            {
                resultado.Sucesso = false;
                mensagem.Descricoes.Add(ex.Message);
                resultado.Mensagens.Add(mensagem);
            }

            return resultado;
        }
        public Resultado Fechar(List<ProcessoCompraItem> ListaProcessoCompraItem)
        {
            Resultado resultado = new Resultado();
            List<ProcessoCompraItem> ListaOrdenada = ListaProcessoCompraItem.FindAll(delegate(ProcessoCompraItem itm)
            {
                return itm.Status < 4;
            });

            if (ListaOrdenada.Count > 0)
            {
                Mensagem mensagem = new Mensagem();
                mensagem.Campo = "ProcessoCompraFechar";
                mensagem.Descricoes.Add("Processo não pode ser Finalizado! Exite Itens que não foram finalizados.");

                resultado.Mensagens.Add(mensagem);
                resultado.Sucesso = false;
            }
            else {
                resultado = new PCompraData().Atualizar(ListaProcessoCompraItem[0].CodProcesso);

                Mensagem mensagem = new Mensagem();
                mensagem.Campo = "ProcessoCompraAtualizar";
                mensagem.Descricoes.Add("Processo Fechado com Sucesso!");
                resultado.Mensagens.Add(mensagem);
            }

            return resultado;
        }
        public static Mensagem Cria(string campo, string descricao)
        {
            Mensagem m = new Mensagem();
            m.Campo = campo;
            m.Descricoes.Add(descricao);

            return m;
        }
        public List<ProcessoCompra> Listar(ref Resultado resultado)
        {
            List<ProcessoCompra> listaPCompras = new PCompraData().Listar();
            List<ProcessoCompra> ListaAgrupada = new List<ProcessoCompra>();
            if (listaPCompras.Count == 0)
            {
                Mensagem mensagem = new Mensagem();
                mensagem.Campo = "ProcessoCompra";
                mensagem.Descricoes.Add("Nenhum Processo de Compra Iniciado!");

                resultado.Mensagens.Add(mensagem);
                resultado.Sucesso = false;
            }
            else
            {

                List<ProcessoCompra> ListaOrdenada = new List<ProcessoCompra>();
                int oCodProcesso = 0;

                foreach (ProcessoCompra item in listaPCompras)
                {
                    if (oCodProcesso != item.CodProcessoCompra)
                    {
                        oCodProcesso = item.CodProcessoCompra;

                        ListaOrdenada = listaPCompras.FindAll(delegate(ProcessoCompra itm)
                        {
                            return itm.CodProcessoCompra == item.CodProcessoCompra;
                        });

                        if (ListaOrdenada.Count > 1)
                        {
                            string CodProcesso = string.Empty;
                            foreach (ProcessoCompra pitm in ListaOrdenada)
                            {
                                CodProcesso += pitm.Pedidos + "; ";
                            }

                            item.Pedidos = CodProcesso;
                            ListaAgrupada.Add(item);

                        }
                        else
                        {
                            item.Pedidos = item.Pedidos.ToString() + ";";
                            ListaAgrupada.Add(item);
                        }
                    }
                }
                resultado.Sucesso = true;
            }

            return ListaAgrupada;
        }
 public Resultado Inserir(Fornecedor oFornecedor)
 {
     Resultado resultado = new FornecedorData().Inserir(oFornecedor);
     if (resultado.Sucesso)
     {
         Mensagem mensagem = new Mensagem();
         mensagem.Campo = "Fornecedor";
         mensagem.Descricoes.Add("Fornecedor cadastrado com sucesso");
         resultado.Mensagens.Add(mensagem);
     }
     return resultado;
 }
        public Resultado AtualizaItemCompra(ProcessoCompraItem pPCItem)
        {
            Resultado resultado = new Resultado();
            try
            {
                DbCommand dbc = this.m_db.GetStoredProcCommand("dbo.SP_PEDINTEM_UPDATE");

                this.m_db.AddInParameter(dbc, "@CODPEDITENS", DbType.Int32, pPCItem.CodItem);
                this.m_db.AddInParameter(dbc, "@QTDCOMPRADA", DbType.Int32, pPCItem.QuantidadeComprada);

                if (pPCItem.NotaFiscal > 0)
                    this.m_db.AddInParameter(dbc, "@NOTAFISCAL", DbType.Int32, pPCItem.NotaFiscal);

                if (pPCItem.DataEmissaoNota > DateTime.MinValue)
                    this.m_db.AddInParameter(dbc, "@DATAEMISSAONF", DbType.DateTime, pPCItem.DataEmissaoNota);

                if (pPCItem.NotaSerie != "")
                    this.m_db.AddInParameter(dbc, "@SERIENF", DbType.String, pPCItem.NotaSerie);
                this.m_db.AddInParameter(dbc, "@STATUS", DbType.Int32, pPCItem.NextStatus);

                if (pPCItem.DataCompra > DateTime.MinValue)
                    this.m_db.AddInParameter(dbc, "@DTCOMPRA", DbType.DateTime, pPCItem.DataCompra);
                if (pPCItem.DataPrevisaoEntrega > DateTime.MinValue)
                    this.m_db.AddInParameter(dbc, "@DTPREVISAO", DbType.DateTime, pPCItem.DataPrevisaoEntrega);
                if (pPCItem.DataEntrega > DateTime.MinValue)
                    this.m_db.AddInParameter(dbc, "@DTENTREGA", DbType.DateTime, pPCItem.DataEntrega);
                this.m_db.AddInParameter(dbc, "@VALOR", DbType.Decimal, pPCItem.ValorUnitario);
                this.m_db.AddInParameter(dbc, "@FORNECEDOR", DbType.Int32, pPCItem.Fornecedor.FornecedorID);

                if (pPCItem.TpDocumentoFiscal > 0)
                    this.m_db.AddInParameter(dbc, "@TPDOCUMENTO", DbType.Int32, pPCItem.TpDocumentoFiscal);

                this.m_db.AddInParameter(dbc, "@DESCMOTIVOCANCELADO", DbType.String, pPCItem.DescMotivoCancelamento);

                resultado.Id = Convert.ToInt32(this.m_db.ExecuteNonQuery(dbc));
                resultado.Sucesso = (resultado.Id > 0);

            }
            catch (Exception ex)
            {
                resultado.Sucesso = false;
                Mensagem mensagem = new Mensagem();
                mensagem.Campo = "PedidoItemValor";
                mensagem.Descricoes.Add(ex.Message);
                resultado.Mensagens.Add(mensagem);
            }

            return resultado;
        }
        public Resultado Excluir(int FornecedorID)
        {
            Resultado resultado = new FornecedorData().Excluir(FornecedorID);

            if (!resultado.Sucesso)
            {
                Mensagem mensagem = new Mensagem();
                mensagem.Campo = "Fornecedor";
                mensagem.Descricoes.Insert(0, "Erro ao excluir Fornecedor!");

                resultado.Mensagens.Add(mensagem);
                resultado.Sucesso = false;
            }
            return resultado;
        }
        public Resultado Atualiza(Item oItem)
        {
            PedidoData oPedidoData = new PedidoData();
            Resultado resultado = new ItemData().Atualiza(oItem);

            if (!resultado.Sucesso)
            {
                Mensagem mensagem = new Mensagem();
                mensagem.Campo = "AtualizaItem";
                mensagem.Descricoes.Insert(0, "Erro ao Atualizar Item!");

                resultado.Mensagens.Add(mensagem);
                resultado.Sucesso = false;
            }
            return resultado;
        }
        public Resultado Incluir(Item oItem)
        {
            PedidoData oPedidoData = new PedidoData();
            Resultado resultado = new ItemData().Incluir_Item(oItem);

            if (!resultado.Sucesso)
            {
                Mensagem mensagem = new Mensagem();
                mensagem.Campo = "Item";
                mensagem.Descricoes.Insert(0, "Erro ao inserir Item!");

                resultado.Mensagens.Add(mensagem);
                resultado.Sucesso = false;
            }
            return resultado;
        }
        public Resultado Excluir(int UsuarioID)
        {
            UsuarioData oUsuarioData = new UsuarioData();

            Resultado resultado = new UsuarioData().Excluir(UsuarioID);

            if (!resultado.Sucesso)
            {
                Mensagem mensagem = new Mensagem();
                mensagem.Campo = "ExcluirUsuario";
                mensagem.Descricoes.Insert(0, "Erro ao excluir Usuário!");

                resultado.Mensagens.Add(mensagem);
                resultado.Sucesso = false;
            }
            return resultado;
        }
        public List<Modulo> Listar(ref Resultado resultado)
        {
            List<Modulo> listaModulo = new ModuloData().Listar(0);

            if (listaModulo.Count == 0)
            {
                Mensagem mensagem = new Mensagem();
                mensagem.Campo = "Módulo";
                mensagem.Descricoes.Add("Nenhum módulo encontrado!");

                resultado.Mensagens.Add(mensagem);
                resultado.Sucesso = false;
            }
            else
            {
                resultado.Sucesso = true;
            }

            return listaModulo;
        }
        internal List<UnidadeMedida> Listar(ref Resultado resultado)
        {
            List<UnidadeMedida> Lista = new UnidadeMedidaData().Listar();

            if (Lista.Count == 0)
            {
                Mensagem mensagem = new Mensagem();
                mensagem.Campo = "UnidadeMedida";
                mensagem.Descricoes.Add("Nenhuma unidade de medida encontrado!");

                resultado.Mensagens.Add(mensagem);
                resultado.Sucesso = false;
            }
            else
            {
                resultado.Sucesso = true;
            }

            return Lista;
        }
        public Fornecedor Obter(ref Resultado resultado, int FornecedorID)
        {
            Fornecedor oFornecedor = new FornecedorData().Obter(FornecedorID);

            if (resultado.Sucesso)
            {
                resultado.Sucesso = true;
            }
            else
            {
                Mensagem mensagem = new Mensagem();
                mensagem.Campo = "Fornecedor";
                mensagem.Descricoes.Add("Nenhuma Fornecedor encontrado!");

                resultado.Mensagens.Add(mensagem);
                resultado.Sucesso = false;
            }

            return oFornecedor;
        }
        public List<Ramo> Listar(ref Resultado resultado)
        {
            List<Ramo> listaRamo = new RamoData().Listar();

            if (listaRamo.Count == 0)
            {
                Mensagem mensagem = new Mensagem();
                mensagem.Campo = "Ramo";
                mensagem.Descricoes.Add("Nenhum ramo encontrado!");

                resultado.Mensagens.Add(mensagem);
                resultado.Sucesso = false;
            }
            else
            {
                resultado.Sucesso = true;
            }

            return listaRamo;
        }
        public List<Projetos> Listar(ref Resultado resultado)
        {
            List<Projetos> listaProjetos = new ProjetosData().Listar();

            if (listaProjetos.Count == 0)
            {
                Mensagem mensagem = new Mensagem();
                mensagem.Campo = "Projetos";
                mensagem.Descricoes.Add("Nenhuma projeto encontrado!");

                resultado.Mensagens.Add(mensagem);
                resultado.Sucesso = false;
            }
            else
            {
                resultado.Sucesso = true;
            }

            return listaProjetos;
        }
        public List<Categoria> Listar(ref Resultado resultado)
        {
            List<Categoria> listaCategoria = new CategoriaData().Listar();

            if (listaCategoria.Count == 0)
            {
                Mensagem mensagem = new Mensagem();
                mensagem.Campo = "Categoria";
                mensagem.Descricoes.Add("Nenhuma categoria encontrada!");

                resultado.Mensagens.Add(mensagem);
                resultado.Sucesso = false;
            }
            else
            {
                resultado.Sucesso = true;
            }

            return listaCategoria;
        }
        //#region Métodos
        //#region Validação de Campos
        ///// <summary>
        ///// Verificar se já existe um algum usuário com mesmo login que está sendo pesquisado
        ///// </summary>
        internal Resultado ValidarPedido(Pedido oPedido)
        {
            //UsuarioData usuarioData = new UsuarioData();
            Mensagem mensagem = new Mensagem();
            Resultado resultado = new Resultado();

            if (oPedido.Itens != null )
            {
                resultado.Sucesso = true;
            }
            else
            {
                 mensagem.Campo = "Pedido";
                mensagem.Descricoes.Add("Adicione um ao menos um item para fechar o Pedido!");
                resultado.Mensagens.Add(mensagem);
                resultado.Sucesso = false;
                resultado.Sucesso = false;
            }
            return resultado;
        }
        public List<Aprovacao> ListaAprovacao(ref Resultado resultado)
        {
            List<Aprovacao> oListaAprovacao = new PedidoData().ListaAprovacao();

            if (oListaAprovacao.Count == 0)
            {
                Mensagem mensagem = new Mensagem();
                mensagem.Campo = "ItensAprovacao";
                mensagem.Descricoes.Add("Não há nunhum item para aprovação!");

                resultado.Mensagens.Add(mensagem);
                resultado.Sucesso = false;
            }
            else
            {
                resultado.Sucesso = true;
            }

            return oListaAprovacao;
        }
        public List<Item> Listar(int CategoriaID, ref Resultado resultado)
        {
            List<Item> listaItem = new ItemData().Listar(CategoriaID);

            if (listaItem.Count == 0)
            {
                Mensagem mensagem = new Mensagem();
                mensagem.Campo = "Item";
                mensagem.Descricoes.Add("Nenhuma item encontrado!");

                resultado.Mensagens.Add(mensagem);
                resultado.Sucesso = false;
            }
            else
            {

                resultado.Sucesso = true;
            }

            return listaItem;
        }
        /// <summary>
        /// Incluir um novo Grupo
        /// </summary>
        /// <param name="Grupo">Grupo a ser incluído</param>
        /// <returns>Resultado</returns>
        public Resultado Incluir(Pedido oPedido)
        {
            PedidoData oPedidoData = new PedidoData();
            Resultado resultado = new PedidoValidation().ValidarPedido(oPedido);

            if (resultado.Sucesso)
            {
                resultado = oPedidoData.Incluir(oPedido);

                if (!resultado.Sucesso)
                {
                    Mensagem mensagem = new Mensagem();
                    mensagem.Campo = "Pedido";
                    mensagem.Descricoes.Insert(0, "Erro ao inserir Pedido!");

                    resultado.Mensagens.Add(mensagem);
                    resultado.Sucesso = false;
                }
            }
            return resultado;
        }
        public List<Fornecedor> Listar(ref Resultado resultado, Fornecedor oFornecedor)
        {
            List<Fornecedor> listaFornecedor = new FornecedorData().Listar(oFornecedor);

            if (listaFornecedor.Count == 0)
            {
                Mensagem mensagem = new Mensagem();
                mensagem.Campo = "Fornecedor";
                mensagem.Descricoes.Add("Nenhuma Fornecedor encontrado!");

                resultado.Mensagens.Add(mensagem);
                resultado.Sucesso = false;
            }
            else
            {

                resultado.Sucesso = true;
            }

            return listaFornecedor;
        }
        public List<TipoDocumento> Listar(ref Resultado resultado)
        {
            List<TipoDocumento> listaItem = new TipoDocumentoData().Listar();

            if (listaItem.Count == 0)
            {
                Mensagem mensagem = new Mensagem();
                mensagem.Campo = "TipoDocumento";
                mensagem.Descricoes.Add("Nenhum Tipo de Documento Fiscal encontrado!");

                resultado.Mensagens.Add(mensagem);
                resultado.Sucesso = false;
            }
            else
            {

                resultado.Sucesso = true;
            }

            return listaItem;
        }
        public Resultado Atualizar(int PerfilID, String DescPerfil)
        {
            Resultado resultado = new Resultado();
            try
            {
                DbCommand dbCommand = this.m_db.GetStoredProcCommand("dbo.SP_ALTERA_PERFIL");

                this.m_db.AddInParameter(dbCommand, "@DESCRICAO", DbType.String, DescPerfil.ToUpper());
                this.m_db.AddInParameter(dbCommand, "@PERFILID", DbType.Int32, PerfilID);

                resultado.Sucesso = (this.m_db.ExecuteNonQuery(dbCommand) > 0);

            }
            catch (Exception ex)
            {
                resultado.Sucesso = false;
                Mensagem mensagem = new Mensagem();
                mensagem.Campo = "PerfilALTERAR";
                mensagem.Descricoes.Add(ex.Message);
                resultado.Mensagens.Add(mensagem);
            }
            return resultado;
        }
        public Resultado Aprovar(int CodPedItem)
        {
            Resultado resultado = new Resultado();
            try
            {

                DbCommand dbc = this.m_db.GetStoredProcCommand("dbo.SP_APROVACAO_APROVA");
                this.m_db.AddInParameter(dbc, "@CODPEDINTES", DbType.Int32, CodPedItem);

                resultado.Id = this.m_db.ExecuteNonQuery(dbc);
                resultado.Sucesso = (resultado.Id > 0);

            }
            catch (Exception ex)
            {
                resultado.Sucesso = false;
                Mensagem mensagem = new Mensagem();
                mensagem.Campo = "Aprovacao";
                mensagem.Descricoes.Add(ex.Message);
                resultado.Mensagens.Add(mensagem);
            }

            return resultado;
        }
        public Resultado Atualizar(int CodProcessoCompra)
        {
            Resultado resultado = new Resultado();
            try
            {

                DbCommand dbc = this.m_db.GetStoredProcCommand("dbo.SP_PROCESSOCOMPRA_UPDATE");
                this.m_db.AddInParameter(dbc, "@PROCESSOCOMPRA", DbType.Int32, CodProcessoCompra);

                resultado.Id = Convert.ToInt32(this.m_db.ExecuteNonQuery(dbc));
                resultado.Sucesso = (resultado.Id > 0);

            }
            catch (SqlException ex)
            {
                resultado.Sucesso = false;
                Mensagem mensagem = new Mensagem();
                mensagem.Campo = "ProcessoCompraAtualizar";
                mensagem.Descricoes.Add(ex.Message);
                resultado.Mensagens.Add(mensagem);
            }

            return resultado;
        }
        public Resultado Incluir(Grupo oGrupo)
        {
            Resultado resultado = new Resultado();

            try
            {
                DbCommand dbCommand = this.m_db.GetStoredProcCommand("dbo.SPR_GRUPO_INSERE");
                this.m_db.AddInParameter(dbCommand, "@NOME", DbType.String, oGrupo.Nome);

                resultado.Id = Convert.ToInt32(this.m_db.ExecuteScalar(dbCommand));
                resultado.Sucesso = (resultado.Id > 0);

            }
            catch (Exception ex)
            {
                resultado.Sucesso = false;
                Mensagem mensagem = new Mensagem();
                mensagem.Campo = "INSERIR";
                mensagem.Descricoes.Add(ex.Message);
                resultado.Mensagens.Add(mensagem);
            }

            return resultado;
        }