示例#1
0
        public PassagemValePedagioValidator()
        {
            _passagemAnteriorQuery                              = new ObterPassagemAnteriorQuery();
            _viagemAgendadaOriginalQuery                        = new ObterViagemAgendadaOriginalQuery();
            _countDetalheViagemCanceladaPorViagemId             = new ObterCountDetalheViagemCanceladaPorViagemId();
            _detalhesViagemPorViagemIdQuery                     = new ObterDetalhesViagemPorViagemIdQuery();
            _viagemAgendadaPorPlacaPracaDataPassagemQuery       = new ObterViagemAgendadaPorPlacaPracaDataPassagemQuery();
            _listarViagensASeremCanceladasQuery                 = new ListarViagensASeremCanceladasQuery();
            _passagemImediatamenteAnteriorQuery                 = new ObterPassagemImediatamenteAnteriorQuery();
            _numeroVezesRecusadoParamValePedagioFinanceiroQuery = new ObterNumeroVezesRecusadoParamValePedagioFinanceiroQuery();

            _retorno = new ValePedagioArtespDto
            {
                ViagensParaRetorno = new List <DetalheViagem>()
            };
        }
示例#2
0
        public void CancelarDetalhesDuplicados(DetalheViagem viagemAgendada)
        {
            var listarViagensASeremCanceladas = new ListarViagensASeremCanceladasQuery();
            var viagensACancelar = listarViagensASeremCanceladas.Execute(viagemAgendada);

            foreach (var viagem in viagensACancelar)
            {
                if (viagem.Id != viagemAgendada.Id)
                {
                    if (viagem.StatusDetalheViagemId == (int)StatusDetalheViagem.CanceladaDuplicidade)
                    {
                        return;
                    }

                    viagem.StatusDetalheViagemId = (int)StatusDetalheViagem.CanceladaDuplicidade;
                    viagem.DataCancelamento      = DateTime.Now;

                    //save
                    ValePedagioEdiDto.ViagensParaRetorno.Add(viagem);
                }
            }
        }