private void loadData()
        {
            OrganizationChartLog chartLog = base.CurrentOrgChartLog;
            int  tempPositionID           = -1;
            bool isOK = int.TryParse(Request.QueryString[VIEWPOSIDKEY], out tempPositionID);

            if (isOK)
            {
                OrganizationChartPositionLog position = OrganizationChartPositionLogManager.Instance.GetByID(chartLog.OrganizationChartLogID, tempPositionID);

                if (position.WFPPositionID == -1)
                {
                    base.PrintErrorMessage(GetLocalResourceObject("PositionDoesNotExistMessage").ToString());
                }
                else
                {
                    this.customPubOrgChartDetails.BindData(chartLog);
                    this.customFPPSPositionInformation.BindData(position, chartLog.StartPointWFPPositionID);
                }
            }
            else
            {
                base.PrintErrorMessage(GetLocalResourceObject("PositionIDQuerystringNotValidMessage").ToString());
            }
        }
        public void OrganizationChartPositionLOGManager_GetByID()
        {
            OrganizationChartPositionLog position = OrganizationChartPositionLogManager.Instance.GetByID(testChartLogID, testPositionID);

            Assert.IsNotNull(position, "Chart Position is null");
            Assert.IsTrue(position.OrganizationChartLogID != -1, "OrgChartLogID == -1");
            Assert.IsTrue(position.WFPPositionID != -1, "Position ID is == -1");
        }
Example #3
0
        private void gridPositions_ItemDataBound(object sender, GridItemEventArgs e)
        {
            if (e.Item is GridDataItem)
            {
                OrganizationChartPositionLog itemPosition          = e.Item.DataItem as OrganizationChartPositionLog;
                Literal            literalEmployeeName             = e.Item.FindControl("literalEmployeeName") as Literal;
                HyperLink          linkPositionTitle               = e.Item.FindControl("linkPositionTitle") as HyperLink;
                Literal            literalPositionNumberBaseSuffix = e.Item.FindControl("literalPositionNumberBaseSuffix") as Literal;
                Literal            literalPayPlanGrade             = e.Item.FindControl("literalPayPlanGrade") as Literal;
                Literal            literalSeriesNumber             = e.Item.FindControl("literalSeriesNumber") as Literal;
                Literal            literalStarForChildCount        = e.Item.FindControl("literalStarForChildCount") as Literal;
                HyperLink          linkChildCount               = e.Item.FindControl("linkChildCount") as HyperLink;
                Literal            literalChildCount            = e.Item.FindControl("literalChildCount") as Literal;
                Literal            literalRootParentInHierarchy = e.Item.FindControl("literalRootParentInHierarchy") as Literal;
                Image              imageInHierarchy             = e.Item.FindControl("imageInHierarchy") as Image;
                Image              imageNotInHierarchy          = e.Item.FindControl("imageNotInHierarchy") as Image;
                Image              imageParentInHierarchy       = e.Item.FindControl("imageParentInHierarchy") as Image;
                Image              imageParentNotInHierarchy    = e.Item.FindControl("imageParentNotInHierarchy") as Image;
                HtmlGenericControl divTopLevelPosition          = e.Item.FindControl("divTopLevelPosition") as HtmlGenericControl;

                bool isRoot = (itemPosition.WFPPositionID != -1 && itemPosition.WFPPositionID == base.CurrentOrgChartLog.StartPointWFPPositionID);
                divTopLevelPosition.Visible = isRoot;

                linkPositionTitle.Text = HttpUtility.HtmlEncode(itemPosition.PositionTitle);
                string linkPositionEditURL = string.Format("~/PubOrgChart/ViewChartPosition.aspx?viewPosID={0}", itemPosition.WFPPositionID);

                if (this.DrillPositionID != -1)
                {
                    linkPositionEditURL += string.Format("&posID={0}", this.DrillPositionID);
                }

                linkPositionTitle.NavigateUrl = linkPositionEditURL;

                bool hasPNB = !string.IsNullOrWhiteSpace(itemPosition.PositionNumberBase) && !string.IsNullOrWhiteSpace(itemPosition.PositionNumberSuffix);
                literalPositionNumberBaseSuffix.Visible = hasPNB;

                // In Theory: at this point -- these should all be Active Employees -- we do the following checks just to be safe
                if (hasPNB)
                {
                    literalPositionNumberBaseSuffix.Text = HttpUtility.HtmlEncode(string.Format("{0}-{1}", itemPosition.PositionNumberBase, itemPosition.PositionNumberSuffix));
                }

                // Repeat -- In Theory: at this point -- these should all be Active Employees -- we do the following check just to be safe
                if (string.IsNullOrWhiteSpace(itemPosition.FullName))
                {
                    literalEmployeeName.Text = _nameNotAvailable;
                }
                else
                {
                    literalEmployeeName.Text = itemPosition.FullNameReverse;
                }

                literalPayPlanGrade.Text = HttpUtility.HtmlEncode(string.Format("{0}-{1}", itemPosition.PayPlanAbbreviation, itemPosition.Grade));
                literalSeriesNumber.Text = itemPosition.PaddedSeriesID;

                // set direct child count
                bool hasChildrenAndInHierarchy = (itemPosition.DirectChildCount > 0);
                linkChildCount.Visible           = hasChildrenAndInHierarchy;
                literalChildCount.Visible        = !hasChildrenAndInHierarchy;
                literalStarForChildCount.Visible = hasChildrenAndInHierarchy;

                if (hasChildrenAndInHierarchy)
                {
                    linkChildCount.Text        = itemPosition.DirectChildCount.ToString();
                    linkChildCount.NavigateUrl = string.Format("~/PubOrgChart/OrgChartPositions.aspx?posID={0}#positionlist", itemPosition.WFPPositionID);
                }
                else
                {
                    literalChildCount.Text = itemPosition.DirectChildCount.ToString();
                }

                // set image in/not in chart hierarchy display
                imageInHierarchy.Visible    = itemPosition.IsInChartHierarchy;
                imageNotInHierarchy.Visible = !itemPosition.IsInChartHierarchy;

                // set image PARENT in/not in chart hierarchy display
                imageParentInHierarchy.Visible       = !isRoot && itemPosition.IsParentInChartHierarchy;
                imageParentNotInHierarchy.Visible    = !isRoot && !itemPosition.IsParentInChartHierarchy;
                literalRootParentInHierarchy.Visible = isRoot;
            }
        }
