Ejemplo n.º 1
0
    private void GetChildDataAccessLevels_MultiLevelsDataAccessLevels(DataAccessLevelsType Dalt, DataAccessParts DataAccessLevelKey, DataAccessLevelOperationType?Dalot, decimal UserID, UserSearchKeys?SearchKey, string SearchTerm, TreeViewNode parentDalNode, DataAccessProxy parentDal)
    {
        bool HasChildDals = false;
        IList <DataAccessProxy> DalList = null;

        UserID = this.GetUserID_MultiLevelsDataAccessLevels(Dalot, UserID, SearchKey, SearchTerm);

        switch (DataAccessLevelKey)
        {
        case DataAccessParts.Department:
            switch (Dalt)
            {
            case DataAccessLevelsType.Source:
                DalList = this.MultiLevelsDataAccessLevelesBusiness.GetDepartmentChilds(parentDal.ID);
                break;

            case DataAccessLevelsType.Target:
                DalList = this.MultiLevelsDataAccessLevelesBusiness.GetDepartmentsOfUser(UserID, parentDal.ID);
                break;
            }
            break;

        case DataAccessParts.OrganizationUnit:
            switch (Dalt)
            {
            case DataAccessLevelsType.Source:
                DalList = this.MultiLevelsDataAccessLevelesBusiness.GetOrganizationChilds(parentDal.ID);
                break;

            case DataAccessLevelsType.Target:
                DalList = this.MultiLevelsDataAccessLevelesBusiness.GetOrganizationOfUser(UserID, parentDal.ID);
                break;
            }
            break;

        case DataAccessParts.Report:
            switch (Dalt)
            {
            case DataAccessLevelsType.Source:
                DalList = this.MultiLevelsDataAccessLevelesBusiness.GetReportChilds(parentDal.ID);
                break;

            case DataAccessLevelsType.Target:
                DalList = this.MultiLevelsDataAccessLevelesBusiness.GetReportOfUser(UserID, parentDal.ID);
                break;
            }
            break;

        case DataAccessParts.RuleGroup:
            switch (Dalt)
            {
            case DataAccessLevelsType.Source:
                DalList = this.MultiLevelsDataAccessLevelesBusiness.GetRuleChilds(parentDal.ID);
                break;

            case DataAccessLevelsType.Target:
                DalList = this.MultiLevelsDataAccessLevelesBusiness.GetRuleOfUser(UserID, parentDal.ID);
                break;
            }
            break;
        }

        foreach (DataAccessProxy childDal in DalList)
        {
            TreeViewNode childDalNode = new TreeViewNode();
            childDalNode.ID    = childDal.ID.ToString();
            childDalNode.Text  = childDal.Name;
            childDalNode.Value = childDal.DeleteEnable.ToString().ToLower();
            if (DataAccessLevelKey == DataAccessParts.OrganizationUnit)
            {
                childDalNode.ContentCallbackUrl = "XmlMultiLevelsDataAccessLevels.aspx?Dalt=" + Dalt.ToString() + "&Dalk=" + DataAccessLevelKey.ToString() + "&UserID=" + UserID.ToString() + "&ParentDalID=" + childDalNode.ID + "&LangID=" + this.LangProv.GetCurrentLanguage();
                if (this.MultiLevelsDataAccessLevelesBusiness.GetOrganizationChilds(childDal.ID).Count > 0)
                {
                    childDalNode.Nodes.Add(new TreeViewNode());
                }
            }
            string ImagePath = string.Empty;
            string ImageUrl  = string.Empty;
            if (childDal.DeleteEnable)
            {
                if (DataAccessLevelKey != DataAccessParts.Report)
                {
                    ImagePath = "\\Images\\TreeView\\folder_blue.gif";
                    ImageUrl  = "Images/TreeView/folder_blue.gif";
                }
                else
                {
                    if (childDal.IsReport)
                    {
                        ImagePath = "\\Images\\TreeView\\report.png";
                        ImageUrl  = "Images/TreeView/report.png";
                    }
                    else
                    {
                        ImagePath = "\\Images\\TreeView\\group.png";
                        ImageUrl  = "Images/TreeView/group.png";
                    }
                }
            }
            else
            {
                if (DataAccessLevelKey != DataAccessParts.Report)
                {
                    ImagePath = "\\Images\\TreeView\\folder.gif";
                    ImageUrl  = "Images/TreeView/folder.gif";
                }
                else
                {
                    if (childDal.IsReport)
                    {
                        ImagePath = "\\Images\\TreeView\\report_silver.png";
                        ImageUrl  = "Images/TreeView/report_silver.png";
                    }
                    else
                    {
                        ImagePath = "\\Images\\TreeView\\group_silver.png";
                        ImageUrl  = "Images/TreeView/group_silver.png";
                    }
                }
            }
            if (File.Exists(AppDomain.CurrentDomain.BaseDirectory + ImagePath))
            {
                childDalNode.ImageUrl = ImageUrl;
            }
            parentDalNode.Nodes.Add(childDalNode);
            try
            {
                if (parentDalNode.Parent.Parent == null)
                {
                    parentDalNode.Expanded = true;
                }
            }
            catch
            { }
            switch (DataAccessLevelKey)
            {
            case DataAccessParts.Department:
                if (this.MultiLevelsDataAccessLevelesBusiness.GetDepartmentChilds(childDal.ID).Count > 0)
                {
                    HasChildDals = true;
                }
                break;

            case DataAccessParts.Report:
                if (this.MultiLevelsDataAccessLevelesBusiness.GetReportChilds(childDal.ID).Count > 0)
                {
                    HasChildDals = true;
                }
                break;

            case DataAccessParts.RuleGroup:
                break;
            }
            if (HasChildDals)
            {
                this.GetChildDataAccessLevels_MultiLevelsDataAccessLevels(Dalt, DataAccessLevelKey, Dalot, UserID, SearchKey, SearchTerm, childDalNode, childDal);
            }
        }
    }
