예제 #1
0
        private void AddDepartmentExecute(object parameter)
        {
            var editDepartmentViewModel = new EditDepartmentViewModel(m_unitOfWorkFactory);
            var editView = new View.EditDepartmentView
            {
                DataContext = editDepartmentViewModel
            };

            // This seems nuts - we are inspecting the view model
            bool?result = editView.ShowDialog();

            if (result.HasValue && result.Value)
            {
                // Update model
                Department newDepartment = new Department
                {
                    Name = editDepartmentViewModel.Name
                };
                using (IUnitOfWork unitOfWork = m_unitOfWorkFactory.Create())
                {
                    unitOfWork.Departments.Add(newDepartment);
                    unitOfWork.Complete();
                }

                // Update view model
                var newViewModel = new DepartmentViewModel(m_unitOfWorkFactory, newDepartment.DepartmentId, newDepartment.Name);
                AllDepartments.Add(newViewModel);
                SelectedDepartment = newViewModel;
            }
        }
예제 #2
0
        private void EditDepartmentExecute(object parameter)
        {
            var editDepartmentViewModel = new EditDepartmentViewModel(m_unitOfWorkFactory, SelectedDepartment.DepartmentId, SelectedDepartment.Name);
            var editView = new View.EditDepartmentView {
                DataContext = editDepartmentViewModel
            };

            // This seems nuts - we are inspecting the view model
            bool?result = editView.ShowDialog();

            if (result.HasValue && result.Value)
            {
                // Update model
                using (IUnitOfWork unitOfWork = m_unitOfWorkFactory.Create())
                {
                    Department storedDepartment = unitOfWork.Departments.Get(editDepartmentViewModel.DepartmentId);
                    storedDepartment.Name = editDepartmentViewModel.Name;
                    unitOfWork.Complete();
                }

                // Update view model
                SelectedDepartment.Name = editDepartmentViewModel.Name;
            }
        }