public void ContactModel_UpdateModel_DateCreatedIsNotChanged()
        {
            //Arrange
            var expectedDate = DateTime.Now;
            var contact1 = new Contact()
            {
                ContactID = 1,
                Address = "123 Fake Street",
                City = "Fake City",
                DateCreated = expectedDate,
                FirstName = "Test",
                LastName = "Guy",
                PhoneNumber = "8016869999",
                State = "UT",
                ZipCode = "84102"
            };

            var contact2 = new Contact()
            {
                ContactID = 198,
                Address = "123 Fake Street",
                City = "Fake City",
                DateCreated = DateTime.Now.AddDays(-20),
                FirstName = "Test Changed",
                LastName = "Guy",
                PhoneNumber = "8016869999",
                State = "UT",
                ZipCode = "84102"
            };

            contact1.UpdateModel(ref contact2);

            Assert.Equal(contact1.DateCreated, expectedDate);
        }
 public void UpdateModel(ref Contact c)
 {
     FirstName = c.FirstName;
     LastName = c.LastName;
     Address = c.Address;
     City = c.City;
     State = c.State;
     ZipCode = c.ZipCode;
     PhoneNumber = c.PhoneNumber;
 }
 public virtual Contact Insert(Contact contact)
 {
     try
     {
         contact.DateCreated = DateTime.Now;
         return contact;
     }
     catch (Exception ex)
     {
         Log.Error(ex.Message, ex);
         throw;
     }
 }
        public override Contact Insert(Contact contact)
        {
            try
            {
                contact = base.Insert(contact);

                _db.Contacts.Add(contact);
                _db.SaveChanges();

                return contact;
            }
            catch (Exception ex)
            {
                Log.Error(ex.Message);
                throw;
            }
        }
        public override Contact Update(Contact contact)
        {
            try
            {
                var c = _db.Contacts.Find(contact.ContactID);

                c.UpdateModel(ref contact);

                _db.Entry(c).State = EntityState.Modified;
                _db.SaveChanges();
                return c;
            }
            catch (Exception ex)
            {
                Log.Error(ex.Message);
                throw;
            }
        }
        public void ContactModel_UpdateModel_FirstNameIsChanged()
        {
            //Arrange
            const string originalName = "Test";
            const string expectedName = "Test Changed";
            var contact1 = new Contact()
            {
                ContactID = 1,
                Address = "123 Fake Street",
                City = "Fake City",
                DateCreated = DateTime.Now,
                FirstName = originalName,
                LastName = "Guy",
                PhoneNumber = "8016869999",
                State = "UT",
                ZipCode = "84102"
            };

            var contact2 = new Contact()
            {
                ContactID = 198,
                Address = "123 Fake Street",
                City = "Fake City",
                DateCreated = DateTime.Now.AddDays(-20),
                FirstName = expectedName,
                LastName = "Guy",
                PhoneNumber = "8016869999",
                State = "UT",
                ZipCode = "84102"
            };

            contact1.UpdateModel(ref contact2);

            Assert.Equal(contact1.FirstName, expectedName);
        }
 public override Contact Update(Contact contact)
 {
     throw new NotImplementedException();
 }
 public abstract Contact Update(Contact contact);