コード例 #1
0
        public void GetAll_Returns_10_RentalOrders()
        {
            using (var context = new VivesRentalDbContext())
            {
                //Arrange
                var itemRepository            = new ItemRepository(context);
                var rentalItemRepository      = new RentalItemRepository(context);
                var userRepository            = new UserRepository(context);
                var rentalOrderRepository     = new RentalOrderRepository(context);
                var rentalOrderLineRepository = new RentalOrderLineRepository(context);

                for (int i = 0; i < 10; i++)
                {
                    var item = ItemFactory.CreateValidEntity();
                    itemRepository.Add(item);
                    var rentalItem = RentalItemFactory.CreateValidEntity(item);
                    rentalItemRepository.Add(rentalItem);
                    var user = UserFactory.CreateValidEntity();
                    userRepository.Add(user);
                    var rentalOrder = RentalOrderFactory.CreateValidEntity(user);
                    rentalOrderRepository.Add(rentalOrder);
                    var rentalOrderLineToAdd = RentalOrderLineFactory.CreateValidEntity(rentalOrder, rentalItem);
                    rentalOrderLineRepository.Add(rentalOrderLineToAdd);
                }
                context.SaveChanges();

                //Act
                var rentalOrderLines = rentalOrderLineRepository.GetAll();

                //Assert
                Assert.AreEqual(10, rentalOrderLines.Count());
            }
        }
コード例 #2
0
        public void Add_Returns_1_When_Adding_Valid_RentalOrder()
        {
            using (var context = new VivesRentalDbContext())
            {
                //Arrange
                var itemRepository            = new ItemRepository(context);
                var rentalItemRepository      = new RentalItemRepository(context);
                var userRepository            = new UserRepository(context);
                var rentalOrderRepository     = new RentalOrderRepository(context);
                var rentalOrderLineRepository = new RentalOrderLineRepository(context);

                //Act
                var item = ItemFactory.CreateValidEntity();
                itemRepository.Add(item);
                var rentalItem = RentalItemFactory.CreateValidEntity(item);
                rentalItemRepository.Add(rentalItem);
                var user = UserFactory.CreateValidEntity();
                userRepository.Add(user);
                var rentalOrder = RentalOrderFactory.CreateValidEntity(user);
                rentalOrderRepository.Add(rentalOrder);
                var rentalOrderLine = RentalOrderLineFactory.CreateValidEntity(rentalOrder, rentalItem);
                rentalOrderLineRepository.Add(rentalOrderLine);

                var result = context.SaveChanges();

                //Assert
                Assert.AreEqual(5, result); //Because we added five entities
            }
        }
コード例 #3
0
        public void Remove_Deletes_Item()
        {
            using (var context = new VivesRentalDbContext())
            {
                //Arrange
                var itemRepository       = new ItemRepository(context);
                var rentalItemRepository = new RentalItemRepository(context);

                var item = ItemFactory.CreateValidEntity();
                itemRepository.Add(item);
                var rentalItemToAdd = RentalItemFactory.CreateValidEntity(item);
                rentalItemRepository.Add(rentalItemToAdd);
                var rentalItemId = rentalItemToAdd.Id;
                context.SaveChanges();

                //Act
                rentalItemRepository.Remove(rentalItemToAdd);
                context.SaveChanges();

                var rentalItem = rentalItemRepository.Get(rentalItemId);

                //Assert
                Assert.IsNull(rentalItem);
            }
        }
コード例 #4
0
        public void AddRental(RentalViewModel objRentalView)
        {
            var RenatlItemrepo = new RentalItemRepository();

            using (var Rentalrepo = new RentalRepository())
            {
                Item p = new Item();

                var Rental = new Rental
                {
                    RentalId    = RentalCode(4),
                    DateRented  = DateTime.Now,
                    DateRequire = objRentalView.DateRequire,
                    ReturnDate  = objRentalView.ReturnDate,
                    Fine        = objRentalView.Fine,
                    PolicyId    = objRentalView.PolicyId,
                    Totalprice  = calcTotPrice(objRentalView),
                    ItemCode    = objRentalView.ItemCode,
                    Quantity    = objRentalView.Quantity,
                };

                var riv = new RentalItem()
                {
                    rentalId = Rental.RentalId,
                    ItemCode = objRentalView.ItemCode,
                    Quantity = objRentalView.Quantity,
                };
                Rentalrepo.Insert(Rental);
                RenatlItemrepo.Insert(riv);
            }
        }
