private void ExtrairEmpresaComMenorValorNoFds(EnumeradorTipoProgramaDeFidelidade PlanoDeFidelidade, ref decimal diariasCorrentes, ref int classificacaoCorrente, ref Guid IdHotel) { if (PlanoDeFidelidade == EnumeradorTipoProgramaDeFidelidade.Regular) { foreach (var hotel in this._contexto.tblRedeDeHoteis.ListaDeHoteis) { if (diariasCorrentes >= hotel.Diarias.VlDiariaFds && classificacaoCorrente < hotel.Classificacao) { diariasCorrentes = hotel.Diarias.VlDiariaFds; classificacaoCorrente = hotel.Classificacao; IdHotel = hotel.Id; } } } else { foreach (var hotel in this._contexto.tblRedeDeHoteis.ListaDeHoteis) { if (diariasCorrentes >= hotel.Diarias.VlDiariaFdsFidelidade && classificacaoCorrente < hotel.Classificacao) { diariasCorrentes = hotel.Diarias.VlDiariaFdsFidelidade; classificacaoCorrente = hotel.Classificacao; IdHotel = hotel.Id; } } } }
public EntidadeHoteis ObterHotelMaisBarato(EnumeradorTipoProgramaDeFidelidade PlanoDeFidelidade, DateTime dt1, DateTime dt2, DateTime dt3) { Dictionary <Guid, decimal> Hoteis = new Dictionary <Guid, decimal>(); List <DateTime> datas = new List <DateTime>(); datas.Add(dt1); datas.Add(dt2); datas.Add(dt3); BuscarMenorData(Hoteis, PlanoDeFidelidade, datas); var hotel = this._contexto.tblRedeDeHoteis.ListaDeHoteis.FirstOrDefault(me => me.Id == Hoteis.Aggregate((l, r) => l.Value < r.Value ? l : r).Key); return(hotel); }
private void BuscarMenorData(Dictionary <Guid, decimal> Hoteis, EnumeradorTipoProgramaDeFidelidade PlanoDeFidelidade, List <DateTime> Datas) { decimal diariasCorrentes = decimal.MaxValue; int classificacaoCorrente = 0; Guid IdHotel = new Guid(); for (var i = 0; i < Datas.Count; i++) { if ((Datas[i].DayOfWeek == DayOfWeek.Saturday || Datas[i].DayOfWeek == DayOfWeek.Sunday)) { ExtrairEmpresaComMenorValorNoFds(PlanoDeFidelidade, ref diariasCorrentes, ref classificacaoCorrente, ref IdHotel); } else { ExtrairEmpresaComMenorValorDuranteASemana(PlanoDeFidelidade, ref diariasCorrentes, ref classificacaoCorrente, ref IdHotel); } } if (!Hoteis.ContainsKey(IdHotel)) { Hoteis.Add(IdHotel, diariasCorrentes); } }
public void AtualizarParticipante(Guid idRedeDeHoteis, EnumeradorTipoProgramaDeFidelidade tipoDeFidelidade) { this.IdRedeDeHoteis = idRedeDeHoteis; this.TipoDeFidelidade = tipoDeFidelidade; }
public void AtualizarPlanoDeFilidade(EnumeradorTipoProgramaDeFidelidade tipoDeFidelidade) { this.TipoDeFidelidade = tipoDeFidelidade; }