Esempio n. 1
0
        public void PickItem(string rentalItemCode)
        {
            if (RentalStatus == RentalStatus.Started)
            {
                RentalStatus = RentalStatus.Picking;
            }

            if (RentalStatus != RentalStatus.Picking)
            {
                throw new Exception();
            }

            // var isUnique = true;
            // foreach (var rentalItem in RentalItems)
            // {
            //     if (rentalItem.RentalItemCode == rentalItemCode)
            //     {
            //         isUnique = false;
            //     }
            // }

            // isUnique = !RentalItems.Any(rentalItem => rentalItem.RentalItemCode == rentalItemCode);

            // if (!isUnique)
            // {
            //     throw new Exception();
            // }

            if (RentalItems.Any(rentalItem => rentalItem.RentalItemCode == rentalItemCode))
            {
                throw new Exception();
            }

            // ToDo: Add item status validation
            var rentalItem = RentalItemFactory.Create(rentalItemCode);

            RentalItems.Add(rentalItem);
        }