public void OrganizationChartLogManager_GetByID() { OrganizationChartLog chart = OrganizationChartLogManager.Instance.GetByID(2); Assert.IsNotNull(chart, "OrganizationChartLog is null"); Assert.IsTrue(chart.OrganizationChartLogID == 2, "Organization Chart not found"); }
private void loadData() { OrganizationChartLog chartLog = base.CurrentOrgChartLog; // validation check for base.CurrentOrgChartLog is in PubOrgChartRequiredUserControlBase base.SetPageTitle(string.Format(GetLocalResourceObject("PageTitle").ToString(), chartLog.OrganizationName, chartLog.OrgCode.OrganizationCodeValue)); int tempPositionID = -1; bool isTempIDOK = true; // check drill down value -- not certain if there is a global if (Request.QueryString[POSITIONIDKEY] != null) { isTempIDOK = int.TryParse(Request.QueryString[POSITIONIDKEY], out tempPositionID); } if (isTempIDOK) { setView(chartLog, tempPositionID); this.customPubOrgChartDetails.BindData(chartLog); bindPositionsGrid(); } else { base.PrintErrorMessage(GetLocalResourceObject("InvalidPositionIDParameterMessage").ToString()); } }
public void OrganizationChartLogManager_GetOrganizationChartLogByOrgCodeAndChartType() { OrganizationChartLog chart = OrganizationChartLogManager.Instance.GetByOrgCodeAndChartType(4, enumOrgChartType.SingleOrg); Assert.IsNotNull(chart, "OrganizationChartLog is null"); Assert.IsTrue(chart.OrganizationChartTypeID == enumOrgChartType.SingleOrg && chart.OrgCode.OrganizationCodeID == 4, "Organization Chart not found"); }
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 BindData(OrganizationChartLog chartLog) { try { loadData(chartLog); } catch (Exception ex) { base.HandleException(ex); } }
private void dropDownOrganizationCodes_SelectedIndexChanged(object sender, RadComboBoxSelectedIndexChangedEventArgs e) { try { enumOrgChartType selectedChartType = (enumOrgChartType)int.Parse(this.dropDownChartTypes.SelectedValue); int orgCodeID = ControlUtility.GetDropdownValue(this.dropDownOrganizationCodes, "-1"); // reset panel view resetOrgChartPanels(); if (orgCodeID != -1) { // Three POSSIBLE STATES: // A. Existing In-Progress Chart // B. No In-Process Chart but has a Published Chart // C. No In-Process Chart/No Published Chart // State 1: Existing In-Progress Chart OrganizationChart chart = OrganizationChartManager.Instance.GetByOrgCodeAndChartType(orgCodeID, selectedChartType); if (chart.OrganizationChartID != -1) { // Chart is In-Process setChartView(this.panelInProcessChart, CreationType.None, false); } else { // No In-Process Chart -- now check published charts OrganizationChartLog chartLog = OrganizationChartLogManager.Instance.GetByOrgCodeAndChartType(orgCodeID, selectedChartType); if (chartLog.OrganizationChartLogID == -1) { // State 3: No In-Process Chart/No Published Chart setChartView(this.panelNoInProcessNoPublished, CreationType.New, true); // bind root positions by org code bindRootPositionsByOrgCode(orgCodeID); } else { // State 2: No In-Process Chart but has a Published Chart setChartView(this.panelPublishedChart, CreationType.NewFromTemplate, true); } } } } catch (Exception ex) { base.HandleException(ex); } }
private void loadData() { OrganizationChartLog chartLog = base.CurrentOrgChartLog; if (chartLog.OrganizationChartLogID == -1) { base.PrintErrorMessage(GetLocalResourceObject("OrganizationChartLogNotFoundMessage").ToString()); } else { // load data base.SetPageTitle(string.Format(GetLocalResourceObject("PageTitle").ToString(), chartLog.OrganizationName, chartLog.OrgCode.OrganizationCodeValue)); this.customPubOrgChartDetails.BindData(chartLog); } }
public void BindChart(OrganizationChart chart, OrganizationChartTypeViews viewType) { try { this.customOrgChartDetails.BindData(chart); // set chart generation parameters ChartGenerationParameters chartParameters = new ChartGenerationParameters() { ChartType = viewType }; if (viewType == OrganizationChartTypeViews.InProcess) { // get in process chart int chartID = base.CurrentOrgChartID; chartParameters.ID = chartID; this.customDisplayChart.PreviewTitle = this.PreviewTitleInProcess; OrganizationChartPositionCollection positionList = OrganizationChartPositionManager.Instance.GetOrganizationChartPositions(chartID); // pass position list and starting point of the in-process chart this.customDisplayChart.BindChart(chartParameters, positionList.ToList <IChartPosition>(), chart.StartPointWFPPositionID); } else if (viewType == OrganizationChartTypeViews.Published) { int chartLogID = base.CurrentOrgChart.PublishedOrganizationChartLogID; chartParameters.ID = chartLogID; ChartGenerationParametersSessionWrapper.Parameters = chartParameters; this.customDisplayChart.PreviewTitle = this.PreviewTitlePublished; // Load up chart log based on most recent published version OrganizationChartLog chartLog = OrganizationChartLogManager.Instance.GetByID(chartLogID); IList <OrganizationChartPositionLog> positionList = OrganizationChartPositionLogManager.Instance.GetOrganizationChartPositionLogs(chartLogID); // pass position list and starting point OF THE PUBLISHED CHART (not the in-process chart) this.customDisplayChart.BindChart(chartParameters, positionList.ToList <IChartPosition>(), chartLog.StartPointWFPPositionID); } } catch (Exception ex) { base.HandleException(ex); } }
private void loadData() { if (Request.QueryString[CHARTLOGIDKEY] == null) { printMessage(GetLocalResourceObject("NullIDKey").ToString()); } else { int tempID = -1; bool paramOK = int.TryParse(Request.QueryString[CHARTLOGIDKEY], out tempID); if (!paramOK) { printMessage(GetLocalResourceObject("IDKeyNotAValidInteger").ToString()); } else { OrganizationChartLog chartLog = OrganizationChartLogManager.Instance.GetByID(tempID); if (chartLog.OrganizationChartLogID == -1) { printMessage(GetLocalResourceObject("IDNotFoundMessage").ToString()); } else { this.customDisplayChart.Visible = true; this.Page.Title = string.Format(GetLocalResourceObject("PageTitle").ToString(), chartLog.OrganizationName, chartLog.OrgCode.OrganizationCodeValue); IList <OrganizationChartPositionLog> positionList = OrganizationChartPositionLogManager.Instance.GetOrganizationChartPositionLogs(chartLog.OrganizationChartLogID); ChartGenerationParameters genParams = new ChartGenerationParameters() { ID = chartLog.OrganizationChartLogID, ChartType = OrganizationChartTypeViews.Published }; this.customDisplayChart.BindChart(genParams, positionList.ToList <IChartPosition>(), chartLog.StartPointWFPPositionID); } } } }
private void loadData() { try { OrganizationChartLog chartLog = base.CurrentOrgChartLog; this.customPubOrgChartDetails.BindData(chartLog); // set chart generation parameters ChartGenerationParameters genParams = new ChartGenerationParameters() { ID = chartLog.OrganizationChartLogID, ChartType = OrganizationChartTypeViews.Published }; base.SetPageTitle(string.Format(GetLocalResourceObject("PageTitle").ToString(), chartLog.OrganizationName, chartLog.OrgCode.OrganizationCodeValue)); IList <OrganizationChartPositionLog> positionList = OrganizationChartPositionLogManager.Instance.GetOrganizationChartPositionLogs(chartLog.OrganizationChartLogID); this.customDisplayChart.BindChart(genParams, positionList.ToList <IChartPosition>(), chartLog.StartPointWFPPositionID); } catch (Exception ex) { base.HandleException(ex); } }
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; } } }
public List <OrgChartSearchResult> LoadSearchResults(int userID, int?organizationChartID = null, int?organizationChartTypeID = null, int?organizationCodeID = null, enumOrgWorkflowStatus orgChartWorkflowStatusID = enumOrgWorkflowStatus.Undefined, int?regionID = null, string authorName = null, string approverName = null, int?publishedYear = null, int?seriesID = null, string employeeName = null) { List <OrgChartSearchResult> searchResults = new List <OrgChartSearchResult>(); if (userID <= 0) { throw new BusinessException("UserID must be provided."); } else if (organizationChartID == null && organizationChartTypeID == null && organizationCodeID == null && orgChartWorkflowStatusID == enumOrgWorkflowStatus.Undefined && regionID == null && string.IsNullOrEmpty(authorName) && string.IsNullOrEmpty(approverName) && publishedYear == null && seriesID == null && string.IsNullOrEmpty(employeeName)) { throw new BusinessException("No search criteria provided. At least one expected."); } else { try { DbCommand commandWrapper = GetDbCommand("spr_SearchOrganizationCharts"); commandWrapper.Parameters.Add(new SqlParameter("@UserID", userID)); if (organizationChartID.HasValue) { commandWrapper.Parameters.Add(new SqlParameter("@OrganizationChartID", organizationChartID.Value)); } else { commandWrapper.Parameters.Add(new SqlParameter("@OrganizationChartID", DBNull.Value)); } if (organizationChartTypeID.HasValue) { commandWrapper.Parameters.Add(new SqlParameter("@OrganizationChartTypeID", organizationChartTypeID.Value)); } else { commandWrapper.Parameters.Add(new SqlParameter("@OrganizationChartTypeID", DBNull.Value)); } if (organizationCodeID.HasValue) { commandWrapper.Parameters.Add(new SqlParameter("@OrganizationCodeID", organizationCodeID.Value)); } else { commandWrapper.Parameters.Add(new SqlParameter("@OrganizationCodeID", DBNull.Value)); } if (orgChartWorkflowStatusID == enumOrgWorkflowStatus.Undefined) { commandWrapper.Parameters.Add(new SqlParameter("@OrgChartWorkflowStatusID", DBNull.Value)); } else { commandWrapper.Parameters.Add(new SqlParameter("@OrgChartWorkflowStatusID", (int)orgChartWorkflowStatusID)); } if (regionID.HasValue) { commandWrapper.Parameters.Add(new SqlParameter("@RegionID", regionID.Value)); } else { commandWrapper.Parameters.Add(new SqlParameter("@RegionID", DBNull.Value)); } if (string.IsNullOrWhiteSpace(authorName)) { commandWrapper.Parameters.Add(new SqlParameter("@AuthorName", DBNull.Value)); } else { commandWrapper.Parameters.Add(new SqlParameter("@AuthorName", authorName.Trim())); } if (string.IsNullOrWhiteSpace(approverName)) { commandWrapper.Parameters.Add(new SqlParameter("@ApprovedByName", DBNull.Value)); } else { commandWrapper.Parameters.Add(new SqlParameter("@ApprovedByName", approverName.Trim())); } if (publishedYear.HasValue) { commandWrapper.Parameters.Add(new SqlParameter("@PublishedYear", publishedYear.Value)); } else { commandWrapper.Parameters.Add(new SqlParameter("@PublishedYear", DBNull.Value)); } if (seriesID.HasValue) { commandWrapper.Parameters.Add(new SqlParameter("@SeriesID", seriesID.Value)); } else { commandWrapper.Parameters.Add(new SqlParameter("@SeriesID", DBNull.Value)); } if (string.IsNullOrWhiteSpace(employeeName)) { commandWrapper.Parameters.Add(new SqlParameter("@EmployeeName", DBNull.Value)); } else { commandWrapper.Parameters.Add(new SqlParameter("@EmployeeName", employeeName.Trim())); } // get data set DataSet ds = ExecuteDataSet(commandWrapper); if (ds.Tables.Count > 0) { // Table 0: OrganizationChart records if (ds.Tables[0] != null) { DataTable tableOC = ds.Tables[0]; OrganizationChartDataAdapter OCAdapter = new OrganizationChartDataAdapter(); foreach (DataRow dr in tableOC.Rows) { OrgChartSearchResult resultItem = getSearchResultObject(dr); OrganizationChart chart = new OrganizationChart(); OCAdapter.Fill(dr, chart); resultItem.ChartEntity = chart; // OrganizationChartManager.Instance.BuildFromDataRow(dr); searchResults.Add(resultItem); } } // Table 1: OrganizationChartLog records if (ds.Tables[1] != null) { DataTable tableOCL = ds.Tables[1]; OrganizationChartLogDataAdapter OCLAdapter = new OrganizationChartLogDataAdapter(); foreach (DataRow dr in tableOCL.Rows) { OrgChartSearchResult resultItem = getSearchResultObject(dr); OrganizationChartLog chartLog = new OrganizationChartLog(); OCLAdapter.Fill(dr, chartLog); resultItem.ChartEntity = chartLog; // OrganizationChartLogManager.Instance.BuildFromDataRow(dr); searchResults.Add(resultItem); } } } } catch (Exception ex) { HandleException(ex); } } return(searchResults); }
protected void rgSearchResults_ItemDataBound(object sender, GridItemEventArgs e) { if (e.Item is GridDataItem) { try { HideRefreshButton(e); GridDataItem dataItem = e.Item as GridDataItem; if (dataItem.ItemType == GridItemType.Item || dataItem.ItemType == GridItemType.AlternatingItem || dataItem.ItemType == GridItemType.SelectedItem) { OrgChartSearchResult searchResult = (OrgChartSearchResult)e.Item.DataItem; Image imgORGCHARTCheckedOutStatus = dataItem.FindControl("imgORGCHARTCheckedOutStatus") as Image; imgORGCHARTCheckedOutStatus.Visible = false; string checkedoutdt = string.Empty; string editedBy = string.Empty; #region [ Action menu/ Document Menu] //Action Menu RadMenu menuAction = dataItem.FindControl("rmOrgChartMenuAction") as RadMenu; RadMenuItem viewMenuItem = menuAction.FindItemByValue("View"); RadMenuItem viewPublishedMenuItem = menuAction.FindItemByValue("ViewPublished"); RadMenuItem editMenuItem = menuAction.FindItemByValue("Edit"); RadMenuItem continueMenuItem = menuAction.FindItemByValue("ContinueEdit"); RadMenuItem finishMenuItem = menuAction.FindItemByValue("FinishEdit"); RadMenuItem deleteMenuItem = menuAction.FindItemByValue("Delete"); //Document Menu RadMenu menuDocument = dataItem.FindControl("rmDocument") as RadMenu; RadMenuItem InProcessPDFMenuItem = menuDocument.FindItemByValue("1"); RadMenuItem PublishedPDFMenuItem = menuDocument.FindItemByValue("2"); if (searchResult.IsCheckedOut) { // At this point, we know this has to be an OrgChart because it is checked out // But let's be safe if (searchResult.ChartEntity is OrganizationChart) { OrganizationChart chart = searchResult.ChartEntity as OrganizationChart; if (chart != null) { if (chart.CheckedOutBy.ActionDate.HasValue) { checkedoutdt = string.Format(chart.CheckedOutBy.ActionDate.Value.ToString(), "d"); editedBy = String.Format("Being edited by {0} since {1}", chart.CheckedOutBy.FullName, checkedoutdt); imgORGCHARTCheckedOutStatus.Visible = true; } if (chart.CheckedOutBy.UserID == base.CurrentUserID) { imgORGCHARTCheckedOutStatus.ImageUrl = Page.ResolveUrl(String.Format("~/App_Themes/{0}/Images/Icons/icon_unlock.gif", Page.Theme)); } else { imgORGCHARTCheckedOutStatus.ImageUrl = Page.ResolveUrl(String.Format("~/App_Themes/{0}/Images/Icons/icon_lock.gif", Page.Theme)); imgORGCHARTCheckedOutStatus.ToolTip = editedBy; dataItem.ToolTip = editedBy; } } } } //Action Menu visibility deleteMenuItem.Visible = searchResult.CanDelete; editMenuItem.Visible = searchResult.CanEdit; finishMenuItem.Visible = searchResult.CanFinishEdit; continueMenuItem.Visible = searchResult.CanContinueEdit; //Action/Document Menu visibility and data field setting if (searchResult.ChartEntity is OrganizationChartLog) { OrganizationChartLog orgchartlog = (OrganizationChartLog)searchResult.ChartEntity; menuAction.DataFieldID = orgchartlog.OrganizationChartLogID.ToString(); menuAction.Attributes["OrganizationChartLogID"] = orgchartlog.OrganizationChartLogID.ToString(); viewPublishedMenuItem.Visible = true; viewMenuItem.Visible = false; menuDocument.DataFieldID = orgchartlog.OrganizationChartLogID.ToString(); menuDocument.Attributes["OrganizationChartLogID"] = orgchartlog.OrganizationChartLogID.ToString(); menuDocument.Attributes["OrganizationChartID"] = string.Empty; //this is for Export to excel menuDocument.Attributes["OrgChartID"] = orgchartlog.OrganizationChartID.ToString(); PublishedPDFMenuItem.Visible = true; InProcessPDFMenuItem.Visible = false; } else { menuAction.DataFieldID = searchResult.ChartEntity.OrganizationChartID.ToString(); menuAction.Attributes["OrganizationChartID"] = searchResult.ChartEntity.OrganizationChartID.ToString(); viewPublishedMenuItem.Visible = false; if ((searchResult.ChartEntity is OrganizationChart) && (!searchResult.CanContinueEdit)) { viewMenuItem.Visible = true; } else { viewMenuItem.Visible = false; } menuDocument.DataFieldID = searchResult.ChartEntity.OrganizationChartID.ToString(); menuDocument.Attributes["OrganizationChartID"] = searchResult.ChartEntity.OrganizationChartID.ToString(); menuDocument.Attributes["OrganizationChartLogID"] = string.Empty; //this is for Export to excel menuDocument.Attributes["OrgChartID"] = searchResult.ChartEntity.OrganizationChartID.ToString(); InProcessPDFMenuItem.Visible = true; PublishedPDFMenuItem.Visible = false; } #endregion } } catch (Exception ex) { base.HandleException(ex); } } }
private void loadData(OrganizationChartLog chartLog) { this.panelHeaderLinks.Visible = this._showViewPublishedChartLink; // this.literalChartOrganizationLogID.Text = chartLog.OrganizationChartLogID.ToString(); this.literalOrganizationChartID.Text = chartLog.OrganizationChartID.ToString(); this.literalChartType.Text = chartLog.OrganizationChartTypeName; this.literalOrganizationName.Text = string.Format("{0} ({1})", chartLog.OrganizationName, chartLog.OrgCode.OrganizationCodeValue); string mailAddressLineItem = GetLocalResourceObject("NullMailAddressLineItem").ToString(); if (chartLog.OrgCode != null && (!string.IsNullOrWhiteSpace(chartLog.OrgCode.MailCity) || !string.IsNullOrWhiteSpace(chartLog.OrgCode.MailStateAbbr))) { if (string.IsNullOrWhiteSpace(chartLog.OrgCode.MailCity)) { // MailCity is null -- use State mailAddressLineItem = chartLog.OrgCode.MailStateAbbr; } else if (string.IsNullOrWhiteSpace(chartLog.OrgCode.MailStateAbbr)) { // MailState is null -- use city mailAddressLineItem = chartLog.OrgCode.MailCity; } else { // use both mailAddressLineItem = string.Format("{0}, {1}", chartLog.OrgCode.MailCity, chartLog.OrgCode.MailStateAbbr); } } this.literalOrgCodeLocation.Text = mailAddressLineItem; string topPositionLineItem = string.Empty; if (chartLog.StartPointWFPPositionID == -1) { topPositionLineItem = GetLocalResourceObject("NoTopLevelPositionMessage").ToString(); } else { topPositionLineItem = chartLog.StartPointPositionLineItemFullName; } this.literalTopLevelPosition.Text = topPositionLineItem; this.literalWorkflowStatus.Text = chartLog.OrgWorkflowStatusName; if (chartLog.CreatedBy != null) { bool hasCreatedByName = !string.IsNullOrWhiteSpace(chartLog.CreatedBy.FullName); this.rowCreatedOn.Visible = chartLog.CreatedBy.ActionDate.HasValue; this.rowCreatedBy.Visible = hasCreatedByName; if (chartLog.CreatedBy.ActionDate.HasValue) { this.literalCreatedDate.Text = chartLog.CreatedBy.ActionDate.Value.ToString(); } if (hasCreatedByName) { this.literalCreatedByFullName.Text = chartLog.CreatedBy.FullName; } } if (chartLog.UpdatedBy != null) { bool hasLastUpdatedName = !string.IsNullOrWhiteSpace(chartLog.UpdatedBy.FullName); this.rowUpdatedOn.Visible = chartLog.UpdatedBy.ActionDate.HasValue; this.rowUpdatedBy.Visible = hasLastUpdatedName; if (chartLog.UpdatedBy.ActionDate.HasValue) { this.literalLastUpdated.Text = chartLog.UpdatedBy.ActionDate.Value.ToString(); } if (hasLastUpdatedName) { this.literalLastUpdatedBy.Text = chartLog.UpdatedBy.FullName; } } }