Example #1
0
        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);
        }
Example #2
0
        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);
        }
Example #3
0
        /// <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);
        }
Example #4
0
        /// <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))
                       ));
        }