Exemplo n.º 1
0
        protected void OrgChartTrackerGrid_ItemDataBound(object sender, GridItemEventArgs e)
        {
            try
            {
                HideRefreshButton(e);

                if (e.Item is GridDataItem)
                {
                    GridDataItem gridDataItem = e.Item as GridDataItem;

                    if (gridDataItem.ItemType == GridItemType.Item || gridDataItem.ItemType == GridItemType.AlternatingItem || gridDataItem.ItemType == GridItemType.SelectedItem)
                    {
                        OrgChartTrackerItem trackerItem = e.Item.DataItem as OrgChartTrackerItem;
                        string checkedoutdt             = string.Empty;
                        string editedBy = string.Empty;


                        //Need to have new image for Org Chart
                        Image imgOrgChartCheckedOutStatus = gridDataItem.FindControl("imgOrgChartCheckedOutStatus") as Image;
                        imgOrgChartCheckedOutStatus.Visible = false;

                        if (trackerItem.CheckedOut)
                        {
                            if (trackerItem.CheckedOutBy.ActionDate != null)
                            {
                                DateTime?checkedoutbydate = trackerItem.CheckedOutBy.ActionDate;
                                checkedoutdt = string.Format("{0:MM/dd/yyyy}", checkedoutbydate);

                                editedBy = String.Format("Being edited by {0} since {1}", trackerItem.CheckedOutBy.FullNameReverse, checkedoutdt);
                            }
                            imgOrgChartCheckedOutStatus.Visible = true;

                            if (trackerItem.CheckedOutBy.UserID == 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));
                            }
                            gridDataItem.ToolTip = editedBy;
                        }


                        RadMenu menuAction = gridDataItem.FindControl("OrgChartTrackerMenu") as RadMenu;

                        menuAction.Attributes["OrganizationChartID"] = trackerItem.OrganizationChartID.ToString();

                        RadMenuItem viewMenuItem     = menuAction.FindItemByValue("View");
                        RadMenuItem editMenuItem     = menuAction.FindItemByValue("Edit");
                        RadMenuItem continueMenuItem = menuAction.FindItemByValue("ContinueEdit");
                        RadMenuItem finishMenuItem   = menuAction.FindItemByValue("FinishEdit");
                        RadMenuItem deleteMenuItem   = menuAction.FindItemByValue("Delete");

                        viewMenuItem.Visible     = (!trackerItem.CanContinueEdit);
                        editMenuItem.Visible     = trackerItem.CanEdit;
                        continueMenuItem.Visible = trackerItem.CanContinueEdit;
                        finishMenuItem.Visible   = trackerItem.CanFinishEdit;
                        deleteMenuItem.Visible   = trackerItem.CanDelete;
                    }
                }
            }
            catch (Exception ex)
            {
                ExceptionBase.HandleException(ex);
            }
        }
Exemplo n.º 2
0
        protected void OrgChartTrackerGrid_NeedDataSource(object sender, GridNeedDataSourceEventArgs e)
        {
            OrgChartTrackerItemCollection collection = OrgChartTrackerItem.GetCollectionForUser(CurrentUserID);

            OrgChartTrackerGrid.DataSource = collection;
        }