예제 #1
0
        /// <summary>
        /// Obtém uma conta pelo ID
        /// </summary>
        /// <param name="requisicaoDto"></param>
        /// <param name="retornoDto"></param>
        /// <returns></returns>
        public override bool Obter(RequisicaoObterDto requisicaoDto, ref RetornoObterDto <ContaPagarDto> retornoDto)
        {
            if (!base.Obter(requisicaoDto, ref retornoDto))
            {
                return(false);
            }

            string       mensagemErro = "";
            ContaPagarVo contaPagarVo;

            if (!ObterPorIdBd(requisicaoDto.Id, out contaPagarVo, ref mensagemErro))
            {
                retornoDto.Mensagem = "Erro ao obter a conta: " + mensagemErro;
                retornoDto.Retorno  = false;

                logBll.ResgistrarLog(requisicaoDto, LogRecursos.ObterContaPagar, requisicaoDto.Id, retornoDto.Mensagem);
                return(false);
            }

            ContaPagarDto contaPagarDto = new ContaPagarDto();

            if (!ConverterVoParaDto(contaPagarVo, ref contaPagarDto, ref mensagemErro))
            {
                retornoDto.Mensagem = "Erro ao converter a conta: " + mensagemErro;
                retornoDto.Retorno  = false;

                logBll.ResgistrarLog(requisicaoDto, LogRecursos.ObterContaPagar, requisicaoDto.Id, retornoDto.Mensagem);
                return(false);
            }

            if (contaPagarDto.IdFornecedor != null && contaPagarDto.IdFornecedor != Guid.Empty)
            {
                requisicaoDto.Id = contaPagarDto.IdFornecedor.Value;
                RetornoObterDto <FornecedorDto> retornoFornecedorDto = new RetornoObterDto <FornecedorDto>();

                FornecedorBll fornecedorBll = new FornecedorBll(pizzaByteContexto, false);
                if (!fornecedorBll.Obter(requisicaoDto, ref retornoFornecedorDto))
                {
                    retornoDto.Mensagem = retornoFornecedorDto.Mensagem;
                    retornoDto.Retorno  = false;

                    return(false);
                }

                if (retornoFornecedorDto.Mensagem == "Erro ao obter o fornecedor: Cadastro não encontrado")
                {
                    contaPagarDto.NomeFornecedor = "Cadastro não encontro";
                }
                else
                {
                    contaPagarDto.NomeFornecedor = retornoFornecedorDto.Entidade.NomeFantasia + " (CNPJ: " + UtilitarioBll.RetornarCnpjFormatado(retornoFornecedorDto.Entidade.Cnpj) + ")";
                }
            }


            retornoDto.Entidade = contaPagarDto;
            retornoDto.Mensagem = "Ok";
            retornoDto.Retorno  = true;
            return(true);
        }