Ejemplo n.º 2
0
    private void GetDataAccessLevelsRoot_MultiLevelsDataAccessLevels(ComponentArt.Web.UI.TreeView trvDataAccessLevels, DataAccessLevelsType Dalt, DataAccessParts DataAccessLevelKey, DataAccessLevelOperationType?Dalot, DataAccessLevelOperationState?Dalos, decimal UserID, UserSearchKeys?SearchKey, string SearchTerm)
    {
        DataAccessProxy rootDals         = null;
        string          rootDalsNodeText = string.Empty;

        if (Dalot == DataAccessLevelOperationType.Group && Dalos == DataAccessLevelOperationState.After)
        {
            UserID = BUser.CurrentUser.ID;
        }
        switch (DataAccessLevelKey)
        {
        case DataAccessParts.Department:
            rootDals = this.MultiLevelsDataAccessLevelesBusiness.GetDepartmentRoot(Dalt, UserID);
            if (GetLocalResourceObject("OrgNode_trvDataAccessLevelsSource_MultiLevelsDataAccessLevels") != null)
            {
                rootDalsNodeText = GetLocalResourceObject("OrgNode_trvDataAccessLevelsSource_MultiLevelsDataAccessLevels").ToString();
            }
            else
            {
                rootDalsNodeText = rootDals.Name;
            }
            break;

        case DataAccessParts.OrganizationUnit:
            rootDals = this.MultiLevelsDataAccessLevelesBusiness.GetOrganizationRoot(Dalt, UserID);
            if (GetLocalResourceObject("OrgNode_trvDataAccessLevelsSource_MultiLevelsDataAccessLevels") != null)
            {
                rootDalsNodeText = GetLocalResourceObject("OrgNode_trvDataAccessLevelsSource_MultiLevelsDataAccessLevels").ToString();
            }
            else
            {
                rootDalsNodeText = rootDals.Name;
            }
            break;

        case DataAccessParts.Report:
            rootDals = this.MultiLevelsDataAccessLevelesBusiness.GetReportRoot(Dalt, UserID);
            if (GetLocalResourceObject("ReportsNode_trvDataAccessLevelsSource_MultiLevelsDataAccessLevels") != null)
            {
                rootDalsNodeText = GetLocalResourceObject("ReportsNode_trvDataAccessLevelsSource_MultiLevelsDataAccessLevels").ToString();
            }
            else
            {
                rootDalsNodeText = rootDals.Name;
            }
            break;

        case DataAccessParts.RuleGroup:
            rootDals = this.MultiLevelsDataAccessLevelesBusiness.GetRuleRoot(Dalt, UserID);
            if (GetLocalResourceObject("RulesGroupsNode_trvDataAccessLevelsSource_MultiLevelsDataAccessLevels") != null)
            {
                rootDalsNodeText = GetLocalResourceObject("RulesGroupsNode_trvDataAccessLevelsSource_MultiLevelsDataAccessLevels").ToString();
            }
            else
            {
                rootDalsNodeText = rootDals.Name;
            }
            break;
        }
        TreeViewNode rootDalsNode = new TreeViewNode();

        rootDalsNode.ID    = rootDals.ID.ToString();
        rootDalsNode.Text  = rootDalsNodeText;
        rootDalsNode.Value = rootDals.DeleteEnable.ToString().ToLower();
        string ImagePath = string.Empty;
        string ImageUrl  = string.Empty;

        if (rootDals.DeleteEnable)
        {
            if (DataAccessLevelKey != DataAccessParts.Report)
            {
                ImagePath = "\\Images\\TreeView\\folder_blue.gif";
                ImageUrl  = "Images/TreeView/folder_blue.gif";
            }
            else
            {
                ImagePath = "\\Images\\TreeView\\group.png";
                ImageUrl  = "Images/TreeView/group.png";
            }
        }
        else
        {
            if (DataAccessLevelKey != DataAccessParts.Report)
            {
                ImagePath = "\\Images\\TreeView\\folder.gif";
                ImageUrl  = "Images/TreeView/folder.gif";
            }
            else
            {
                ImagePath = "\\Images\\TreeView\\group_silver.png";
                ImageUrl  = "Images/TreeView/group_silver.png";
            }
        }
        if (File.Exists(AppDomain.CurrentDomain.BaseDirectory + ImagePath))
        {
            rootDalsNode.ImageUrl = ImageUrl;
        }
        trvDataAccessLevels.Nodes.Add(rootDalsNode);
        rootDalsNode.Expanded = true;

        switch (Dalot)
        {
        case DataAccessLevelOperationType.Single:
            this.GetChildDataAccessLevels_MultiLevelsDataAccessLevels(Dalt, DataAccessLevelKey, null, UserID, SearchKey, string.Empty, rootDalsNode, rootDals);
            break;

        case DataAccessLevelOperationType.Group:
            switch (Dalos)
            {
            case DataAccessLevelOperationState.Before:
                break;

            case DataAccessLevelOperationState.After:
                this.GetChildDataAccessLevels_MultiLevelsDataAccessLevels(Dalt, DataAccessLevelKey, Dalot, UserID, SearchKey, SearchTerm, rootDalsNode, rootDals);
                break;
            }
            break;

        default:
            if (Dalt == DataAccessLevelsType.Source)
            {
                this.GetChildDataAccessLevels_MultiLevelsDataAccessLevels(Dalt, DataAccessLevelKey, Dalot, UserID, SearchKey, SearchTerm, rootDalsNode, rootDals);
            }
            break;
        }
    }