예제 #1
0
        public Reservation Reserve(int phoneId, int quantity)
        {
            ReservationChecker();
            if (quantity > _phoneRepository.GetPhone(phoneId).Amount&& quantity < 0)
            {
                throw new NotImplementedException();
            }

            var createIt = new Reservation()
            {
                Start        = DateTime.Now,
                End          = DateTime.Now.AddMinutes(20),
                ReservedItem = new ReservedItem()
            };

            ReservedItem reservedItem = new ReservedItem()
            {
                PhoneId          = phoneId,
                ReservedQuantity = quantity,
                Reservation      = createIt,
                ReservationId    = createIt.Id,
            };

            createIt.ReservedItem = reservedItem;
            _phoneRepository.DeletePhoneAmount(phoneId, quantity);

            _reservationRepository.Create(createIt);

            return(createIt);
        }