/// <summary> /// Charge une liste d'options à partir d'options existantes d'une réservation. /// </summary> /// <param name="booking">réservation existante pour mémoire</param> /// <param name="dates">plage de date de la réservation</param> /// <returns></returns> public static async Task<OptionsViewModel> CreateAsync(Booking booking, DateRange dates) { OptionsViewModel newInstance = new OptionsViewModel(); List<Option> availableOptions = await OptionRepository.GetAvailablesBetweenAsync(dates); _setAvailableOptionChoiceEntities(booking, dates, newInstance, availableOptions); foreach (OptionChoiceEntity optChoiceEntity in newInstance._availableOptionChoiceEntities) { optChoiceEntity.PropertyChanged += newInstance._optionChanged; } return newInstance; }
/// <summary> /// Charge une liste d'options à partir d'options existantes d'une réservation. /// </summary> /// <param name="booking">réservation existante pour mémoire</param> /// <param name="dates">plage de date de la réservation</param> /// <returns></returns> public static async Task <OptionsViewModel> CreateAsync(Booking booking, DateRange dates) { OptionsViewModel newInstance = new OptionsViewModel(); List <Option> availableOptions = await OptionRepository.GetAvailablesBetweenAsync(dates); _setAvailableOptionChoiceEntities(booking, dates, newInstance, availableOptions); foreach (OptionChoiceEntity optChoiceEntity in newInstance._availableOptionChoiceEntities) { optChoiceEntity.PropertyChanged += newInstance._optionChanged; } return(newInstance); }
private static void _setAvailableOptionChoiceEntities(Booking booking, DateRange dates, OptionsViewModel newInstance, List<Option> availableOptions) { foreach (Option opt in availableOptions) { OptionChoice optChoice = new OptionChoice { Option = opt, TakenDates = (DateRange)((ICloneable)dates).Clone() }; optChoice.TakenDates.Start = optChoice.TakenDates.Start.Date; if (optChoice.Option.Id == 8) { optChoice.TakenDates.Start = optChoice.TakenDates.Start.AddDays(1.0d); } OptionChoiceEntity optChoiceEntity = new OptionChoiceEntity(booking, optChoice); newInstance._availableOptionChoiceEntities.Add(optChoiceEntity); } }
private static void _setAvailableOptionChoiceEntities(Booking booking, DateRange dates, OptionsViewModel newInstance, List <Option> availableOptions) { foreach (Option opt in availableOptions) { OptionChoice optChoice = new OptionChoice { Option = opt, TakenDates = (DateRange)((ICloneable)dates).Clone() }; optChoice.TakenDates.Start = optChoice.TakenDates.Start.Date; if (optChoice.Option.Id == 8) { optChoice.TakenDates.Start = optChoice.TakenDates.Start.AddDays(1.0d); } OptionChoiceEntity optChoiceEntity = new OptionChoiceEntity(booking, optChoice); newInstance._availableOptionChoiceEntities.Add(optChoiceEntity); } }