示例#1
0
        /// <summary>
        /// Obtém uma taxa de entrega pelo bairro, se não existir, retorna nulo
        /// </summary>
        /// <param name="requisicaoDto"></param>
        /// <param name="retornoDto"></param>
        /// <returns></returns>
        public bool ObterTaxaPorBairro(RequisicaoObterTaxaPorBairroDto requisicaoDto, ref RetornoObterDto <TaxaEntregaDto> retornoDto)
        {
            string mensagemErro = "";

            if (!UtilitarioBll.ValidarIdentificacao(requisicaoDto.Identificacao, requisicaoDto.IdUsuario, ref mensagemErro))
            {
                retornoDto.Retorno  = false;
                retornoDto.Mensagem = mensagemErro;
                logBll.ResgistrarLog(requisicaoDto, LogRecursos.ObterTaxaPorBairro, Guid.Empty, mensagemErro);
                return(false);
            }

            // Obter a query primária
            IQueryable <TaxaEntregaVo> query;

            if (!this.ObterQueryBd(out query, ref mensagemErro))
            {
                retornoDto.Mensagem = $"Houve um problema ao listar as taxas de entrega: {mensagemErro}";
                retornoDto.Retorno  = false;

                logBll.ResgistrarLog(requisicaoDto, LogRecursos.ObterTaxaPorBairro, Guid.Empty, retornoDto.Mensagem);
                return(false);
            }

            string bairro = string.IsNullOrWhiteSpace(requisicaoDto.BairroCidade) ? "" : requisicaoDto.BairroCidade.Trim();

            query = query.Where(p => p.BairroCidade == bairro);

            TaxaEntregaVo taxaEntregaVo = query.FirstOrDefault();

            if (taxaEntregaVo != null)
            {
                TaxaEntregaDto taxaEntregaDto = new TaxaEntregaDto();
                if (!ConverterVoParaDto(taxaEntregaVo, ref taxaEntregaDto, ref mensagemErro))
                {
                    retornoDto.Mensagem = mensagemErro;
                    retornoDto.Retorno  = false;

                    logBll.ResgistrarLog(requisicaoDto, LogRecursos.ObterTaxaPorBairro, Guid.Empty, retornoDto.Mensagem);
                    return(false);
                }

                retornoDto.Entidade = taxaEntregaDto;
            }
            else
            {
                retornoDto.Entidade = null;
            }

            retornoDto.Retorno = true;
            return(true);
        }
示例#2
0
        /// <summary>
        /// Obtem a taxa de entrega de um bairro
        /// </summary>
        /// <param name="bairro"></param>
        /// <returns></returns>
        public string ObterTaxaPorBairro(string bairroCidade)
        {
            RequisicaoObterTaxaPorBairroDto requisicaoDto = new RequisicaoObterTaxaPorBairroDto()
            {
                IdUsuario     = SessaoUsuario.SessaoLogin.IdUsuario,
                Identificacao = SessaoUsuario.SessaoLogin.Identificacao,
                BairroCidade  = bairroCidade
            };

            // Consumir o serviço
            RetornoObterDto <TaxaEntregaDto> retornoDto = new RetornoObterDto <TaxaEntregaDto>();
            TaxaEntregaBll taxaEntregaBll = new TaxaEntregaBll(true);

            taxaEntregaBll.ObterTaxaPorBairro(requisicaoDto, ref retornoDto);

            string retorno = new JavaScriptSerializer().Serialize(retornoDto);

            return(retorno);
        }
示例#3
0
        /// <summary>
        /// Inclui ou atualiza os dados de uma taxa de entrega
        /// </summary>
        /// <param name="requisicaoDto"></param>
        /// <param name="taxaEntregaDto"></param>
        /// <param name="mensagemErro"></param>
        /// <returns></returns>
        internal bool IncluirEditar(BaseRequisicaoDto requisicaoDto, TaxaEntregaDto taxaEntregaDto, ref string mensagemErro)
        {
            if (taxaEntregaDto == null)
            {
                mensagemErro = "Preencha os dados da taxa que deseja incluir/editar.";
                return(false);
            }

            RequisicaoObterTaxaPorBairroDto requisicaoObterDto = new RequisicaoObterTaxaPorBairroDto()
            {
                Identificacao = requisicaoDto.Identificacao,
                IdUsuario     = requisicaoDto.IdUsuario,
                BairroCidade  = taxaEntregaDto.BairroCidade
            };

            RetornoObterDto <TaxaEntregaDto> retornoObterDto = new RetornoObterDto <TaxaEntregaDto>();

            if (!ObterTaxaPorBairro(requisicaoObterDto, ref retornoObterDto))
            {
                mensagemErro = retornoObterDto.Mensagem;
                logBll.ResgistrarLog(requisicaoDto, LogRecursos.IncluirEditarTaxaEntrega, taxaEntregaDto.Id, mensagemErro);
                return(false);
            }

            // Incluir se não existir
            if (retornoObterDto.Entidade == null)
            {
                taxaEntregaDto.Id = Guid.NewGuid();
                RequisicaoEntidadeDto <TaxaEntregaDto> requisicaoIncluirDto = new RequisicaoEntidadeDto <TaxaEntregaDto>()
                {
                    EntidadeDto   = taxaEntregaDto,
                    Identificacao = requisicaoDto.Identificacao,
                    IdUsuario     = requisicaoDto.IdUsuario
                };

                RetornoDto retornoDto = new RetornoDto();
                if (!Incluir(requisicaoIncluirDto, ref retornoDto))
                {
                    mensagemErro = retornoDto.Mensagem;
                    return(false);
                }
            }
            else
            {
                // verificar se precisa editar
                if (taxaEntregaDto.ValorTaxa != retornoObterDto.Entidade.ValorTaxa)
                {
                    retornoObterDto.Entidade.ValorTaxa = taxaEntregaDto.ValorTaxa;
                    RequisicaoEntidadeDto <TaxaEntregaDto> requisicaoEditarDto = new RequisicaoEntidadeDto <TaxaEntregaDto>()
                    {
                        EntidadeDto   = retornoObterDto.Entidade,
                        Identificacao = requisicaoDto.Identificacao,
                        IdUsuario     = requisicaoDto.IdUsuario
                    };

                    RetornoDto retornoDto = new RetornoDto();
                    if (!Editar(requisicaoEditarDto, ref retornoDto))
                    {
                        mensagemErro = retornoDto.Mensagem;
                        return(false);
                    }
                }
            }

            return(true);
        }