public void ShouldAcceptChanges() { var wrapper = new EmployeeWrapper(_employee); wrapper.Address.City = "different city"; Assert.AreEqual(ChangeTrackingComplexProperties.City, wrapper.Address.CityOriginalValue); wrapper.AcceptChanges(); Assert.IsFalse(wrapper.IsChanged); Assert.AreEqual("different city", wrapper.Address.City); Assert.AreEqual("different city", wrapper.Address.CityOriginalValue); }
private async Task SaveAsync() { var statusBarMsg = ""; var corrLog = logger.ForContext("EmployeeId", SelectedItem.EmployeeId).ForContext <EmployeeAddViewModel>(); try { await Task.Run(() => { if ((bool)SelectedItem.IsNew) { statusBarMsg = String.Format("{0} {1} was added as a new employee successfully", SelectedItem.FirstName, SelectedItem.LastName); corrLog.Information("New Employee was added: {FirstName:l} {LastName:l}, {Date}, {Guid}", SelectedItem.FirstName, SelectedItem.LastName, DateTime.Now, Guid.NewGuid()); corrLog.Error("Test Error"); } else { statusBarMsg = String.Format("Updated Employee {0} {1} information successfully", SelectedItem.FirstName, SelectedItem.LastName); corrLog.Information("Edited employee: {FirstName:l} {LastName:l}, {Date}, {Guid}", SelectedItem.FirstName, SelectedItem.LastName, DateTime.Now, Guid.NewGuid()); corrLog.Error("Test Error"); } _clientService.Update <Employee>(SelectedItem.Model); SelectedItem.AcceptChanges(); _eventAggregator.GetEvent <StatusBarEvent>().Publish(statusBarMsg + DateTime.Now); }); } catch (Exception ex) { var errorMessage = ""; if ((bool)SelectedItem.IsNew) { errorMessage = String.Format("Failed to add new employee {0} {1}", SelectedItem.FirstName, SelectedItem.LastName); } else { errorMessage = String.Format("Failed to update {0} {1} info", SelectedItem.FirstName, SelectedItem.LastName); } _eventAggregator.GetEvent <StatusBarEvent>().Publish(errorMessage + DateTime.Now); SelectedItem.RejectChanges(); logger.Error(errorMessage); } }
public void ShouldAcceptChanges() { var wrapper = new EmployeeWrapper(_employee); wrapper.FirstName = "Thien"; Assert.AreEqual("Thien", wrapper.FirstName); Assert.AreEqual("Van", wrapper.FirstNameOriginalValue); Assert.IsTrue(wrapper.FirstNameIsChanged); Assert.IsTrue(wrapper.IsChanged); wrapper.AcceptChanges(); Assert.AreEqual("Thien", wrapper.FirstName); Assert.AreEqual("Thien", wrapper.FirstNameOriginalValue); //Once accept everything is wiped out, so FirstNameOriginalValue points to FirstName current value. Assert.IsFalse(wrapper.FirstNameIsChanged); //Once changes has been accepted, reset the IsChanges for all property. Assert.IsFalse(wrapper.IsChanged); //Reset the model IsChange to false, but once AcceptChanges() run, all model property has been updated. }
public void ShouldAcceptChanges() { var wrapper = new EmployeeWrapper(_employee); wrapper.FirstName = "something different"; Assert.AreEqual("something different", wrapper.FirstName); Assert.AreEqual(ChangeTrackingSimpleProperties.FirstName, wrapper.FirstNameOriginalValue); Assert.IsTrue(wrapper.FirstNameIsChanged); Assert.IsTrue(wrapper.IsChanged); wrapper.AcceptChanges(); Assert.AreEqual("something different", wrapper.FirstName); Assert.AreEqual("something different", wrapper.FirstNameOriginalValue); Assert.IsFalse(wrapper.FirstNameIsChanged); Assert.IsFalse(wrapper.IsChanged); }