private void PreencherDetalheViagens() { if (_request.DetalheViagens != null && _request.DetalheViagens.Any()) { _passagemAprovadaEdiDto.Viagens = new List <DetalheViagemDto>(); foreach (var detalheViagem in _request.DetalheViagens) { var dto = new DetalheViagemDto { CodigoPracaRoadCard = detalheViagem.CodigoPracaRoadCard, DataCancelamento = detalheViagem.DataCancelamento, Id = detalheViagem.Id.TryToInt(), PracaId = detalheViagem.PracaId, Sequencia = detalheViagem.Sequencia, StatusId = detalheViagem.StatusDetalheViagemId, ValorPassagem = detalheViagem.ValorPassagem, ViagemId = (detalheViagem?.Viagem?.Id ?? 0).TryToInt(), }; // caso o detalheviagem tenha sido consumido, vincular SurrogateKey if (dto.StatusId == (int)StatusDetalheViagem.Utilizada) { dto.SurrogateKey = _request.PassagemAprovadaEdi.DetalheTrnId; } _passagemAprovadaEdiDto.Viagens.Add(dto); } } }
/// <summary> /// Preenche as viagens dos cenários de Vale Pedagio. /// </summary> /// <param name="request">ProcessadorPassagemAprovadaRequest</param> /// <param name="passagemAprovadaArtespDto">PassagemAprovadaArtespDto</param> private void PreencherViagens(ProcessadorPassagemAprovadaRequest request, PassagemAprovadaArtespDto passagemAprovadaArtespDto) { var viagens = request.PassagemAprovadaArtesp.Transacao.Viagens; if (viagens != null && viagens.Count > 0) { Log.Debug($"Passagem ID: {request.PassagemAprovadaArtesp.MensagemItemId} - Fluxo: ProcessadorPassagemAprovadaHandler | Preencher {viagens.Count} Viagens"); passagemAprovadaArtespDto.Viagens = new List <DetalheViagemDto>(); foreach (var detalheViagem in viagens) { var dto = new DetalheViagemDto { CodigoPracaRoadCard = detalheViagem.CodigoPracaRoadCard, DataCancelamento = detalheViagem.DataCancelamento, Id = detalheViagem.Id.TryToInt(), PracaId = detalheViagem.PracaId, Sequencia = detalheViagem.Sequencia, StatusId = detalheViagem.StatusDetalheViagemId, ValorPassagem = detalheViagem.ValorPassagem, ViagemId = (detalheViagem?.Viagem?.Id ?? 0).TryToInt(), }; // caso o detalheviagem tenha sido consumido, vincular SurrogateKey if (dto.StatusId == (int)StatusDetalheViagem.Utilizada) { dto.SurrogateKey = request.PassagemAprovadaArtesp.MensagemItemId; } passagemAprovadaArtespDto.Viagens.Add(dto); } } }