public Task Invoke() { _logger.LogInformation("> PedidoEntregueJob: Iniciando"); var pedidos = _pedidoRepository.ObterTodosPedidosPorSituacao(PedidoSituacaoConstant.EM_TRANSPORTE); foreach (var pedido in pedidos) { var result = new Correios.NET.Services().GetPackageTracking(pedido.FreteCodRastreamento); if (result.IsDelivered) { PedidoSituacao pedidoSituacao = new PedidoSituacao(); pedidoSituacao.PedidoId = pedido.Id; pedidoSituacao.Situacao = PedidoSituacaoConstant.ENTREGUE; pedidoSituacao.Data = result.DeliveryDate.Value; pedidoSituacao.Dados = JsonConvert.SerializeObject(result); _pedidoSituacaoRepository.Cadastrar(pedidoSituacao); pedido.Situacao = PedidoSituacaoConstant.ENTREGUE; _pedidoRepository.Atualizar(pedido); } } _logger.LogInformation("> PedidoEntregueJob: Finalizado"); return(Task.CompletedTask); }
public Task Invoke() { List <Pedido> pedidos = _pedidoRepository.ObterPedidosPorSituacao(PedidoSituacaoConstant.DEVOLVER); foreach (Pedido pedido in pedidos) { try { var result = new Correios.NET.Services().GetPackageTracking(pedido.FreteCodRastreamento); if (result.IsDelivered) { pedido.Situacao = PedidoSituacaoConstant.DEVOLVER_ENTREGUE; pedido.DataRegistro = result.DeliveryDate.Value; PedidoSituacao pedidoSituacao = _mapper.Map <Pedido, PedidoSituacao>(pedido); pedidoSituacao.Situacao = PedidoSituacaoConstant.DEVOLVER_ENTREGUE; pedidoSituacao.Data = result.DeliveryDate.Value; _pedidoRepository.Atualizar(pedido); _pedidoSituacaoRepository.Cadastrar(pedidoSituacao); } } catch { } } return(Task.CompletedTask); }
/// <summary> /// Altera os dados do endereço /// </summary> /// <param name="pEndereco"></param> public void AlterarDadosEndereco(Entidades.Nutricionista.Endereco pEndereco) { if (pEndereco == null) { throw new ArgumentException("O endereço é obrigatório."); } if (pEndereco.IdEndereco == 0) { throw new ArgumentException("O id do endereço é obrigatório."); } if (pEndereco.IdUsuario == 0) { throw new ArgumentException("O id do usuário logado é obrigatório."); } if (string.IsNullOrEmpty(pEndereco.CEP)) { throw new ArgumentException("O CEP não pode ser nulo."); } Address endereco = new Correios.NET.Services().GetAddresses(pEndereco.CEP.Replace("-", "")).FirstOrDefault(); if (endereco == null) { throw new Exception("CEP não localizado."); } if (!endereco.Street.Equals(pEndereco.Logradouro)) { throw new Exception("Logradouro não corresponde com a cidade informada pelo CEP"); } if (!endereco.District.Equals(pEndereco.Bairro)) { throw new Exception("Cidade não corresponde com a cidade informada pelo CEP"); } if (!endereco.City.Equals(pEndereco.Cidade)) { throw new Exception("Cidade não corresponde com a cidade informada pelo CEP"); } if (!Enum.GetValues(typeof(UnidadeFederacaoEnum)) .Cast <UnidadeFederacaoEnum>() .FirstOrDefault(c => c.GetDefaultValue().Equals(endereco.State)).GetDefaultValue().Equals(pEndereco.UF.GetDefaultValue())) { throw new Exception("UF não corresponde com a cidade informada pelo CEP"); } _EnderecoRepository.AlterarDadosEndereco(pEndereco); }
/// <summary> /// Retorna um endereço a partir do CEP /// </summary> /// <param name="pCEP">Número do CEP</param> /// <param name="pIdUsuario">ID do usuário</param> /// <returns>Endereço ou NULL quando não encontrado</returns> public Entidades.Nutricionista.Endereco ConsultarEnderecoPorCEP(string pCEP, int pIdUsuario) { if (string.IsNullOrEmpty(pCEP)) { throw new ArgumentException("O CEP não pode ser nulo."); } Address endereco = new Correios.NET.Services().GetAddresses(pCEP.Replace("-", "")).FirstOrDefault(); if (endereco == null) { throw new Exception("CEP não localizado."); } return(new Entidades.Nutricionista.Endereco( pIdUsuario, pLogradouro: endereco.Street, pBairro: endereco.District, pCidade: endereco.City, pCEP: pCEP, pUF: Enum.GetValues(typeof(UnidadeFederacaoEnum)) .Cast <UnidadeFederacaoEnum>() .FirstOrDefault(c => c.GetDefaultValue().Equals(endereco.State)) )); }