private void btnRegister_Click(object sender, RoutedEventArgs e) { ResetValidationMessage(); List <string> selectedTeamNames = CheckedTeams.ToList(); MemberViewModel.Password = tbPassword.Password; MemberViewModel.PasswordConfirm = tbPasswordConfirm.Password; bool areFilled = MemberViewModel.AreRequiredFieldsFilled(); if (!areFilled) { DisplayValidationMessage(RequiredFieldsValidationMessage); return; } bool arePasswordEqual = MemberViewModel.ArePasswordEqual(); if (!arePasswordEqual) { DisplayValidationMessage(PasswordEqualValidationMessage); return; } Member newMember = ATACore.Managers.MemberManager.CreateUser(ATACore.Managers.ContextManager.Context, MemberViewModel.UserName, tbPassword.Password, MemberViewModel.Email, MemberViewModel.TfsUserName, cbRole.SelectedItem.ToString(), selectedTeamNames, MemberViewModel.Comment); ATACore.Managers.ContextManager.Context.Dispose(); tbPassword.Password = String.Empty; tbPasswordConfirm.Password = String.Empty; ModernDialog.ShowMessage(MemberCreatedMessage, "Success!", MessageBoxButton.OK); Navigator.Navigate("/LoginView.xaml", this); }
/// <summary> /// 保持データをクリアする。 /// </summary> public void Clear() { // 照合済み部署をクリアする。 CheckedDepartment.Value = null; // チームを全てクリアする。 foreach (TeamViewModel team in CheckedTeams) { team.Clear(); team.PropertyChanged -= OnTeamPropertyChanged; } CheckedTeams.Clear(); // 登録コマンドの実行可否状態を更新する。 ((Command)RegisterCommand).ChangeCanExecute(); }
/// <summary> /// 部署IDの入力。 /// </summary> /// <param name="input"></param> public void SetDepartmentNo(string input) { // ひとまず保持データを消去する。 Clear(); // データを取得する。 DepartmentController ctrl = new DepartmentController(); Department dept = ctrl.Get(input); if (dept == null) { return; } // 部署名を表示する。 CheckedDepartment.Value = new DepartmentViewModel { Department = dept, }; // チームViewModel一覧を生成する。 foreach (Team team in dept.Teams) { // まずは、チームに属する社員ViewModel一覧を生成。 ObservableCollection <EmployeeSafetyViewModel> empSafetyVm = new ObservableCollection <EmployeeSafetyViewModel>(); foreach (Employee emp in team.Employees) { empSafetyVm.Add(new EmployeeSafetyViewModel(emp)); } // チームViewModelを生成。 TeamViewModel teamVm = new TeamViewModel { Team = team, EmployeeSafetyVms = empSafetyVm, }; teamVm.PropertyChanged += OnTeamPropertyChanged; CheckedTeams.Add(teamVm); } }