Ejemplo n.º 1
0
        public static ActionInfoWithDynamicImageMap CreateActionInfoDynamic(ReportItem reportItem, ActionInfo actionInfo, string toolTip, out string href, bool applyExpression)
        {
            Action actionFromActionInfo = MappingHelper.GetActionFromActionInfo(actionInfo);

            if (actionFromActionInfo == null)
            {
                href = null;
            }
            else
            {
                bool flag = default(bool);
                href = MappingHelper.EvaluateHref(actionFromActionInfo, out flag);
                if (flag && !applyExpression)
                {
                    href = null;
                }
            }
            bool flag2 = actionFromActionInfo == null || href == null;
            bool flag3 = string.IsNullOrEmpty(toolTip);

            if (flag2 && flag3)
            {
                return(null);
            }
            ActionInfoWithDynamicImageMap actionInfoWithDynamicImageMap;

            if (!flag2)
            {
                actionInfoWithDynamicImageMap = new ActionInfoWithDynamicImageMap(reportItem.RenderingContext, reportItem, actionInfo.ReportScope, actionInfo.InstancePath, actionInfo.ROMActionOwner, true);
                if (actionFromActionInfo.BookmarkLink != null)
                {
                    Action action = actionInfoWithDynamicImageMap.CreateBookmarkLinkAction();
                    action.Instance.BookmarkLink = href;
                }
                else if (actionFromActionInfo.Hyperlink != null)
                {
                    Action action2 = actionInfoWithDynamicImageMap.CreateHyperlinkAction();
                    action2.Instance.HyperlinkText = href;
                }
                else if (actionFromActionInfo.Drillthrough != null)
                {
                    Action action3 = actionInfoWithDynamicImageMap.CreateDrillthroughAction();
                    action3.Drillthrough.Instance.ReportName = href;
                    MappingHelper.EvaluateActionParameters(actionFromActionInfo.Drillthrough, action3.Drillthrough);
                    string drillthroughID = action3.Drillthrough.Instance.DrillthroughID;
                }
            }
            else
            {
                actionInfoWithDynamicImageMap = new ActionInfoWithDynamicImageMap(reportItem.RenderingContext, reportItem, reportItem.ReportScope, reportItem.ReportItemDef, null, true);
            }
            return(actionInfoWithDynamicImageMap);
        }