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);
                }
            }
        }
예제 #2
0
        /// <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);
                }
            }
        }