コード例 #5
0
        public void Remove_Throws_Exception_When_Not_Found()
        {
            using (var context = new VivesRentalDbContext())
            {
                //Arrange
                var itemRepository            = new ItemRepository(context);
                var rentalItemRepository      = new RentalItemRepository(context);
                var userRepository            = new UserRepository(context);
                var rentalOrderRepository     = new RentalOrderRepository(context);
                var rentalOrderLineRepository = new RentalOrderLineRepository(context);

                var item = ItemFactory.CreateValidEntity();
                itemRepository.Add(item);
                var rentalItem = RentalItemFactory.CreateValidEntity(item);
                rentalItemRepository.Add(rentalItem);
                var user = UserFactory.CreateValidEntity();
                userRepository.Add(user);
                var rentalOrder = RentalOrderFactory.CreateValidEntity(user);
                rentalOrderRepository.Add(rentalOrder);
                var rentalOrderLineToAdd = RentalOrderLineFactory.CreateValidEntity(rentalOrder, rentalItem);
                rentalOrderLineRepository.Add(rentalOrderLineToAdd);

                context.SaveChanges();

                //Act
                rentalOrderLineRepository.Remove(RentalOrderLineFactory.CreateValidEntity(rentalOrder, rentalItem));
                context.SaveChanges();

                //Assert
            }
        }
コード例 #6
0
        public void Get_Returns_RentalOrder_When_Found()
        {
            using (var context = new VivesRentalDbContext())
            {
                //Arrange
                var itemRepository            = new ItemRepository(context);
                var rentalItemRepository      = new RentalItemRepository(context);
                var userRepository            = new UserRepository(context);
                var rentalOrderRepository     = new RentalOrderRepository(context);
                var rentalOrderLineRepository = new RentalOrderLineRepository(context);

                var item = ItemFactory.CreateValidEntity();
                itemRepository.Add(item);
                var rentalItem = RentalItemFactory.CreateValidEntity(item);
                rentalItemRepository.Add(rentalItem);
                var user = UserFactory.CreateValidEntity();
                userRepository.Add(user);
                var rentalOrder = RentalOrderFactory.CreateValidEntity(user);
                rentalOrderRepository.Add(rentalOrder);
                var rentalOrderLineToAdd = RentalOrderLineFactory.CreateValidEntity(rentalOrder, rentalItem);
                rentalOrderLineRepository.Add(rentalOrderLineToAdd);

                context.SaveChanges();

                //Act
                var rentalOrderLine = rentalOrderLineRepository.Get(rentalOrderLineToAdd.Id);

                //Assert
                Assert.IsNotNull(rentalOrderLine);
            }
        }
コード例 #7
0
 public UnitOfWork()
 {
     _context         = new VivesRentalDbContext();
     Items            = new ItemRepository(_context);
     RentalItems      = new RentalItemRepository(_context);
     RentalOrders     = new RentalOrderRepository(_context);
     RentalOrderLines = new RentalOrderLineRepository(_context);
     Users            = new UserRepository(_context);
 }
コード例 #8
0
 public void DeleteRentalItem(int id)
 {
     using (var Rental = new RentalItemRepository())
     {
         RentalItem rtl = Rental.GetById(id);
         if (rtl != null)
         {
             Rental.Delete(rtl);
         }
     }
 }
コード例 #9
0
 public List <RentalItemViewModel> GetAllRentalItems()
 {
     using (var Rentalrepo = new RentalItemRepository())
     {
         return(Rentalrepo.GetAll().Select(x => new RentalItemViewModel()
         {
             RentaItemId = x.RentaItemId,
             rentalId = x.rentalId,
             ItemCode = x.ItemCode,
             Quantity = x.Quantity
         }).ToList());
     }
 }
