Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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.
        }
Ejemplo n.º 4
0
        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);
        }