/// <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); }
/// <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); }
/// <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); }