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); }