示例#1
0
        public List <DetalheViagem> ObterViagensAgendadas(PassagemPendenteArtesp passagemPendenteArtesp, long?viagemId)
        {
            var filter = new ObterViagemAgendadaPorPlacaPracaDataPassagemFilter
            {
                Placa        = passagemPendenteArtesp.Placa,
                PracaId      = passagemPendenteArtesp.Praca.Id,
                DataPassagem = passagemPendenteArtesp.DataPassagem,
                ViagemId     = viagemId
            };

            var viagens = DataBaseConnection.HandleExecution(_viagemAgendadaPorPlacaPracaDataPassagemQuery.Execute, filter);

            return(viagens.ToList());
        }
示例#2
0
        private List <DetalheViagem> ObterViagemAgendada(bool ehTransacaoConfirmacao)
        {
            IEnumerable <DetalheViagem> retorno;

            if (ehTransacaoConfirmacao)
            {
                var obterViagemAguardandoDefinicaoQuery = new ObterViagemAguardandoDefiniciaoPorPlacaPracaDataPassagemQuery();
                retorno = obterViagemAguardandoDefinicaoQuery.Execute(_passagemPendenteEdi);
                return(retorno.ToList());
            }

            var obterViagemAgendadaQuery = new ObterViagemAgendadaPorPlacaPracaDataPassagemQuery();
            var filter = new ObterViagemAgendadaPorPlacaPracaDataPassagemFilter
            {
                Placa        = _passagemPendenteEdi.Placa,
                PracaId      = _passagemPendenteEdi.Praca.Id,
                DataPassagem = _passagemPendenteEdi.DataPassagem
            };

            retorno = obterViagemAgendadaQuery.Execute(filter);
            return(retorno.ToList());
        }
示例#3
0
        public IEnumerable <DetalheViagem> Execute(ObterViagemAgendadaPorPlacaPracaDataPassagemFilter filter)
        {
            var query = $@"
                       SELECT dv.DetalheViagemId as Id , vg.CnpjEmbarcador, vg.CodigoViagemParceiro, vg.Embarcador,  dv.*  
                        FROM DetalheViagem dv (NOLOCK)
                        INNER JOIN Viagem vg (NOLOCK) on dv.ViagemId=vg.ViagemId                              
                        WHERE   
                             vg.Placa = @Placa
                             AND dv.PracaId = @PracaId
                             AND vg.StatusViagemId = 1
                             AND dv.StatusId = 1
                             AND vg.DataInicioViagem <= '{filter.DataPassagem:yyyy-MM-dd}'
                             AND vg.DataFimViagem >= '{filter.DataPassagem:yyyy-MM-dd}'
                             AND dv.TransacaoId IS NULL
                             AND dv.TransacaoProvisoriaId IS NULL
                        ORDER BY vg.DataFimViagem";


            if (filter.ViagemId.HasValue)
            {
                query += " AND dv.ViagemId = @ViagemId ";
            }

            query += " ORDER BY vg.DataFimViagem";


            using (var conn = DataBaseConnection.GetConnection(true, TimeHelper.CommandTimeOut))
            {
                var ret = conn.Query <DetalheViagemAgendadaDto>(sql: query,
                                                                param: new
                {
                    Placa        = filter.Placa,
                    PracaId      = filter.PracaId,
                    DataPassagem = filter.DataPassagem,
                    ViagemId     = filter.ViagemId
                },
                                                                commandTimeout: TimeHelper.CommandTimeOut);

                List <DetalheViagem> retorno = new List <DetalheViagem>();

                foreach (var item in ret)
                {
                    retorno.Add(new DetalheViagem
                    {
                        Id = item.DetalheViagemId,
                        TransacaoPassagemId   = item.TransacaoPassagemId,
                        PracaId               = item.PracaId,
                        CodigoPracaRoadCard   = item.CodigoPracaRoadCard,
                        Sequencia             = item.Sequencia,
                        ValorPassagem         = item.ValorPassagem,
                        DataCancelamento      = item.DataCancelamento,
                        StatusDetalheViagemId = item.StatusId,

                        Viagem = new Viagem()
                        {
                            Id                   = item.ViagemId,
                            CnpjEmbarcador       = item.CnpjEmbarcador,
                            CodigoViagemParceiro = item.CodigoViagemParceiro,
                            Embarcador           = item.Embarcador
                        }
                    });
                }

                return(retorno);
            }
        }