Beispiel #1
0
        public async Task <bool> CreateEquipmentBookings(Booking booking, List <Equipment> equipmentList)
        {
            try
            {
                for (int i = 0; i < equipmentList.Count; i++)
                {
                    equipmentList[i] = await DbContext.Equipment.FindAsync(equipmentList[i].Id);

                    EquipmentBooking equipmentBooking = new EquipmentBooking();
                    equipmentBooking.Booking   = booking;
                    equipmentBooking.Equipment = equipmentList[i];
                    await DbContext.EquipmentBooking.AddAsync(equipmentBooking);
                }
                return(true);
            }
            catch (Exception e)
            {
                return(false);
            }
        }
Beispiel #2
0
        public async Task <bool> CheckEquipmentAvailability(Equipment equipment, List <Booking> bookings)
        {
            bool available = false;
            List <EquipmentBooking> conflictingEquipmentBookings = new List <EquipmentBooking>();

            equipment = await GetEquipmentById(equipment.Id);

            foreach (Booking booking in bookings)
            {
                EquipmentBooking ConflictingEquipmentBooking = await DbContext.EquipmentBooking.Where(eb => eb.Booking.Id == booking.Id).FirstOrDefaultAsync();

                if (ConflictingEquipmentBooking != null)
                {
                    conflictingEquipmentBookings.Add(ConflictingEquipmentBooking);
                }
            }
            if (conflictingEquipmentBookings.Count < equipment.Count)
            {
                available = true;
            }
            return(available);
        }