Example #4
0
        private void setView(OrganizationChartLog chart, int tempPositionID)
        {
            bool showDrillDown = (tempPositionID != -1);

            this.panelDrillUp.Visible = showDrillDown;

            if (showDrillDown)
            {
                // 1. load position and see if it is valid
                // 2. set this.DrillPositionID
                // 3. check to see if it is broken hierarchy
                // 4. load reports to ID

                OrganizationChartPositionLog testPosition = OrganizationChartPositionLogManager.Instance.GetByID(chart.OrganizationChartLogID, tempPositionID);

                if (testPosition.WFPPositionID == -1)
                {
                    base.PrintErrorMessage(GetLocalResourceObject("DrillPositionIDNotFoundInChartMessage").ToString());
                }
                else
                {
                    // 2. set this.DrillPositionID
                    this.DrillPositionID = tempPositionID;

                    // show drill down position name/title
                    //if (testPosition.PositionStatusHistory.HasValue &&
                    //    testPosition.PositionStatusHistory.Value == (int)enumOrgPositionStatusHistoryType.ActiveEmployee &&
                    //    !string.IsNullOrWhiteSpace(testPosition.FullName))
                    //    this.literalDrillPositionDetails.Text = string.Format("{0} ({1})", testPosition.FullName, testPosition.PositionTitle);
                    //else
                    if (string.IsNullOrWhiteSpace(testPosition.FullName))
                    {
                        this.literalDrillPositionDetails.Text = string.Format("{0} ({1})", _nameNotAvailable, testPosition.PositionTitle);
                    }
                    else
                    {
                        this.literalDrillPositionDetails.Text = string.Format("{0} ({1})", testPosition.FullName, testPosition.PositionTitle);
                    }

                    // 3. check to see if it is broken hierarchy
                    // 4. load reports to ID (if not -1)
                    bool showUpOneLevel        = testPosition.IsInChartHierarchy && testPosition.ReportsToID != -1;
                    bool isCurrentPositionRoot = (testPosition.WFPPositionID == chart.StartPointWFPPositionID);

                    if (showUpOneLevel)
                    {
                        string upOneLevelURL = string.Empty;

                        if (isCurrentPositionRoot)
                        {
                            // this is the root node of the chart -- next is to show all positions
                            upOneLevelURL = "~/PubOrgChart/OrgChartPositions.aspx#positionlist";
                        }
                        else
                        {
                            upOneLevelURL = string.Format("~/PubOrgChart/OrgChartPositions.aspx?posID={0}#positionlist", testPosition.ReportsToID);
                        }

                        this.linkDrillUpOneLevel.NavigateUrl      = upOneLevelURL;
                        this.linkDrillUpOneLevelArrow.NavigateUrl = upOneLevelURL;
                    }

                    this.tdDrillUpOneLevel.Visible      = showUpOneLevel && !isCurrentPositionRoot;
                    this.tdDrillUpOneLevelArrow.Visible = showUpOneLevel && !isCurrentPositionRoot;

                    this.tdDrillUpOneLevelArrowDisabled.Visible = !testPosition.IsInChartHierarchy;
                    this.tdDrillUpOneLevelDisabled.Visible      = !testPosition.IsInChartHierarchy;
                }
            }
        }