Ejemplo n.º 1
0
        /// <summary>
        /// Display the page and call
        /// </summary>
        /// <param name="page"></param>
        protected OperationState openPage(Controllable page)
        {
            FunctionalityType functionalityType = page.NavigationToken != null ? page.NavigationToken.FunctionalityType : FunctionalityType.MAIN_FONCTIONALITY;
            bool isSubFonctionality             = functionalityType == FunctionalityType.SUB_FONCTIONALITY;

            if (page == null)
            {
                return(OperationState.CONTINUE);
            }

            if (ActivePage != null && ActivePage is FileController)
            {
                page.ParentController = ActivePage;
            }

            if (ActivePage == null || (!page.Equals(ActivePage) || !page.FunctionalityCode.Equals(ActivePage.FunctionalityCode)))
            {
                if (isSubFonctionality)
                {
                    page.ParentController = ActivePage;
                }

                ActivePage = page;
                ApplicationManager.MainWindow.displayPage(page);
                if (!OpenedPages.Contains(page))
                {
                    OpenedPages.Add(page);
                }
            }
            return(OperationState.CONTINUE);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Open the Search view for a functionality in creation mode
        /// </summary>
        /// <param name="token">NavigationToken</param>
        protected OperationState openSearchPage(NavigationToken token)
        {
            String       functionality = token.Functionality;
            Controllable page          = searchInOpenedPages(functionality);

            if (page == null)
            {
                page = ApplicationManager.ControllerFactory.GetController(functionality, token.ViewType, token.EditionMode);
                if (page == null)
                {
                    return(openHomePage());
                }
                OpenedPages.Add(page);
                page.NavigationToken = token;
                page.Initialize();
            }
            openPage(page);
            page.Search();

            if (token.ItemId != null)
            {
                int idmodel = int.Parse(token.ItemId.ToString());
                page.Search(idmodel);
            }
            return(OperationState.CONTINUE);
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Procède à la fermeture de la page.
        /// </summary>
        /// <param name="page"></param>
        /// <returns></returns>
        public void OnClosePage(object param)
        {
            Controllable page = (Controllable)param;

            if (page == null)
            {
                return;
            }
            try
            {
                if (OpenedPages.Contains(page))
                {
                    OpenedPages.Remove(page);
                }
                if (ActivePage != null && ActivePage.Equals(page))
                {
                    ActivePage = null;
                    FunctionalityType functionalityType = page.NavigationToken != null ? page.NavigationToken.FunctionalityType : FunctionalityType.MAIN_FONCTIONALITY;
                    bool isSubFonctionality             = functionalityType == FunctionalityType.SUB_FONCTIONALITY;
                    if (isSubFonctionality && page.ParentController != null)
                    {
                        openPage(page.ParentController);
                    }
                    else if (OpenedPages.Count > 0)
                    {
                        openPage(OpenedPages[OpenedPages.Count - 1]);
                        return;
                    }
                    else
                    {
                        openHomePage();
                    }
                }
            }
            catch (Exception e)
            {
                MessageDisplayer.DisplayError("Error", e.Message);
                return;
            }
            return;
        }
Ejemplo n.º 4
0
 public void Dispose()
 {
     OpenedPages.DisposeAll();
     _currentPageChanged.OnCompleted();
     _openedPagesChanged.OnCompleted();
 }
Ejemplo n.º 5
0
        /// <summary>
        /// Open a Edition view for a fonctionality
        /// This method shall be called by the PageManager
        /// </summary>
        /// <param name="token">NavigationToken</param>
        protected OperationState openEditionPage(NavigationToken token)
        {
            Controllable page = null;

            try
            {
                String functionality = token.Functionality;

                if (functionality == FunctionalitiesCode.FILE_SAVE)
                {
                    return(saveFile(token));
                }

                page = searchInOpenedPages(functionality);

                if (page == null)
                {
                    page = ApplicationManager.ControllerFactory.GetController(functionality, token.ViewType, token.EditionMode);
                    if (page == null)
                    {
                        return(openHomePage());
                    }
                    OpenedPages.Add(page);
                    page.NavigationToken = token;
                    page.Initialize();
                }
                openPage(page);
                EditionMode editionMode = token.EditionMode;
                object      oid         = token.ItemId;
                if (editionMode == EditionMode.CREATE)
                {
                    page.Create();
                }
                else if (editionMode == EditionMode.READ_ONLY)
                {
                    if (token.ItemIds.Count == 0)
                    {
                        page.Open(oid);
                    }

                    foreach (object id in token.ItemIds)
                    {
                        if (id != null)
                        {
                            page.Open(id);
                        }
                    }
                }
                else if (editionMode == EditionMode.MODIFY)
                {
                    if (token.ItemIds.Count == 0)
                    {
                        page.Edit(oid);
                    }
                    foreach (object id in token.ItemIds)
                    {
                        if (id != null)
                        {
                            page.Edit(id);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                InternalErrorMessage = ex.Message;
                OnClosePage(page);
            }
            return(OperationState.CONTINUE);
        }
Ejemplo n.º 6
0
        /// <summary>
        /// Display the page that corresponds to the history token
        /// If there is a valid history token, then navigate to the corresponding page
        /// otherwise open the home page
        /// </summary>
        /// <param name="token"></param>
        protected void OnOpenPage(object param)
        {
            NavigationToken token = (NavigationToken)param;
            Controllable    page  = null;

            try
            {
                string functionality = token.Functionality;
                if (functionality == FunctionalitiesCode.HELP_ABOUT)
                {
                    OpenAboutDialog(); return;
                }
                if (functionality == FunctionalitiesCode.LOAD_TABLES_AND_GRIDS)
                {
                    StartRunAllAllocation(); return;
                }
                if (functionality == FunctionalitiesCode.LOAD_CLEAR_TABLES_AND_GRIDS)
                {
                    StartClearAllAllocation(); return;
                }
                if (functionality == FunctionalitiesCode.LOAD_LOG)
                {
                    StartAllocationLog(); return;
                }
                if (functionality == FunctionalitiesCode.MULTIPLE_FILES_UPLOAD)
                {
                    UploadMultipleFiles(); return;
                }
                if (functionality == FunctionalitiesCode.PROPERTIES_FUNCTIONALITY)
                {
                    createProperties(); return;
                }
                if (functionality == FunctionalitiesCode.TRANSFORMATION_TREE_LOAD)
                {
                    LoadTransformationTrees(false); return;
                }
                if (functionality == FunctionalitiesCode.TRANSFORMATION_TREE_CLEAR)
                {
                    LoadTransformationTrees(true); return;
                }
                if (functionality == FunctionalitiesCode.FILE_SAVE)
                {
                    token.currentActiveFunctionality = ActivePage.FunctionalityCode;
                }
                if (functionality == FunctionalitiesCode.FILE_SAVE_AS)
                {
                    SaveFileAs(token); return;
                }
                if (functionality == FunctionalitiesCode.BACKUP_SIMPLE_FUNCTIONALITY || functionality == FunctionalitiesCode.BACKUP_AUTOMATIC_FUNCTIONALITY)
                {
                    bool isSimpleBackup = functionality == FunctionalitiesCode.BACKUP_SIMPLE_FUNCTIONALITY;
                    loadBackup(functionality, isSimpleBackup); return;
                }

                string            tag = token.GetTag();
                FunctionalityType functionalityType = token.FunctionalityType;
                ViewType          viewType          = token.ViewType;

                bool isMainFonctionality = functionalityType == FunctionalityType.MAIN_FONCTIONALITY;

                OperationState state = OperationState.CONTINUE;
                if (isMainFonctionality && !(ActivePage != null && ActivePage is FileController))
                {
                    string activefunctionality = ActivePage != null ? ActivePage.FunctionalityCode : null;
                    page = searchInOpenedPages(activefunctionality);
                    bool tryToSaveActivePage = page != null && activefunctionality != null && !activefunctionality.Equals(functionality);
                    state = tryToSaveActivePage ? page.Close() : OperationState.CONTINUE;

                    if (page != null && state == OperationState.CONTINUE)
                    {
                        OpenedPages.Remove(page);
                    }
                }
                else
                {
                }

                if (state == OperationState.CONTINUE)
                {
                    ApplicationManager.MainWindow.SetPogressBar1Visible(false);
                    ApplicationManager.MainWindow.SetPogressBar2Visible(false);
                    if (viewType == ViewType.LOGOUT)
                    {
                        tryToCloseApplication(); return;
                    }
                    else if (viewType == ViewType.EDITION)
                    {
                        this.openEditionPage(token);
                        if (!String.IsNullOrEmpty(InternalErrorMessage))
                        {
                            MessageDisplayer.DisplayError("Error", InternalErrorMessage);
                            InternalErrorMessage = null;
                        }
                    }
                    else
                    {
                        openSearchPage(token);
                    }
                }
            }
            catch (Exception e)
            {
                MessageDisplayer.DisplayError("Error", e.Message);
                return;
            }
            return;
        }