private void Page_Loaded(object sender, RoutedEventArgs e)
        {
            try
            {
                pageMode = PageFunctions.pageParameter(this, "Mode");
                Globals.ProjectSourceMode = pageMode;
            }
            catch (Exception generalException)
            {
                MessageFunctions.Error("Error retrieving query details", generalException);
                PageFunctions.ShowTilesPage();
            }

            refreshClientCombo();
            refreshStatusCombo();
            refreshStageCombo();
            setTimelineType(Globals.SelectedTimelineType);
            FromDate.SelectedDate = Globals.SelectedFromDate;
            ToDate.SelectedDate   = Globals.SelectedToDate;
            PageFunctions.ShowFavouriteButton();
            if (pageMode == PageFunctions.View)
            {
                AmendImage.SetResourceReference(Image.SourceProperty, "ViewIcon");
                Instructions.Content += " Click 'Details' to see a project's full timeline.";
            }
            else
            {
                Instructions.Content += " Click 'Details' to amend a project's timeline.";
            }

            pageLoaded = true;
            refreshHistoryDataGrid();
            Globals.ProjectSourcePage = "StageHistoryPage";
        }
 private void Page_Loaded(object sender, RoutedEventArgs e)
 {
     try
     {
         pageMode      = PageFunctions.pageParameter(this, "Mode");
         staffIDString = PageFunctions.pageParameter(this, "StaffID");
     }
     catch (Exception generalException)
     {
         MessageFunctions.Error("Error retrieving query details", generalException);
         PageFunctions.ShowTilesPage();
     }
     canEditTeams = (pageMode != PageFunctions.View && Globals.MyPermissions.Allow("EditProjectTeams"));
     PageFunctions.ShowFavouriteButton();
     toggleEditMode(false);
     refreshStatusCombo();
     refreshRoleFilterCombo();
     setTeamTimeRadio();
     Int32.TryParse(staffIDString, out staffID);
     if (staffID > 0)
     {
         chooseStaffName(staffID);
     }
     this.DataContext = editTeamRecord;
     toggleBackButton();
     MessageFunctions.InfoAlert("Current key roles are bold. Future roles are blue, and past ones are grey; otherwise, Live (open) projects are green.", "Grid formatting:");
 }
        private void Page_Loaded(object sender, RoutedEventArgs e)
        {
            try
            {
                pageMode = PageFunctions.pageParameter(this, "Mode");
                canEdit  = (pageMode != PageFunctions.View && Globals.MyPermissions.Allow("EditActions"));
                staffID  = Int32.Parse(PageFunctions.pageParameter(this, "StaffID"));
            }
            catch (Exception generalException)
            {
                MessageFunctions.Error("Error retrieving query details", generalException);
                PageFunctions.ShowTilesPage();
            }

            setUpHeaderStyles();
            ProjectButton.Margin = CommitButton.Margin;
            refreshClientCombo();
            refreshStatusCombo();
            FromDate.SelectedDate = fromDate = Globals.StartOfTime;
            ToDate.SelectedDate   = toDate = Globals.OneMonthAhead;
            setCompletedLists();
            if (staffID > 0)
            {
                chooseCombinedStaffMember(staffID);
            }

            pageLoaded = true;
            refreshActionsGrid();
            ProjectFunctions.ActionsChanged += actionsAmended;
            PageFunctions.ShowFavouriteButton();
        }
 private void setUpAmendMode()
 {
     thisProjectProxy    = Globals.SelectedProjectProxy;
     originalManagerID   = thisProjectProxy.ProjectManager.ID;
     originalStageNumber = thisProjectProxy.StageNumber;
     displaySelectedType();
     displaySelectedStage();
     refreshManagerCombo(false);
     refreshClientCombo();
     PageFunctions.ShowFavouriteButton();
     ProjectFunctions.ToggleFavouriteButton(true);
 }
        // --------- Other/shared functions --------- //

        private void setUpViewMode()
        {
            try
            {
                ClientCombo.IsReadOnly  = ProjectName.IsReadOnly = TypeCombo.IsReadOnly = true;
                ManagerCombo.IsReadOnly = StageCombo.IsReadOnly = ProjectSummary.IsReadOnly = true;
                StartDate.IsEnabled     = false; // This cannot be read-only so an inner style trigger makes it appear read-only
                ProjectCode.IsEnabled   = true;
                ProjectCode.IsReadOnly  = true;
                CommitButton.Visibility = NextButton.Visibility = NonPMsCheckBox.Visibility = SearchButton.Visibility = Visibility.Hidden;
                CancelButtonText.Text   = "Close";
                PageHeader.Content      = "View Project Details";
                HeaderImage2.SetResourceReference(Image.SourceProperty, "ViewIcon");
                Instructions.Content = "This page is read-only; values can be selected but not changed.";
            }
            catch (Exception generalException)
            {
                MessageFunctions.Error("Error displaying project details", generalException);
                closeDetailsPage(false, false);
            }

            if (Globals.SelectedProjectProxy != null) // Just to be sure (for view mode)
            {
                try
                {
                    thisProjectProxy = Globals.SelectedProjectProxy;
                    TypeCombo.Items.Add(thisProjectProxy.Type);
                    StageCombo.Items.Add(thisProjectProxy.Stage);
                    ManagerCombo.Items.Add(thisProjectProxy.ProjectManager);
                    if (thisProjectProxy.Client != null && thisProjectProxy.Client.ID > 0)
                    {
                        ClientCombo.Items.Add(thisProjectProxy.Client);
                    }
                    else
                    {
                        ClientCombo.Items.Add(Globals.NoClient);
                        ClientCombo.SelectedIndex = 0;
                    }
                    PageFunctions.ShowFavouriteButton();
                    ProjectFunctions.ToggleFavouriteButton(true);
                }
                catch (Exception generalException) { MessageFunctions.Error("Error setting current project details", generalException); }
            }
        }
        private void Page_Loaded(object sender, RoutedEventArgs e)
        {
            try
            {
                pageMode = PageFunctions.pageParameter(this, "Mode");
                Globals.ProjectSourceMode = pageMode;
                //Globals.ProjectSourcePage = "ProjectPage"; // Now set in Page Functions beforehand
                if (pageMode == PageFunctions.View || !Globals.MyPermissions.Allow("EditProjects"))
                {
                    viewOnly = true;
                }
                if (pageMode != PageFunctions.Lookup)
                {
                    PageFunctions.ShowFavouriteButton();
                }
            }
            catch (Exception generalException)
            {
                MessageFunctions.Error("Error retrieving query details", generalException);
                closePage(true);
            }

            if (pageMode == PageFunctions.View)
            {
                AddButton.Visibility = CommitButton.Visibility = Visibility.Hidden;
                AmendImage.SetResourceReference(Image.SourceProperty, "ViewIcon");
            }
            else if (pageMode == PageFunctions.Amend)
            {
                PageHeader.Content   = "Amend or Manage Projects";
                Instructions.Content = "Use filters to restrict results and column headers to sort them, then choose the required option.";
                HeaderImage2.SetResourceReference(Image.SourceProperty, "AmendIcon");
                CommitButton.Visibility = Visibility.Hidden;
                AddButton.Visibility    = Globals.MyPermissions.ShowOrCollapse("AddProjects");
            }
            else if (pageMode == PageFunctions.Lookup)
            {
                PageHeader.Content   = "Select Project";
                Instructions.Content = "Use filters to restrict results and column headers to sort them, then choose the desired project.";
                HeaderImage2.SetResourceReference(Image.SourceProperty, "SearchIcon");
                AddButton.Visibility  = AmendButton.Visibility = BackButton.Visibility = MoreButton.Visibility = Visibility.Hidden;
                CommitButton.Margin   = AmendButton.Margin;
                CancelButtonText.Text = "Cancel";
            }

            try
            {
                BackButton.Visibility = ProjectFunctions.BackButtonVisibility("ProjectPage");
                BackButton.ToolTip    = ProjectFunctions.BackButtonTooltip();
                refreshClientCombo();
                refreshPMsCombo();
                if (ProjectFunctions.PMFilterList.Exists(ssr => ssr.ID == Globals.MyStaffID))
                {
                    PMsCombo.SelectedItem = ProjectFunctions.PMFilterList.First(ssr => ssr.ID == Globals.MyStaffID);
                }
                refreshStatusCombo();
                toggleMoreButton();
            }
            catch (Exception generalException)
            {
                MessageFunctions.Error("Error refreshing filters", generalException);
                closePage(true);
            }
        }