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()); }
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()); }
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); } }