Esempio n. 1
0
        /// <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);
        }
Esempio n. 2
0
        /// <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);
            }
        }
Esempio n. 3
0
        /// <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);
        }
Esempio n. 4
0
        /// <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;
        }
Esempio n. 5
0
        /// <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);
        }
Esempio n. 6
0
        /// <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);
        }
Esempio n. 7
0
        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();
            }
        }
Esempio n. 8
0
        /// <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();
            }
        }
Esempio n. 9
0
        /// <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);
        }