public TabelaResumoViagemTO ObterTarifaMaisBaixaNoHorarioMaisCedo(List <TabelaResumoViagemTO> ListaDeResumoDeViagem) { var objMenorValorEPreco = new TabelaResumoViagemTO(); var objListaPromo = new List <TabelaResumoViagemTO>(); var objListaLight = new List <TabelaResumoViagemTO>(); for (int i = 0; i < ListaDeResumoDeViagem.Count; i++) { var TabelaResumoViagemTO = ListaDeResumoDeViagem.ElementAt(i); if (TabelaResumoViagemTO.ValoresTarifasTO.ValorTarifaPromo > 0) { objListaPromo.Add(TabelaResumoViagemTO); } else if (TabelaResumoViagemTO.ValoresTarifasTO.ValorTarifaPromo == 0) { objListaLight.Add(TabelaResumoViagemTO); } } if (objListaPromo.Count > 0) { objMenorValorEPreco = objListaPromo.OrderBy(preco => preco.ValoresTarifasTO.ValorTarifaPromo).OrderBy(horario => horario.HorarioIda).FirstOrDefault(); } else { objMenorValorEPreco = objListaLight.OrderBy(preco => preco.ValoresTarifasTO.ValorTarifaLight).OrderBy(horario => horario.HorarioIda).FirstOrDefault(); } return(objMenorValorEPreco); }
public void QuandoSeleciono(string p0) { var listaDeTarifasEmbarque = DetalharPassagens().ObterListaDoResumoDaViagem(HorariosViagemEnum.EMBARQUE, QuantidadeOrigem); var listaTarifaEmbarque = DadosTabelaResumoViagem.ObterTabelaResumoViagemTO(DataOrigem, DataDestino, DataOrigem, listaDeTarifasEmbarque); MenorTarifaEmbarque = DadosTabelaResumoViagem.ObterTarifaMaisBaixaNoHorarioMaisCedo(listaTarifaEmbarque); var listaDeTarifasDesembarque = DetalharPassagens().ObterListaDoResumoDaViagem(HorariosViagemEnum.DESEMBARQUE, QuantidadeDestino); var listaTarifaEmbarqueDesembarque = DadosTabelaResumoViagem.ObterTabelaResumoViagemTO(DataOrigem, DataDestino, DataDestino, listaDeTarifasDesembarque); MenorTarifaDesembarque = DadosTabelaResumoViagem.ObterTarifaMaisBaixaNoHorarioMaisCedo(listaTarifaEmbarqueDesembarque); DetalharPassagens().ExibirOcultarResumoBilhete(true); PainelResumoPassagens = DetalharPassagens().PainelResumoPassagens().ObterResumoPassagens(); PainelResumoViagemTO = daoPainelResumoViagem.ObterPainelResumoViagemTO(PainelResumoPassagens, AnoAtual); ValorTotalPassagensTabela = Utilitarios.CalcularValorTotalPassagensMenorTarifa(QuantidadePassageiros, MenorTarifaEmbarque, MenorTarifaDesembarque); ValorTotalPassagensResumo = Math.Round(PainelResumoViagemTO.ValorTotalPassagens, 2); DetalharPassagens().PainelResumoPassagens().SelecionarOpcaoComprarPassagens(); }
public List <TabelaResumoViagemTO> ObterTabelaResumoViagemTO(string objStrDataIda, string objStrDataRetorno, string objStrDataDuracao, List <InformacoesViagem> ListarInformacoesViagem) { try { var listaTarifaria = new List <TabelaResumoViagemTO>(); for (int i = 0; i < ListarInformacoesViagem.Count; i++) { var informacoesTarifa = ListarInformacoesViagem.ElementAt(i); var objTabelaResumoViagem = new TabelaResumoViagemTO { Indice = informacoesTarifa.Indice, HorarioIda = DateUtil.AddHourDate(objStrDataIda, informacoesTarifa.HorarioIda), Origem = informacoesTarifa.Origem, Duracao = DateUtil.AddHourDate(objStrDataDuracao, informacoesTarifa.Duracao), HorarioVolta = DateUtil.AddHourDate(objStrDataRetorno, informacoesTarifa.HorarioVolta), Destino = informacoesTarifa.Destino, ValoresTarifasTO = new ValoresTarifasTO { ValorTarifaMax = Convert.ToDouble(informacoesTarifa.ValorTarifaMax), ValorTarifaPlus = Convert.ToDouble(informacoesTarifa.ValorTarifaPlus), ValorTarifaLight = Convert.ToDouble(informacoesTarifa.ValorTarifaDouble), ValorTarifaPromo = Convert.ToDouble(informacoesTarifa.ValorTarifaPromo) } }; listaTarifaria.Add(objTabelaResumoViagem); } return(listaTarifaria); } catch (Exception ex) { throw new Exception(ex.Message); } }
public static double CalcularValorTotalPassagensMenorTarifa(int quantidadePassageiros, TabelaResumoViagemTO MenorTarifaOrigem, TabelaResumoViagemTO MenorTarifaDestino) { var objDoubleVrTotal = (MenorTarifaOrigem.ValoresTarifasTO.ValorTarifaPromo > 0 ? MenorTarifaOrigem.ValoresTarifasTO.ValorTarifaPromo : MenorTarifaOrigem.ValoresTarifasTO.ValorTarifaLight) + (MenorTarifaDestino.ValoresTarifasTO.ValorTarifaPromo > 0 ? MenorTarifaDestino.ValoresTarifasTO.ValorTarifaPromo : MenorTarifaDestino.ValoresTarifasTO.ValorTarifaLight); return(Math.Round(objDoubleVrTotal, 2) * quantidadePassageiros); }