Exemple #1
0
        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);
        }
Exemple #2
0
        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);
        }