/// <summary> /// /// </summary> /// <returns></returns> protected virtual OperationState ValidateEditedNewName(string newName = "") { UserEditorItem page = (UserEditorItem)getUserEditor().getActivePage(); Domain.User table = page.EditedObject; if (string.IsNullOrEmpty(newName)) { newName = page.getUserForm().userMainPanel.nameTextBox.Text.Trim(); } if (string.IsNullOrEmpty(newName)) { DisplayError("Empty Name", "The User name can't be mepty!"); page.getUserForm().userMainPanel.nameTextBox.SelectAll(); page.getUserForm().userMainPanel.nameTextBox.Focus(); return(OperationState.STOP); } bool found = false; if (GetUserService().getByName(newName) != null) { found = true; } foreach (UserEditorItem unReco in getUserEditor().getPages()) { if ((found && newName != getUserEditor().getActivePage().Title) || (unReco != getUserEditor().getActivePage() && newName == unReco.Title)) { DisplayError("Duplicate Name", "There is another user named: " + newName); page.getUserForm().userMainPanel.nameTextBox.Text = page.Title; // page.getUserForm().userMainPanel.nameTextBox.SelectAll(); // page.getUserForm().userMainPanel.nameTextBox.Focus(); return(OperationState.STOP); } } if (!IsRenameOnDoubleClick) { if (table.name.ToUpper().Equals(newName.ToUpper())) { return(OperationState.CONTINUE); } } ((UserSideBar)SideBar).UserGroup.UserTreeview.updateUser(newName, table.name, false); table.name = newName; page.Title = newName; OnChange(); return(OperationState.CONTINUE); }
/// <summary> /// Cette methode est exécuté lorsqu'on édit le nom de la table active. /// Si l'utilisateur tappe sur la touche ENTER, le nouveau nom est validé. /// </summary> /// <param name="sender"></param> /// <param name="args"></param> protected void onUserNameTextChange(object sender, KeyEventArgs args) { UserEditorItem page = (UserEditorItem)getUserEditor().getActivePage(); if (args.Key == Key.Escape) { string newName = page.getUserForm().userMainPanel.nameTextBox.Text; Rename(newName); } else if (args.Key == Key.Enter) { string newName = page.getUserForm().userMainPanel.nameTextBox.Text; Rename(newName); } }
/// <summary> /// /// </summary> /// <param name="sender"></param> /// <param name="args"></param> protected void onUserNameTextLostFocus(object sender, RoutedEventArgs args) { UserEditorItem page = (UserEditorItem)getUserEditor().getActivePage(); string newName = page.getUserForm().userMainPanel.nameTextBox.Text; Rename(newName); }
/// <summary> /// Initialisation des Handlers sur une nouvelle page. /// En plus des handlers de base, on initialise les handlers sur : /// - DesignerPropertiesPanel /// - /// - SpreadSheet /// - /// </summary> protected override void initializePageHandlers(EditorItem <Domain.User> page) { base.initializePageHandlers(page); UserEditorItem editorPage = (UserEditorItem)page; editorPage.getUserForm().userMainPanel.nameTextBox.KeyUp += onNameTextChange; editorPage.getUserForm().userMainPanel.nameTextBox.LostFocus += onNameTextLostFocus; editorPage.getUserForm().userMainPanel.loginTextBox.KeyUp += onLoginTextChange; editorPage.getUserForm().userMainPanel.loginTextBox.LostFocus += onLoginTextLostFocus; editorPage.getUserForm().userMainPanel.RelationPanel.Changed += OnRelationChange; editorPage.getUserForm().userMainPanel.profilcomboBox.SelectionChanged += onProfilFieldChange; editorPage.getUserForm().userMainPanel.RelationPanel.ItemChanged += OnRelationItemChange; editorPage.getUserForm().userMainPanel.RelationPanel.ItemDeleted += OnRelationItemDelete; editorPage.getUserForm().userMainPanel.nameTextBox.LostFocus += onUserNameTextLostFocus; editorPage.getUserForm().userMainPanel.nameTextBox.KeyUp += onUserNameTextChange; }
/// <summary> /// /// </summary> /// <param name="oid"></param> /// <returns></returns> public override OperationState Open(Domain.User user) { UserEditorItem page = (UserEditorItem)getEditor().addOrSelectPage(user); initializePageHandlers(page); page.getUserForm().userMainPanel.InitService(GetUserService()); page.getUserForm().userMainPanel.InitProfilComboBox(); page.getUserForm().userMainPanel.InitRelationPanel(); page.getUserForm().displayObject(); getEditor().ListChangeHandler.AddNew(user); if (this.ToolBar != null) { this.ToolBar.SaveButton.IsEnabled = false; } return(OperationState.CONTINUE); }
/// <summary> /// Cette methode permet de créer une nouvelle reco. /// </summary> /// <returns>CONTINUE si la création de la nouvelle reconciliation se termine avec succès. STOP sinon</returns> public override OperationState Create() { Domain.User user = GetNewUser(); ((UserSideBar)SideBar).UserGroup.UserTreeview.AddUser(user); UserEditorItem page = (UserEditorItem)getUserEditor().addOrSelectPage(user); initializePageHandlers(page); page.getUserForm().UserService = GetUserService(); page.getUserForm().userMainPanel.InitService(GetUserService()); page.Title = user.name; page.getUserForm().displayObject(); getUserEditor().ListChangeHandler.AddNew(user); page.getUserForm().userMainPanel.InitProfilComboBox(); page.getUserForm().userMainPanel.InitRelationPanel(); return(OperationState.CONTINUE); }
private void onProfilFieldChange(object sender, System.Windows.Controls.SelectionChangedEventArgs e) { UserEditorItem page = (UserEditorItem)getUserEditor().getActivePage(); if (page != null) { string name = page.getUserForm().userMainPanel.profilcomboBox.SelectedItem.ToString(); string profilS = (string)page.getUserForm().userMainPanel.profilcomboBox.SelectedItem; //Domain.Profil profil = (Domain.Profil)page.getUserForm().userMainPanel.profilcomboBox.SelectedItem; ((UserSideBar)SideBar).UserGroup.UserTreeview.updateUser(name, page.Title, true); Domain.User usTemp = page.EditedObject; usTemp.profil = GetUserService().ProfilService.getByName(profilS); page.EditedObject = usTemp; page.EditedObject.isModified = true; OnChange(); } }
/// <summary> /// Cette methode est exécuté lorsqu'on édit le nom de la table active. /// Si l'utilisateur tappe sur la touche ENTER, le nouveau nom est validé. /// </summary> /// <param name="sender"></param> /// <param name="args"></param> protected void onNameTextChange(object sender, KeyEventArgs args) { UserEditorItem page = (UserEditorItem)getUserEditor().getActivePage(); if (args.Key == Key.Escape) { page.getUserForm().userMainPanel.nameTextBox.Text = page.Title; } else if (args.Key == Key.Enter) { ValidateEditedNewName(); } }
/// <summary> /// /// </summary> /// <returns></returns> protected virtual OperationState ValidateEditedLoginName(string loginName = "") { UserEditorItem page = (UserEditorItem)getUserEditor().getActivePage(); Domain.User table = page.EditedObject; if (string.IsNullOrEmpty(loginName)) { loginName = page.getUserForm().userMainPanel.loginTextBox.Text.Trim(); } if (string.IsNullOrEmpty(loginName)) { DisplayError("Empty Login", "The User login can't be empty!"); page.getUserForm().userMainPanel.loginTextBox.SelectAll(); page.getUserForm().userMainPanel.loginTextBox.Focus(); return(OperationState.STOP); } bool found = false; if (GetUserService().getUserByLogin(loginName) != null) { found = true; } foreach (UserEditorItem unReco in getUserEditor().getPages()) { if ((found && loginName != getUserEditor().getActivePage().EditedObject.login) || (unReco != getUserEditor().getActivePage() && loginName == unReco.EditedObject.login)) { DisplayError("Duplicate Login", "There is another User named: " + loginName); page.getUserForm().userMainPanel.loginTextBox.Text = getUserEditor().getActivePage().EditedObject.login != null?getUserEditor().getActivePage().EditedObject.login : getUserEditor().getActivePage().Title; page.getUserForm().userMainPanel.loginTextBox.SelectAll(); page.getUserForm().userMainPanel.loginTextBox.Focus(); return(OperationState.STOP); } } OnChange(); return(OperationState.CONTINUE); }