コード例 #10
0
        public void AddRentalItem(RentalItemViewModel objRentalView)
        {
            using (var Rentalrepo = new RentalItemRepository())
            {
                var RentalItem = new RentalItem
                {   //RentalId = itemCode(),
                    rentalId = objRentalView.rentalId,
                    ItemCode = objRentalView.ItemCode,
                    Quantity = objRentalView.Quantity
                };

                Rentalrepo.Insert(RentalItem);
            }
        }
コード例 #11
0
        public void Get_Returns_Null_When_Not_Found()
        {
            using (var context = new VivesRentalDbContext())
            {
                //Arrange
                var rentalItemRepository = new RentalItemRepository(context);

                //Act
                var rentalItem = rentalItemRepository.Get(1);

                //Assert
                Assert.IsNull(rentalItem);
            }
        }
コード例 #12
0
        public void Add_Throws_Exception_When_Adding_InValid_Item()
        {
            using (var context = new VivesRentalDbContext())
            {
                //Arrange
                var rentalItemRepository = new RentalItemRepository(context);

                //Act
                var rentalItem = RentalItemFactory.CreateInvalidEntity();
                rentalItemRepository.Add(rentalItem);

                var result = context.SaveChanges();

                //No Assert
            }
        }
コード例 #13
0
        public RentalItemViewModel GetRentalItemsById(int id)
        {
            using (var Rental = new RentalItemRepository())
            {
                RentalItem rtl          = Rental.GetById(id);
                var        rtlViewModel = new RentalItemViewModel();
                if (rtl != null)
                {
                    rtlViewModel.RentaItemId = rtl.RentaItemId;
                    rtlViewModel.rentalId    = rtl.rentalId;
                    rtlViewModel.ItemCode    = rtl.ItemCode;

                    rtlViewModel.Quantity = rtl.Quantity;
                }
                return(rtlViewModel);
            }
        }
コード例 #14
0
        public UnitOfWork()
        {
            string connectionString = "server=MANNOBC96\\SQLEXPRESS;database=VivesRental;trusted_connection=true;";

            _context = new VivesRentalDbContext(connectionString);

            if (!_context.Database.Exists())
            {
                throw new NoDatabaseConnectionException();
            }

            Items            = new ItemRepository(_context);
            RentalItems      = new RentalItemRepository(_context);
            RentalOrders     = new RentalOrderRepository(_context);
            RentalOrderLines = new RentalOrderLineRepository(_context);
            Users            = new UserRepository(_context);
        }
コード例 #15
0
        public void UpdateRentalItem(RentalItemViewModel model)
        {
            using (var Rental = new RentalItemRepository())
            {
                RentalItem rtl = Rental.GetById(model.RentaItemId);
                if (rtl != null)
                {
                    rtl.RentaItemId = model.RentaItemId;
                    rtl.rentalId    = model.rentalId;
                    rtl.ItemCode    = model.ItemCode;

                    rtl.Quantity = model.Quantity;

                    Rental.Update(rtl);
                }
            }
        }
コード例 #16
0
        public void Add_Returns_1_When_Adding_Valid_Item()
        {
            using (var context = new VivesRentalDbContext())
            {
                //Arrange
                var itemRepository       = new ItemRepository(context);
                var rentalItemRepository = new RentalItemRepository(context);

                //Act
                var item = ItemFactory.CreateValidEntity();
                itemRepository.Add(item);
                var rentalItem = RentalItemFactory.CreateValidEntity(item);
                rentalItemRepository.Add(rentalItem);

                var result = context.SaveChanges();

                //Assert
                Assert.AreEqual(2, result); //Because we added two entities
            }
        }
コード例 #17
0
        public void Get_Returns_Item_When_Found()
        {
            using (var context = new VivesRentalDbContext())
            {
                //Arrange
                var itemRepository       = new ItemRepository(context);
                var rentalItemRepository = new RentalItemRepository(context);

                var item = ItemFactory.CreateValidEntity();
                itemRepository.Add(item);
                var rentalItemToAdd = RentalItemFactory.CreateValidEntity(item);
                rentalItemRepository.Add(rentalItemToAdd);
                context.SaveChanges();

                //Act
                var rentalItem = rentalItemRepository.Get(rentalItemToAdd.Id);

                //Assert
                Assert.IsNotNull(rentalItem);
            }
        }