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);
        }
示例#2
0
        /// <summary>
        /// 保持データをクリアする。
        /// </summary>
        public void Clear()
        {
            // 照合済み部署をクリアする。
            CheckedDepartment.Value = null;

            // チームを全てクリアする。
            foreach (TeamViewModel team in CheckedTeams)
            {
                team.Clear();
                team.PropertyChanged -= OnTeamPropertyChanged;
            }
            CheckedTeams.Clear();

            // 登録コマンドの実行可否状態を更新する。
            ((Command)RegisterCommand).ChangeCanExecute();
        }
示例#3
0
        /// <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);
            }
        }