private void CarregarPassagem(ProcessadorPassagemReprovadaRequest request, PassagemReprovadaArtespDto passagemReprovadaDto) { Log.Debug($"Passagem ID: {request.PassagemReprovadaArtesp.MensagemItemId} - Fluxo: ProcessadorPassagemReprovadaHandler | Preencher Passagem"); passagemReprovadaDto.Passagem = new PassagemDto { AdesaoId = request.PassagemReprovadaArtesp.Adesao.Id.TryToInt(), CategoriaDetectadaId = request.PassagemReprovadaArtesp.CategoriaDetectada.Id.TryToInt(), CategoriaCobradaId = request.PassagemReprovadaArtesp.CategoriaCobrada.Id.TryToInt(), CategoriaTagId = request.PassagemReprovadaArtesp.CategoriaTag.Id.TryToInt(), CodigoPassagemConveniado = request.PassagemReprovadaArtesp.ConveniadoPassagemId, CodigoPista = request.PassagemReprovadaArtesp.Pista.CodigoPista.TryToInt(), CodigoPraca = request.PassagemReprovadaArtesp.Praca.CodigoPraca.TryToInt(), ConveniadoId = request.PassagemReprovadaArtesp.Conveniado.Id.TryToInt(), Data = request.PassagemReprovadaArtesp.DataPassagem.ToUtcDate(), PassagemRecusadaMensageria = request.PassagemReprovadaArtesp.PassagemRecusadaMensageria ?? false, Placa = request.PassagemReprovadaArtesp.Placa, MensagemItemId = request.PassagemReprovadaArtesp.MensagemItemId, Reenvio = request.PassagemReprovadaArtesp.NumeroReenvio, TagId = request.PassagemReprovadaArtesp.Tag.Id.TryToInt(), TagBloqueadaMomentoRecebimento = request.PassagemReprovadaArtesp.TagBloqueadaMomentoRecebimento ?? false, Valor = request.PassagemReprovadaArtesp.Valor, StatusCobrancaId = (int)request.PassagemReprovadaArtesp.StatusCobranca, MotivoSemvalorId = (int)request.PassagemReprovadaArtesp.MotivoSemValor, StatusPassagemId = (int)request.PassagemReprovadaArtesp.StatusPassagem, SurrogateKey = request.PassagemReprovadaArtesp.MensagemItemId }; }
/// <summary> /// Envia passagens reprovadas para o barramento... /// </summary> /// <param name="request"></param> /// <returns></returns> public void Execute(ProcessadorPassagemReprovadaRequest request) { var passagemReprovadaDto = new PassagemReprovadaArtespDto(); ConverterMotivoNaoCompensado(request.PassagemReprovadaArtesp); if (request.PassagemReprovadaArtesp.TransacaoRecusada.Id > 0) { CarregarPassagemProcessada(request, passagemReprovadaDto); EnviarParaBarramento(passagemReprovadaDto, request.PassagemReprovadaArtesp.MensagemItemId); } else { CarregarPassagemProcessada(request, passagemReprovadaDto); CarregarPassagem(request, passagemReprovadaDto); CarregarTransacaoRecusada(request, passagemReprovadaDto); CarregarTransacaoRecusadaParceiro(request, passagemReprovadaDto); CarregarVeiculo(request, passagemReprovadaDto); EnviarParaBarramento(passagemReprovadaDto, request.PassagemReprovadaArtesp.MensagemItemId); } }
private void CarregarVeiculo(ProcessadorPassagemReprovadaRequest request, PassagemReprovadaArtespDto passagemReprovadaDto) { if (request.PassagemReprovadaArtesp.Adesao.Veiculo != null && request.PassagemReprovadaArtesp.Adesao.Veiculo.Id > 0) { Log.Debug($"Passagem ID: {request.PassagemReprovadaArtesp.MensagemItemId} - Fluxo: ProcessadorPassagemReprovadaHandler | Preencher Veículo"); passagemReprovadaDto.Veiculo = new VeiculoDto { Id = request.PassagemReprovadaArtesp.Adesao.Veiculo.Id.TryToInt(), CategoriaVeiculoId = request.PassagemReprovadaArtesp.Adesao.Veiculo.Categoria.Id.TryToInt(), Placa = request.PassagemReprovadaArtesp.Adesao.Veiculo.Placa, CategoriaConfirmada = request.PassagemReprovadaArtesp.Adesao.Veiculo.CategoriaConfirmada, ContagemConfirmacaoCategoria = request.PassagemReprovadaArtesp.Adesao.Veiculo.ContagemConfirmacaoCategoria, ContagemDivergenciaCategoriaConfirmada = request.PassagemReprovadaArtesp.Adesao.Veiculo.ContagemDivergenciaCategoriaConfirmada, DataConfirmacaoCategoria = request.PassagemReprovadaArtesp.Adesao.Veiculo.DataConfirmacaoCategoria }; if (request.PassagemReprovadaArtesp.Adesao.Veiculo.Categoria != null && (request.PassagemReprovadaArtesp.Adesao.Veiculo.Categoria.Id ?? 0) > 0) { passagemReprovadaDto.Veiculo.CategoriaVeiculoId = request.PassagemReprovadaArtesp.Adesao.Veiculo.Categoria.Id.TryToInt(); } } }
private void CarregarTransacaoRecusada(ProcessadorPassagemReprovadaRequest request, PassagemReprovadaArtespDto passagemReprovadaDto) { Log.Debug($"Passagem ID: {request.PassagemReprovadaArtesp.MensagemItemId} - Fluxo: ProcessadorPassagemReprovadaHandler | Preencher Transação Recusada"); passagemReprovadaDto.TransacaoRecusada = new TransacaoRecusadaDto { DataProcessamento = DateTime.Now, //Esse DateTime.Now está sendo refeito na api de persistência. MotivoRecusadoId = (int)request.PassagemReprovadaArtesp.MotivoNaoCompensado, SurrogateKey = request.PassagemReprovadaArtesp.MensagemItemId }; }
private void CarregarTransacaoRecusadaParceiro(ProcessadorPassagemReprovadaRequest request, PassagemReprovadaArtespDto passagemReprovadaDto) { if (request.PassagemReprovadaArtesp.TransacaoRecusadaParceiro != null) { Log.Debug($"Passagem ID: {request.PassagemReprovadaArtesp.MensagemItemId} - Fluxo: ProcessadorPassagemReprovadaHandler | Preencher Transação Recusada Parceiro"); passagemReprovadaDto.TransacaoRecusadaParceiro = new TransacaoRecusadaParceiroDto { DataEnvioAoParceiro = request.PassagemReprovadaArtesp.TransacaoRecusadaParceiro.DataEnvioAoParceiro, DataPassagemNaPraca = request.PassagemReprovadaArtesp.TransacaoRecusadaParceiro.DataPassagemNaPraca, ParceiroId = request.PassagemReprovadaArtesp.TransacaoRecusadaParceiro.ParceiroId, Id = request.PassagemReprovadaArtesp.TransacaoRecusada.PassagemId, Valor = request.PassagemReprovadaArtesp.TransacaoRecusadaParceiro.Valor, ViagemAgendadaId = (request.PassagemReprovadaArtesp.TransacaoRecusadaParceiro?.ViagemAgendada?.Id ?? 0).TryToInt(), SurrogateKey = request.PassagemReprovadaArtesp.MensagemItemId }; } }
private void CarregarPassagemProcessada(ProcessadorPassagemReprovadaRequest request, PassagemReprovadaArtespDto passagemReprovadaDto) { Log.Debug($"Passagem ID: {request.PassagemReprovadaArtesp.MensagemItemId} - Fluxo: ProcessadorPassagemReprovadaHandler | Preencher Passagem Processada"); passagemReprovadaDto.PassagemProcessada = new PassagemProcessadaArtespDto { MotivoNaoCompensado = (int)request.PassagemReprovadaArtesp.MotivoNaoCompensado, MensagemId = request.PassagemReprovadaArtesp.Mensagem.Id ?? 0, MensagemItemId = request.PassagemReprovadaArtesp.MensagemItemId, Reenvio = request.PassagemReprovadaArtesp.NumeroReenvio, Resultado = (int)ResultadoPassagem.NaoCompensado, ValePedagio = request.PassagemReprovadaArtesp.ValePedagio, DataPagamento = null, MotivoOutroValor = null, MotivoProvisionado = null, PassagemId = request.PassagemReprovadaArtesp.TransacaoRecusada.PassagemId ?? 0, Valor = null, TransacaoId = null }; }