예제 #1
0
        public void Update(T item, Func <T, bool> findByPredicate)
        {
            var local = Context.Set <T>()
                        .Local
                        .FirstOrDefault(findByPredicate);

            Context.Entry(item).State = EntityState.Modified;
        }
예제 #2
0
        public void ShouldAddDriverWithDbSet()
        {
            var driver = new Driver {
                FirstName = "Johnny", MiddleName = "Carlos", LastName = "Lopez"
            };

            _db.Drivers.Add(driver);
            Assert.AreEqual(EntityState.Added, _db.Entry(driver).State);
            Assert.IsTrue(driver.Id == 0);
            Assert.IsNull(driver.TimeStamp);
            _db.SaveChanges();
            Assert.AreEqual(EntityState.Unchanged, _db.Entry(driver).State);
            //Assert.IsTrue(driver.Id > 0);
            Assert.IsNotNull(driver.TimeStamp);
            Assert.IsNotNull(driver.DateCreated);
            Assert.IsNotNull(driver.DateModified);
            Assert.IsNotNull(driver.UserCreated);
            Assert.IsNotNull(driver.UserModified);
            Assert.AreEqual(1, _db.Drivers.Count());
        }
예제 #3
0
        public void ShouldAddCustomerWithDbSet()
        {
            var cust = new Customer {
                Name = "Best Brakes", Address1 = "182 Arrow Ave", Address2 = "Suite B", City = "Chino", State = "CA", PointOfContact = "Jon Jay", PrimaryPhone = "9095551212", SecondaryPhone = "9095551313", EmailAddress = "*****@*****.**"
            };

            _db.Customers.Add(cust);
            Assert.AreEqual(EntityState.Added, _db.Entry(cust).State);
            Assert.IsTrue(cust.Id == 0);
            Assert.IsNull(cust.TimeStamp);
            _db.SaveChanges();
            Assert.AreEqual(EntityState.Unchanged, _db.Entry(cust).State);
            //Assert.IsTrue(driver.Id > 0);
            Assert.IsNotNull(cust.TimeStamp);
            Assert.IsNotNull(cust.DateCreated);
            Assert.IsNotNull(cust.DateModified);
            Assert.IsNotNull(cust.UserCreated);
            Assert.IsNotNull(cust.UserModified);
            Assert.AreEqual(1, _db.Customers.Count());
        }
예제 #4
0
        public void ShouldAddDeliveryWithoutFreightWithDbSet()
        {
            var cust = new Customer {
                Name = "Best Brakes"
            };
            var driver = new Driver {
                FirstName = "Johnny", MiddleName = "Carlos", LastName = "Lopez"
            };
            var address = new CustomerAddress {
                Address1 = "282 E Benbow", CustomerId = cust.Id
            };
            var delivery = new Delivery {
                RefNo = 111, DeliveryCharge = 10.85m, TotalCharge = 10.85m, CustomerId = cust.Id, DriverId = driver.Id, DeliverToAddressId = address.Id
            };

            _db.Customers.Add(cust);
            _db.Drivers.Add(driver);
            _db.Addresses.Add(address);
            _db.Deliveries.Add(delivery);
            Assert.AreEqual(EntityState.Added, _db.Entry(delivery).State);
            Assert.IsTrue(delivery.Id == 0);
            _db.SaveChanges();

            Assert.IsTrue(cust.Id > -1);
            Assert.IsTrue(driver.Id > -1);
            Assert.IsTrue(delivery.Id > -1);

            Assert.AreEqual("Best Brakes", delivery.Customer.Name);
            Assert.AreEqual("Johnny", delivery.Driver.FirstName);

            Assert.IsNotNull(delivery.TimeStamp);
            Assert.IsNotNull(delivery.DateCreated);
            Assert.IsNotNull(delivery.DateModified);
            Assert.IsNotNull(delivery.UserCreated);
            Assert.IsNotNull(driver.UserModified);
            Assert.AreEqual(1, _db.Deliveries.Count());
        }
예제 #5
0
        public void ShouldDeleteDriverWithTimestampWithRepo()
        {
            var driver = new Driver {
                FirstName = "Johnny", MiddleName = "Carlos", LastName = "Lopez"
            };

            _repo.Add(driver, false);
            _repo.SaveChanges();

            var context        = new RushHourContext();
            var driverToDelete = new Driver {
                Id = driver.Id, TimeStamp = driver.TimeStamp
            };

            context.Entry(driverToDelete).State = EntityState.Deleted;
            var affected = context.SaveChanges();

            Assert.AreEqual(1, affected);
        }
예제 #6
0
        public void ShouldDeleteDriverWithTimestampWithRepo()
        {
            var cust = new Customer {
                Name = "Best Brakes"
            };

            _repo.Add(cust, false);
            _repo.SaveChanges();

            var context      = new RushHourContext();
            var custToDelete = new Customer {
                Id = cust.Id, TimeStamp = cust.TimeStamp
            };

            context.Entry(custToDelete).State = EntityState.Deleted;
            var affected = context.SaveChanges();

            Assert.AreEqual(1, affected);
        }
예제 #7
0
 public virtual int Update(T entity, bool persist = true)
 {
     Db.Entry(entity).State = EntityState.Modified;
     return(persist ? SaveChanges() : 0);
 }
 public virtual void Delete(T entity)
 {
     context.Entry(entity).State = EntityState.Deleted;
 }
예제 #9
0
 public void Update(T obj)
 {
     _table.Attach(obj);
     db.Entry(obj).State = EntityState.Modified;
 }