public Task Invoke() { _logger.LogInformation("> PedidoFinalizadoJob: Iniciando"); var pedidos = _pedidoRepository.ObterTodosPedidosPorSituacao(PedidoSituacaoConstant.ENTREGUE); foreach (var pedido in pedidos) { var pedidoSituacaoDB = pedido.PedidoSituacoes.FirstOrDefault(a => a.Situacao == PedidoSituacaoConstant.ENTREGUE); if (pedidoSituacaoDB != null) { int tolerancia = _configuration.GetValue <int>("Finalizado:Days"); if (DateTime.Now >= pedidoSituacaoDB.Data.AddDays(tolerancia)) { PedidoSituacao pedidoSituacao = new PedidoSituacao(); pedidoSituacao.PedidoId = pedido.Id; pedidoSituacao.Situacao = PedidoSituacaoConstant.FINALIZADO; pedidoSituacao.Data = DateTime.Now; pedidoSituacao.Dados = string.Empty; _pedidoSituacaoRepository.Cadastrar(pedidoSituacao); pedido.Situacao = PedidoSituacaoConstant.FINALIZADO; _pedidoRepository.Atualizar(pedido); } } } _logger.LogInformation("> PedidoFinalizadoJob: Finalizado"); return(Task.CompletedTask); }
public void Excluir(int id) { PedidoSituacao pedidoSituacao = ObterPedidoSituacao(id); _banco.Remove(pedidoSituacao); _banco.SaveChanges(); }
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); }
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() { _logger.LogInformation("> PedidoPagamentoSituacaoJob: Iniciando"); var pedidosRealizados = _pedidoRepository.ObterTodosPedidosPorSituacao(PedidoSituacaoConstant.PEDIDO_REALIZADO); foreach (var pedido in pedidosRealizados) { string situacao = null; var transaction = _gerenciarPagarMe.ObterTransacao(pedido.TransactionId); int toleranciaDias = _configuration.GetValue <int>("Pagamento:PagarMe:BoletoDiaExpiracao") + _configuration.GetValue <int>("Pagamento:PagarMe:BoletoDiaToleranciaVencido"); if (transaction.Status == TransactionStatus.WaitingPayment && transaction.PaymentMethod == PaymentMethod.Boleto && DateTime.Now > pedido.DataRegistro.AddDays(toleranciaDias)) { situacao = PedidoSituacaoConstant.PAGAMENTO_NAO_REALIZADO; _produtoRepository.DevolverProdutosEstoque(pedido); } if (transaction.Status == TransactionStatus.Refused) { situacao = PedidoSituacaoConstant.PAGAMENTO_REJEITADO; _produtoRepository.DevolverProdutosEstoque(pedido); } if (transaction.Status == TransactionStatus.Authorized || transaction.Status == TransactionStatus.Paid) { situacao = PedidoSituacaoConstant.PAGAMENTO_APROVADO; //ENVIAR E-MAIL CONFIRMAÇÃO DO PAGAMENTO _gerenciarEmail.EnviarConfirmacaoPagamento(pedido); } if (transaction.Status == TransactionStatus.Refunded) { situacao = PedidoSituacaoConstant.ESTORNO; _produtoRepository.DevolverProdutosEstoque(pedido); } if (situacao != null) { TransacaoPagarMe transacaoPagarMe = _mapper.Map <Transaction, TransacaoPagarMe>(transaction); transacaoPagarMe.Customer.Gender = (pedido.Cliente.Sexo == "M") ? Gender.Male : Gender.Female; PedidoSituacao pedidoSituacao = new PedidoSituacao(); pedidoSituacao.PedidoId = pedido.Id; pedidoSituacao.Situacao = situacao; pedidoSituacao.Data = transaction.DateUpdated.Value; pedidoSituacao.Dados = JsonConvert.SerializeObject(transacaoPagarMe); _pedidoSituacaoRepository.Cadastrar(pedidoSituacao); pedido.Situacao = situacao; _pedidoRepository.Atualizar(pedido); } } _logger.LogInformation("> PedidoPagamentoSituacaoJob: Finalizado"); return(Task.CompletedTask); }
public async Task SalvarPedidoSituacao(int pedidoId, object dados, string situacao) { var pedidoSituacao = new PedidoSituacao(); pedidoSituacao.Data = DateTime.Now; pedidoSituacao.Dados = JsonConvert.SerializeObject(dados); pedidoSituacao.PedidoId = pedidoId; pedidoSituacao.Situacao = situacao; await _pedidoSituacaoRepository.Adicionar(pedidoSituacao); }
private void SalvarPedidoSituacao(int pedidoId, object dados, string situacao) { var pedidoSituacao = new PedidoSituacao(); pedidoSituacao.Data = DateTime.Now; pedidoSituacao.Dados = JsonConvert.SerializeObject(dados); pedidoSituacao.PedidoId = pedidoId; pedidoSituacao.Situacao = situacao; _pedidoSituacaoRepository.Cadastrar(pedidoSituacao); }
private void SalvarPedidoSituacao(Pedido pedido, string situacao, object objeto = null) { PedidoSituacao pedidoSituacao = _mapper.Map <Pedido, PedidoSituacao>(pedido); pedidoSituacao.Situacao = situacao; if (objeto != null) { pedidoSituacao.Dados = JsonConvert.SerializeObject(objeto); } _pedidoSituacaoRepository.Cadastrar(pedidoSituacao); }
private async Task SalvarPedidoSituacao(List <ItemVendaViewModel> produtos) { TransactionProduto tp = new TransactionProduto { Transaction = transacaoPagarMe, Produtos = produtos }; PedidoSituacao pedidoSituacao = _mapper.Map <Pedido, PedidoSituacao>(pedido); pedidoSituacao = _mapper.Map(tp, pedidoSituacao); pedidoSituacao.Situacao = PedidoSituacaoConstant.PEDIDO_REALIZADO; await _pedidoSituacaoRepository.Adicionar(pedidoSituacao); }
private void SalvarPedidoSituacao(List <ProdutoItem> produtos, TransacaoPagarMe transacaoPagarMe, Pedido pedido) { TransactionProduto tp = new TransactionProduto { Transaction = transacaoPagarMe, Produtos = produtos }; PedidoSituacao pedidoSituacao = _mapper.Map <Pedido, PedidoSituacao>(pedido); pedidoSituacao = _mapper.Map <TransactionProduto, PedidoSituacao>(tp, pedidoSituacao); pedidoSituacao.Situacao = PedidoSituacaoConstant.PEDIDO_REALIZADO; _pedidoSituacaoRepository.Cadastrar(pedidoSituacao); }
public async Task <IViewComponentResult> InvokeAsync(Pedido pedido) { List <PedidoSituacao> situacoes = pedido.PedidoSituacoes; List <PedidoStatus> statusFinal = statusDefault; if (pedido.Situacao == PedidoSituacaoConstant.PAGAMENTO_NAO_REALIZADO) { statusFinal = statusPaymentUnfinished; } else if (pedido.Situacao == PedidoSituacaoConstant.ESTORNO) { statusFinal = statusReturned; PedidoStatus pedidoStatus = statusFinal.Where(a => a.Status == PedidoSituacaoConstant.NF_EMITIDA).FirstOrDefault(); PedidoSituacao pedidoSituacao = situacoes.Where(a => a.Situacao == PedidoSituacaoConstant.NF_EMITIDA).FirstOrDefault(); if (pedidoSituacao == null) { statusFinal.Remove(pedidoStatus); } } else if (statusDevolution.Where(a => a.Status == pedido.Situacao).FirstOrDefault() != null) { statusFinal = statusDevolution; if (pedido.Situacao == PedidoSituacaoConstant.DEVOLUCAO_REJEITADA) { statusFinal.Remove(statusFinal[2]); statusFinal.Remove(statusFinal[2]); } else { statusFinal.Remove(statusFinal[4]); } } foreach (PedidoSituacao situacao in situacoes) { PedidoStatus pedidoStatus = statusFinal.Where(a => a.Status == situacao.Situacao).FirstOrDefault(); if (pedidoStatus != null) { pedidoStatus.Data = situacao.Data; pedidoStatus.Existe = true; } } return(View(statusFinal)); }
public Task Invoke() { _logger.LogInformation("--- SCHEDULER PedidoPagamentoInvocable (inicio) ---"); List <Pedido> pedidos = _pedidoRepository.ObterPedidosPorSituacao(PedidoSituacaoConstant.AGUARDANDO_PAGAMENTO); foreach (var pedido in pedidos) { string Situacao = null; var transaction = _gerenciarPagarMe.ObterTransacao(pedido.TransactionId); if (transaction.Status == TransactionStatus.WaitingPayment && transaction.PaymentMethod == PaymentMethod.Boleto && transaction.BoletoExpirationDate < DateTime.Now) { Situacao = PedidoSituacaoConstant.PAGAMENTO_NAO_REALIZADO; _produtoRepository.DevolverEstoque(pedido); } else if (transaction.Status == TransactionStatus.Refused) { Situacao = PedidoSituacaoConstant.PAGAMENTO_REJEITADO; _produtoRepository.DevolverEstoque(pedido); } else if (transaction.Status == TransactionStatus.Authorized || transaction.Status == TransactionStatus.Paid) { Situacao = PedidoSituacaoConstant.PAGAMENTO_APROVADO; } else if (transaction.Status == TransactionStatus.Refunded) { Situacao = PedidoSituacaoConstant.ESTORNO; _produtoRepository.DevolverEstoque(pedido); } if (Situacao != null) { //TransacaoPagarMe transacaoPagarMe = _mapper.Map<Transaction, TransacaoPagarMe>(transaction); PedidoSituacao pedidoSituacao = new PedidoSituacao(); pedidoSituacao.PedidoId = pedido.Id; pedidoSituacao.Situacao = Situacao; pedidoSituacao.Data = transaction.DateUpdated.Value; _pedidoSituacaoRepository.Cadastrar(pedidoSituacao); pedido.Situacao = Situacao; _pedidoRepository.Atualizar(pedido); } } _logger.LogInformation("--- SCHEDULER PedidoPagamentoInvocable (fim) ---"); return(Task.CompletedTask); }
public Task Invoke() { List <Pedido> pedidos = _pedidoRepository.ObterPedidosPorSituacao(PedidoSituacaoConstant.ENTREGUE); foreach (Pedido pedido in pedidos) { if (DateTime.Now >= pedido.DataRegistro.AddDays(7)) { pedido.Situacao = PedidoSituacaoConstant.FINALIZADO; pedido.DataRegistro = DateTime.Now; PedidoSituacao pedidoSituacao = _mapper.Map <Pedido, PedidoSituacao>(pedido); pedidoSituacao.Situacao = PedidoSituacaoConstant.FINALIZADO; _pedidoRepository.Atualizar(pedido); _pedidoSituacaoRepository.Cadastrar(pedidoSituacao); } } return(Task.CompletedTask); }
private Pedido SalvarPedido(List <ProdutoItem> produtos, Transaction pagarMe) { TransacaoPagarMe transacao = _mapper.Map <Transaction, TransacaoPagarMe>(pagarMe); Pedido pedido = _mapper.Map <TransacaoPagarMe, Pedido>(transacao); pedido = _mapper.Map(produtos, pedido); pedido.Situacao = PedidoSituacaoConstant.AGUARDANDO_PAGAMENTO; _pedidoRepository.Cadastrar(pedido); PedidoSituacao pedidoSituacao = _mapper.Map <Pedido, PedidoSituacao>(pedido); pedidoSituacao.Situacao = PedidoSituacaoConstant.AGUARDANDO_PAGAMENTO; _pedidoSituacaoRepository.Cadastrar(pedidoSituacao); BaixaEstoque(produtos); _cookie.Excluir("Carrinho.Compras"); _cookie.Excluir("Carrinho.ValorPrazoFrete"); return(pedido); }
public void Atualizar(PedidoSituacao pedidoSituacao) { _banco.Update(pedidoSituacao); _banco.SaveChanges(); }
public void Cadastrar(PedidoSituacao pedidoSituacao) { _banco.Add(pedidoSituacao); _banco.SaveChanges(); }
public Task Invoke() { var pedidosRealizados = _pedidoRepository.ObterTodosPedidosRealizados(); foreach (var pedido in pedidosRealizados) { string situacao = null; var transaction = _gerenciarPagarMe.ObterTransacao(pedido.TransactionId); int toleranciaDias = _configuration.GetValue <int>("Pagamento:PagarMe:BoletoDiaExpiracao") + _configuration.GetValue <int>("Pagamento:PagarMe:BoletoDiaToleranciaVencido"); //DateTime dt = DateTime.Parse("30/06/2020"); if (transaction.Status == TransactionStatus.WaitingPayment && transaction.PaymentMethod == PaymentMethod.Boleto && DateTime.Now /*dt*/ > pedido.DataRegistro.AddDays(toleranciaDias)) { situacao = PedidoSituacaoConstant.PAGAMENTO_NAO_REALIZADO; DevolverProdutosEstoque(pedido); } if (transaction.Status == TransactionStatus.Refused) { situacao = PedidoSituacaoConstant.PAGAMENTO_REJEITADO; DevolverProdutosEstoque(pedido); } if (transaction.Status == TransactionStatus.Authorized || transaction.Status == TransactionStatus.Paid) { situacao = PedidoSituacaoConstant.PAGAMENTO_APROVADO; } if (transaction.Status == TransactionStatus.Refunded) { situacao = PedidoSituacaoConstant.ESTORNO; DevolverProdutosEstoque(pedido); } if (situacao != null) { TransacaoPagarMe transacaoPagarMe = _mapper.Map <Transaction, TransacaoPagarMe>(transaction); transacaoPagarMe.Customer.Gender = (pedido.Cliente.Sexo == "M") ? Gender.Male : Gender.Female; PedidoSituacao pedidoSituacao = new PedidoSituacao(); pedidoSituacao.PedidoId = pedido.Id; pedidoSituacao.Situacao = situacao; pedidoSituacao.Data = transaction.DateUpdated.Value; pedidoSituacao.Dados = JsonConvert.SerializeObject(transacaoPagarMe); _pedidoSituacaoRepository.Cadastrar(pedidoSituacao); pedido.Situacao = situacao; _pedidoRepository.Atualizar(pedido); } } Debug.WriteLine("--" + DateTime.Now + " ==> PedidoPagamentoSituacaoJob - Executado!--"); return(Task.CompletedTask); }