public static async Task <RoomsChoiceViewModel> CreateAsync(DateRange dates) { RoomsChoiceViewModel newInstance = new RoomsChoiceViewModel(); newInstance._availableRooms = await RoomRepository.GetAvailablesBetweenAsync(dates); int i = 0; foreach (Room room in newInstance._availableRooms) { if (!newInstance._availableRoomCounts.ContainsKey(room.Kind)) { newInstance._availableRoomCounts.Add(room.Kind, 1); RoomChoiceEntity roomChoice = new RoomChoiceEntity(room.Kind, 0, 0); newInstance._availableRoomChoiceEntities.Add(roomChoice); i++; } else { newInstance._availableRoomCounts[room.Kind]++; } } foreach (RoomChoiceEntity roomChoice in newInstance._availableRoomChoiceEntities) { roomChoice.MaxAvailable = newInstance._availableRoomCounts[roomChoice.RoomKind]; } return(newInstance); }
private bool _mustShowRoomChoice(object item) { if (!(item is RoomChoiceEntity)) { throw new InvalidOperationException("On ne peut pas filtrer la liste des choix de chambre. Cette exception est critique"); } RoomChoiceEntity roomChoiceEntity = (RoomChoiceEntity)item; bool mustShowRoomChoice = !roomChoiceEntity.RoomKind.Equals(RoomKind.DoubleWithBaby) || _parameters.BabiesCount > 0; return(mustShowRoomChoice); }