コード例 #1
0
        private Cooler CreateCooler(Cooler cooler)
        {
            IEntityValidator validator = this._entityValidatorFactory.Create();

            if (validator.IsValid<Cooler>(cooler))
            {
                this._coolerRepository.Add(cooler);
                this._coolerRepository.UnitOfWork.Commit();
                return cooler;
            }
            else
                throw new ApplicationValidationErrorsException(validator.GetInvalidMessages(cooler));
        }
コード例 #2
0
        private Cooler UpdateCooler(Cooler currentCooler, Cooler updatedCooler)
        {
            // TODO: Make this a factory
            IEntityValidator validator = this._entityValidatorFactory.Create();

            if (validator.IsValid<Cooler>(updatedCooler))
            {
                _coolerRepository.Merge(currentCooler, updatedCooler);
                _coolerRepository.UnitOfWork.Commit();

                return updatedCooler;
            }
            else
                throw new ApplicationValidationErrorsException(validator.GetInvalidMessages(updatedCooler));
        }
コード例 #3
0
        public void CanInsertBeverageIntoCooler()
        {
            Cooler cooler = new Cooler
            {
                Id = Guid.NewGuid(),
                Name = "Test Cooler",
                MaxCapacity = 5f
            };

            Beverage beverage = new Beverage
            {
                Id = Guid.NewGuid(),
                Name = "Test Bev",
                Size = 5f
            };

            cooler.Beverages.Add(beverage);
            this.Manager.AddCooler(cooler);
        }
コード例 #4
0
        public void WillThrowErrorOnExceededCoolerLimit()
        {
            Cooler cooler = new Cooler
            {
                Id = Guid.NewGuid(),
                Name = "Test Cooler",
                MaxCapacity = 5f
            };

            Beverage beverage = new Beverage
            {
                Id = Guid.NewGuid(),
                Name = "Test Bev",
                Size = 50f
            };

            cooler.Beverages.Add(beverage);
            this.Manager.AddCooler(cooler);

            Assert.Fail("Expected an ApplicationValidationErrorsException");
        }
コード例 #5
0
        public void WillThrowErrorOnInvalidBeverageInsert()
        {
            Cooler cooler = new Cooler
            {
                Id = Guid.NewGuid(),
                Name = "Test Cooler",
                MaxCapacity = 5f,
                Sealed = true,
                Iced = false
            };

            Beverage beverage = new Beverage
            {
                Id = Guid.NewGuid(),
                Name = "Test Bev",
                Size = 50f,
                NeedsIced = true
            };

            cooler.Beverages.Add(beverage);
            this.Manager.AddCooler(cooler);

            Assert.Fail("Expected an ApplicationValidationErrorsException");
        }
コード例 #6
0
        public void UpdateCooler(Cooler cooler)
        {
            Cooler existingCooler = _coolerRepository.Get(cooler.Id);

            cooler = UpdateCooler(existingCooler, cooler);
        }
コード例 #7
0
 public Cooler AddCooler(Cooler cooler)
 {
     return CreateCooler(cooler);
 }
コード例 #8
0
ファイル: Program.cs プロジェクト: christopherspence/Coolers
 static void DisplayCoolerInfo(Cooler cooler)
 {
     Console.WriteLine("Id: {0}\nName: {1}\nCurrentCapacity: {2}ml\nMax Capacity: {3}ml\nIsIced: {4}\nIsSealed: {5}\nIsCryonized: {6}\n\n",
             cooler.Id,
             cooler.Name,
             cooler.CurrentCapacity,
             cooler.MaxCapacity,
             cooler.Iced,
             cooler.Sealed,
             cooler.Cryogenized);
 }