//internal static string GetSortExpr(PerformMemberActionArgs args)
		//{
		//  List<string> sortExpr = new List<string>();
			
		//  string lasthier = args.Member.HierarchyUniqueName;
		//  for (int i = 0; i < args.Ascendants.Count; i++)
		//  {
		//    var member = args.Ascendants[i];

		//    if (lasthier != member.HierarchyUniqueName)
		//    {
		//      lasthier = member.HierarchyUniqueName;
		//      sortExpr.Insert(0, member.UniqueName);
		//    }
		//  }
		//  sortExpr.Add(args.Member.UniqueName);
		//  return "("+string.Join(",",sortExpr.ToArray())+")";
		//}
		internal void SortByValue(PerformMemberActionArgs args)
		{
			var tuple = args.Member.GetAxisTuple();
			var measuresSort=MeasuresSort as SortByValueDescriptor;
			if (measuresSort == null)
			{
				measuresSort = new SortByValueDescriptor();
				measuresSort.Tuple=tuple;
				MeasuresSort = measuresSort;
				
			}
			else if (!measuresSort.CompareByTuple(tuple))
			{
				measuresSort.Tuple = tuple;
				measuresSort.Type = SortTypes.None;
			}
			
			if (MeasuresSort.Type == SortTypes.None)
				MeasuresSort.Type = SortTypes.Ascending;
			else if (MeasuresSort.Type == SortTypes.Ascending)
				MeasuresSort.Type = SortTypes.Descending;
			else if (MeasuresSort.Type == SortTypes.Descending)
				MeasuresSort.Type = SortTypes.None;
				
		}
        //internal static string GetSortExpr(PerformMemberActionArgs args)
        //{
        //  List<string> sortExpr = new List<string>();

        //  string lasthier = args.Member.HierarchyUniqueName;
        //  for (int i = 0; i < args.Ascendants.Count; i++)
        //  {
        //    var member = args.Ascendants[i];

        //    if (lasthier != member.HierarchyUniqueName)
        //    {
        //      lasthier = member.HierarchyUniqueName;
        //      sortExpr.Insert(0, member.UniqueName);
        //    }
        //  }
        //  sortExpr.Add(args.Member.UniqueName);
        //  return "("+string.Join(",",sortExpr.ToArray())+")";
        //}
        internal void SortByValue(PerformMemberActionArgs args)
        {
            var tuple        = args.Member.GetAxisTuple();
            var measuresSort = MeasuresSort as SortByValueDescriptor;

            if (measuresSort == null)
            {
                measuresSort       = new SortByValueDescriptor();
                measuresSort.Tuple = tuple;
                MeasuresSort       = measuresSort;
            }
            else if (!measuresSort.CompareByTuple(tuple))
            {
                measuresSort.Tuple = tuple;
                measuresSort.Type  = SortTypes.None;
            }

            if (MeasuresSort.Type == SortTypes.None)
            {
                MeasuresSort.Type = SortTypes.Ascending;
            }
            else if (MeasuresSort.Type == SortTypes.Ascending)
            {
                MeasuresSort.Type = SortTypes.Descending;
            }
            else if (MeasuresSort.Type == SortTypes.Descending)
            {
                MeasuresSort.Type = SortTypes.None;
            }
        }
        internal void SortByValue(int axisIndex, PerformMemberActionArgs args)
        {
            AxisInfo ai = (axisIndex == 0) ^ RotateAxes
                         ? RowsActionChain
                         : ColumnsActionChain;

            ai.SortByValue(args);
        }
Example #4
0
        public CellSetData PerformMemberAction(PerformMemberActionArgs args)
        {
            if (args != null)
            {
                switch (args.Action)
                {
                case MemberActionType.Expand:
                case MemberActionType.Collapse:
                case MemberActionType.DrillDown:
                case MemberActionType.DrillUp:
                    // Удаляем все элементы истории, стоящие за текущим
                    History.CutRight();
                    HistoryItem clone = null;
                    if (History.CurrentHistoryItem != null)
                    {
                        // Клонируем текущий элемент истории чтобы действие добавлялось уже в клон
                        clone = (HistoryItem)(History.CurrentHistoryItem.Clone());
                    }
                    else
                    {
                        // Добавляем пустой элемент истории
                        HistoryItem first = new HistoryItem();
                        History.AddHistoryItem(first);

                        clone = new HistoryItem();
                    }

                    History.AddHistoryItem(clone);
                    break;
                }

                switch (args.Action)
                {
                case MemberActionType.Expand:
                    ExpandMember(args);
                    break;

                case MemberActionType.Collapse:
                    CollapseMember(args);
                    break;

                case MemberActionType.DrillDown:
                    DrillDownMember(args);
                    break;

                case MemberActionType.DrillUp:
                    DrillUpMember(args);
                    break;
                }
            }
            return(RefreshQuery());
        }
Example #5
0
        public static PerformMemberActionArgs CreatePerformMemberActionArgs(
            MemberInfo member,
            int axisIndex,
            MemberActionType action,
            List <MemberInfo> ascendants)
        {
            PerformMemberActionArgs args = new PerformMemberActionArgs();

            args.Member     = member;
            args.AxisIndex  = axisIndex;
            args.Action     = action;
            args.Ascendants = ascendants;
            return(args);
        }
		public MemberActionCollapse(PerformMemberActionArgs args) : base(args) { }
		protected virtual void ExecuteMemberAction(MdxQueryArgs query_args, PerformMemberActionArgs args)
		{
			if (args != null && query_args != null)
			{
				IsWaiting = true;

				LogManager.LogInformation(this, this.Name + String.Format(" - {0} member {1}", args.Action.ToString(), args.Member != null ? args.Member.UniqueName : "<null>"));
				OlapDataLoader.LoadData(query_args, args);
			}
		}
        void DrillUpMember(PerformMemberActionArgs args)
        {
            //using (WaitCursor wc = new WaitCursor())
            {
                IList<DrillActionContainer> actions = null;
                if (!RotateAxes)
                {
                    actions = args.AxisIndex == 0 ? History.CurrentHistoryItem.ColumnsActionChain : History.CurrentHistoryItem.RowsActionChain;
                }
                else
                {
                    actions = args.AxisIndex == 1 ? History.CurrentHistoryItem.ColumnsActionChain : History.CurrentHistoryItem.RowsActionChain;
                }
                DrillActionContainer previous = null;
                DrillActionContainer container = null;

                // Действия над элементами из этой же иерархии
                IList<DrillActionContainer> actionsToHierarchy = History.CurrentHistoryItem.FindDrillActionContainersByHierarchy(actions, args.Member.HierarchyUniqueName);
                if (actionsToHierarchy != null)
                {
                    // Все действия зануляем
                    foreach (DrillActionContainer action in actionsToHierarchy)
                    {
                        action.Action = null;
                    }
                }

                // Родители
                if (args.Ascendants != null)
                {
                    for (int i = args.Ascendants.Count - 1; i >= 0; i--)
                    {
                        MemberInfo mi = args.Ascendants[i];

                        container = History.CurrentHistoryItem.FindDrillActionContainer(actions, mi.UniqueName);
                        if (container == null)
                        {
                            container = new DrillActionContainer(mi.UniqueName, mi.HierarchyUniqueName);
                            if (previous == null)
                                actions.Add(container);
                            else
                                previous.Children.Add(container);
                        }
                        previous = container;
                    }
                }

                // Сам элемент
                container = History.CurrentHistoryItem.FindDrillActionContainer(actions, args.Member.UniqueName);
                if (container == null)
                {
                    container = new DrillActionContainer(args.Member.UniqueName, args.Member.HierarchyUniqueName);
                    container.Action = new MdxDrillUpAction(args.Member.UniqueName, args.Member.HierarchyUniqueName, args.Member.LevelDepth);
                    if (previous == null)
                        actions.Add(container);
                    else
                        previous.Children.Add(container);
                }
                else
                {
                    // Удаляем все вложенные экшены для данной иерархии
                    IList<DrillActionContainer> child_actionsToHierarchy = History.CurrentHistoryItem.FindDrillActionContainersByHierarchy(container.Children, args.Member.HierarchyUniqueName);
                    if (child_actionsToHierarchy != null)
                    {
                        // Все действия зануляем
                        foreach (DrillActionContainer action in child_actionsToHierarchy)
                        {
                            action.Action = null;
                        }
                    }

                    container.Action = new MdxDrillUpAction(args.Member.UniqueName, args.Member.HierarchyUniqueName, args.Member.LevelDepth);
                }
            }
            /*using (WaitCursor wc = new WaitCursor())
            {
                IList<DrillActionContainer> actions = args.AxisIndex == 0 ? ColumnsActionChain : RowsActionChain;

                actions.Clear();

                DrillActionContainer container = new DrillActionContainer(args.Member.UniqueName);
                container.Action = new MdxDrillUpAction(args.Member.UniqueName);

                actions.Add(container);

                this.RefreshQuery();
            }*/
        }
        void CollapseMember(PerformMemberActionArgs args)
        {
            //using (WaitCursor wc = new WaitCursor())
            {
                IList<DrillActionContainer> actions = null;
                if (!RotateAxes)
                {
                    actions = args.AxisIndex == 0 ? History.CurrentHistoryItem.ColumnsActionChain : History.CurrentHistoryItem.RowsActionChain;
                }
                else
                {
                    actions = args.AxisIndex == 1 ? History.CurrentHistoryItem.ColumnsActionChain : History.CurrentHistoryItem.RowsActionChain;
                }
                DrillActionContainer previous = null;
                DrillActionContainer container = null;

                // Родители
                if (args.Ascendants != null)
                {
                    for (int i = args.Ascendants.Count - 1; i >= 0; i--)
                    {
                        MemberInfo mi = args.Ascendants[i];

                        container = History.CurrentHistoryItem.FindDrillActionContainer(actions, mi.UniqueName);
                        if (container == null)
                        {
                            container = new DrillActionContainer(mi.UniqueName, mi.HierarchyUniqueName);
                            if (previous == null)
                                actions.Add(container);
                            else
                                previous.Children.Add(container);
                        }
                        previous = container;
                    }
                }

                // Сам элемент
                container = History.CurrentHistoryItem.FindDrillActionContainer(actions, args.Member.UniqueName);
                if (container == null)
                {
                    container = new DrillActionContainer(args.Member.UniqueName, args.Member.HierarchyUniqueName);
                    container.Action = new MdxCollapseAction(args.Member.UniqueName);
                    if (previous == null)
                        actions.Add(container);
                    else
                        previous.Children.Add(container);
                }
                else
                {
                    // Удалем все дочерние - тем самым как бы схлопываем элемент
                    // Удаляем все вложенные экшены для данной иерархии
                    IList<DrillActionContainer> actionsToHierarchy = History.CurrentHistoryItem.FindDrillActionContainersByHierarchy(container.Children, args.Member.HierarchyUniqueName);
                    if (actionsToHierarchy != null)
                    {
                        // Все действия зануляем
                        foreach (DrillActionContainer action in actionsToHierarchy)
                        {
                            action.Action = null;
                        }
                    }
                    container.Action = new MdxCollapseAction(args.Member.UniqueName);
                }
            }
        }
        private void ExpandMember(PerformMemberActionArgs args)
        {
            //using (WaitCursor wc = new WaitCursor())
            {
                IList<DrillActionContainer> actions = null;
                if (!RotateAxes)
                {
                    actions = args.AxisIndex == 0 ? History.CurrentHistoryItem.ColumnsActionChain : History.CurrentHistoryItem.RowsActionChain;
                }
                else
                {
                    actions = args.AxisIndex == 1 ? History.CurrentHistoryItem.ColumnsActionChain : History.CurrentHistoryItem.RowsActionChain;
                }
                DrillActionContainer previous = null;
                DrillActionContainer container = null;

                // Родители
                if (args.Ascendants != null)
                {
                    for (int i = args.Ascendants.Count - 1; i >= 0; i--)
                    {
                        MemberInfo mi = args.Ascendants[i];

                        container = History.CurrentHistoryItem.FindDrillActionContainer(actions, mi.UniqueName);
                        if (container == null)
                        {
                            container = new DrillActionContainer(mi.UniqueName, mi.HierarchyUniqueName);
                            if (previous == null)
                                actions.Add(container);
                            else
                                previous.Children.Add(container);
                        }
                        previous = container;
                    }
                }

                MdxDrillDownAction skip_container = null;
                // Сам элемент
                container = History.CurrentHistoryItem.FindDrillActionContainer(actions, args.Member.UniqueName);
                if (container == null)
                {
                    container = new DrillActionContainer(args.Member.UniqueName, args.Member.HierarchyUniqueName);
                    container.Action = new MdxExpandAction(args.Member.UniqueName);
                    if (previous == null)
                        actions.Add(container);
                    else
                        previous.Children.Add(container);
                }
                else
                {
                    // Если по данному элементу уже дедался дриллдаун - то дриллдаун остается в силе. А раскрытие - прокидываем 
                    skip_container = container.Action as MdxDrillDownAction;
                    if (skip_container == null)
                        container.Action = new MdxExpandAction(args.Member.UniqueName);
                }

                // Вложенные действия над элементами из этой же иерархии
                IList<DrillActionContainer> actionsToHierarchy = History.CurrentHistoryItem.FindDrillActionContainersByHierarchy(actions, args.Member.HierarchyUniqueName);
                if (actionsToHierarchy != null)
                {
                    // Все DrillUp и DrillDown операции зануляем если уровень у них глубже
                    foreach (DrillActionContainer action in actionsToHierarchy)
                    {
                        MdxDrillDownAction drillDownAction = action.Action as MdxDrillDownAction;
                        if (drillDownAction != null && drillDownAction.LevelDepth >= args.Member.LevelDepth)
                        {
                            if (skip_container != null && skip_container == drillDownAction)
                                continue;

                            action.Action = null;
                        }
                        MdxDrillUpAction drillUpAction = action.Action as MdxDrillUpAction;
                        if (drillUpAction != null && drillUpAction.LevelDepth >= args.Member.LevelDepth)
                        {
                            action.Action = null;
                        }
                    }
                }
            }
        }
        public String PerformMemberAction(PerformMemberActionArgs args)
        {
            if (args != null)
            {
                switch (args.Action)
                {
                    case MemberActionType.Expand:
                    case MemberActionType.Collapse:
                    case MemberActionType.DrillDown:
                    case MemberActionType.DrillUp:
                        // Удаляем все элементы истории, стоящие за текущим
                        History.CutRight();
                        HistoryItem clone = null;
                        if (History.CurrentHistoryItem != null)
                        {
                            // Клонируем текущий элемент истории чтобы действие добавлялось уже в клон
                            clone = (HistoryItem)(History.CurrentHistoryItem.Clone());
                        }
                        else
                        {
                            // Добавляем пустой элемент истории
                            HistoryItem first = new HistoryItem();
                            History.AddHistoryItem(first);

                            clone = new HistoryItem();
                        }

                        History.AddHistoryItem(clone);
                        break;
                }

                switch (args.Action)
                {
                    case MemberActionType.Expand:
                        ExpandMember(args);
                        break;
                    case MemberActionType.Collapse:
                        CollapseMember(args);
                        break;
                    case MemberActionType.DrillDown:
                        DrillDownMember(args);
                        break;
                    case MemberActionType.DrillUp:
                        DrillUpMember(args);
                        break;
                }
            }
            return RefreshQuery();
        }
Example #12
0
 public MemberActionDrillDown(PerformMemberActionArgs args, DrillDownMode DrillDownMode)
     : base(args)
 {
     this.DrillDownMode = DrillDownMode;
 }
Example #13
0
 public MemberActionExpand(PerformMemberActionArgs args) : base(args)
 {
 }
		public MemberActionExpand(PerformMemberActionArgs args) : base(args) { }
 public static PerformMemberActionArgs CreatePerformMemberActionArgs( 
     MemberInfo member,
     int axisIndex,
     MemberActionType action,
     List<MemberInfo> ascendants)
 {
     PerformMemberActionArgs args = new PerformMemberActionArgs();
     args.Member = member;
     args.AxisIndex = axisIndex;
     args.Action = action;
     args.Ascendants = ascendants;
     return args;
 }
Example #16
0
        void DrillUpMember(PerformMemberActionArgs args)
        {
            //using (WaitCursor wc = new WaitCursor())
            {
                IList <DrillActionContainer> actions = null;
                if (!RotateAxes)
                {
                    actions = args.AxisIndex == 0 ? History.CurrentHistoryItem.ColumnsActionChain : History.CurrentHistoryItem.RowsActionChain;
                }
                else
                {
                    actions = args.AxisIndex == 1 ? History.CurrentHistoryItem.ColumnsActionChain : History.CurrentHistoryItem.RowsActionChain;
                }
                DrillActionContainer previous  = null;
                DrillActionContainer container = null;

                // Действия над элементами из этой же иерархии
                IList <DrillActionContainer> actionsToHierarchy = History.CurrentHistoryItem.FindDrillActionContainersByHierarchy(actions, args.Member.HierarchyUniqueName);
                if (actionsToHierarchy != null)
                {
                    // Все действия зануляем
                    foreach (DrillActionContainer action in actionsToHierarchy)
                    {
                        action.Action = null;
                    }
                }

                // Родители
                if (args.Ascendants != null)
                {
                    for (int i = args.Ascendants.Count - 1; i >= 0; i--)
                    {
                        ShortMemberInfo mi = args.Ascendants[i];

                        container = History.CurrentHistoryItem.FindDrillActionContainer(actions, mi.UniqueName);
                        if (container == null)
                        {
                            container = new DrillActionContainer(mi.UniqueName, mi.HierarchyUniqueName);
                            if (previous == null)
                            {
                                actions.Add(container);
                            }
                            else
                            {
                                previous.Children.Add(container);
                            }
                        }
                        previous = container;
                    }
                }

                // Сам элемент
                container = History.CurrentHistoryItem.FindDrillActionContainer(actions, args.Member.UniqueName);
                if (container == null)
                {
                    container        = new DrillActionContainer(args.Member.UniqueName, args.Member.HierarchyUniqueName);
                    container.Action = new MdxDrillUpAction(args.Member.UniqueName, args.Member.HierarchyUniqueName, args.Member.LevelDepth);
                    if (previous == null)
                    {
                        actions.Add(container);
                    }
                    else
                    {
                        previous.Children.Add(container);
                    }
                }
                else
                {
                    // Удаляем все вложенные экшены для данной иерархии
                    IList <DrillActionContainer> child_actionsToHierarchy = History.CurrentHistoryItem.FindDrillActionContainersByHierarchy(container.Children, args.Member.HierarchyUniqueName);
                    if (child_actionsToHierarchy != null)
                    {
                        // Все действия зануляем
                        foreach (DrillActionContainer action in child_actionsToHierarchy)
                        {
                            action.Action = null;
                        }
                    }

                    container.Action = new MdxDrillUpAction(args.Member.UniqueName, args.Member.HierarchyUniqueName, args.Member.LevelDepth);
                }
            }

            /*using (WaitCursor wc = new WaitCursor())
             * {
             *  IList<DrillActionContainer> actions = args.AxisIndex == 0 ? ColumnsActionChain : RowsActionChain;
             *
             *  actions.Clear();
             *
             *  DrillActionContainer container = new DrillActionContainer(args.Member.UniqueName);
             *  container.Action = new MdxDrillUpAction(args.Member.UniqueName);
             *
             *  actions.Add(container);
             *
             *  this.RefreshQuery();
             * }*/
        }
Example #17
0
        void CollapseMember(PerformMemberActionArgs args)
        {
            //using (WaitCursor wc = new WaitCursor())
            {
                IList <DrillActionContainer> actions = null;
                if (!RotateAxes)
                {
                    actions = args.AxisIndex == 0 ? History.CurrentHistoryItem.ColumnsActionChain : History.CurrentHistoryItem.RowsActionChain;
                }
                else
                {
                    actions = args.AxisIndex == 1 ? History.CurrentHistoryItem.ColumnsActionChain : History.CurrentHistoryItem.RowsActionChain;
                }
                DrillActionContainer previous  = null;
                DrillActionContainer container = null;

                // Родители
                if (args.Ascendants != null)
                {
                    for (int i = args.Ascendants.Count - 1; i >= 0; i--)
                    {
                        ShortMemberInfo mi = args.Ascendants[i];

                        container = History.CurrentHistoryItem.FindDrillActionContainer(actions, mi.UniqueName);
                        if (container == null)
                        {
                            container = new DrillActionContainer(mi.UniqueName, mi.HierarchyUniqueName);
                            if (previous == null)
                            {
                                actions.Add(container);
                            }
                            else
                            {
                                previous.Children.Add(container);
                            }
                        }
                        previous = container;
                    }
                }

                // Сам элемент
                container = History.CurrentHistoryItem.FindDrillActionContainer(actions, args.Member.UniqueName);
                if (container == null)
                {
                    container        = new DrillActionContainer(args.Member.UniqueName, args.Member.HierarchyUniqueName);
                    container.Action = new MdxCollapseAction(args.Member.UniqueName);
                    if (previous == null)
                    {
                        actions.Add(container);
                    }
                    else
                    {
                        previous.Children.Add(container);
                    }
                }
                else
                {
                    // Удалем все дочерние - тем самым как бы схлопываем элемент
                    // Удаляем все вложенные экшены для данной иерархии
                    IList <DrillActionContainer> actionsToHierarchy = History.CurrentHistoryItem.FindDrillActionContainersByHierarchy(container.Children, args.Member.HierarchyUniqueName);
                    if (actionsToHierarchy != null)
                    {
                        // Все действия зануляем
                        foreach (DrillActionContainer action in actionsToHierarchy)
                        {
                            action.Action = null;
                        }
                    }
                    container.Action = new MdxCollapseAction(args.Member.UniqueName);
                }
            }
        }
Example #18
0
        private void ExpandMember(PerformMemberActionArgs args)
        {
            //using (WaitCursor wc = new WaitCursor())
            {
                IList <DrillActionContainer> actions = null;
                if (!RotateAxes)
                {
                    actions = args.AxisIndex == 0 ? History.CurrentHistoryItem.ColumnsActionChain : History.CurrentHistoryItem.RowsActionChain;
                }
                else
                {
                    actions = args.AxisIndex == 1 ? History.CurrentHistoryItem.ColumnsActionChain : History.CurrentHistoryItem.RowsActionChain;
                }
                DrillActionContainer previous  = null;
                DrillActionContainer container = null;

                // Родители
                if (args.Ascendants != null)
                {
                    for (int i = args.Ascendants.Count - 1; i >= 0; i--)
                    {
                        ShortMemberInfo mi = args.Ascendants[i];

                        container = History.CurrentHistoryItem.FindDrillActionContainer(actions, mi.UniqueName);
                        if (container == null)
                        {
                            container = new DrillActionContainer(mi.UniqueName, mi.HierarchyUniqueName);
                            if (previous == null)
                            {
                                actions.Add(container);
                            }
                            else
                            {
                                previous.Children.Add(container);
                            }
                        }
                        previous = container;
                    }
                }

                MdxDrillDownAction skip_container = null;
                // Сам элемент
                container = History.CurrentHistoryItem.FindDrillActionContainer(actions, args.Member.UniqueName);
                if (container == null)
                {
                    container        = new DrillActionContainer(args.Member.UniqueName, args.Member.HierarchyUniqueName);
                    container.Action = new MdxExpandAction(args.Member.UniqueName);
                    if (previous == null)
                    {
                        actions.Add(container);
                    }
                    else
                    {
                        previous.Children.Add(container);
                    }
                }
                else
                {
                    // Если по данному элементу уже дедался дриллдаун - то дриллдаун остается в силе. А раскрытие - прокидываем
                    skip_container = container.Action as MdxDrillDownAction;
                    if (skip_container == null)
                    {
                        container.Action = new MdxExpandAction(args.Member.UniqueName);
                    }
                }

                // Вложенные действия над элементами из этой же иерархии
                IList <DrillActionContainer> actionsToHierarchy = History.CurrentHistoryItem.FindDrillActionContainersByHierarchy(actions, args.Member.HierarchyUniqueName);
                if (actionsToHierarchy != null)
                {
                    // Все DrillUp и DrillDown операции зануляем если уровень у них глубже
                    foreach (DrillActionContainer action in actionsToHierarchy)
                    {
                        MdxDrillDownAction drillDownAction = action.Action as MdxDrillDownAction;
                        if (drillDownAction != null && drillDownAction.LevelDepth >= args.Member.LevelDepth)
                        {
                            if (skip_container != null && skip_container == drillDownAction)
                            {
                                continue;
                            }

                            action.Action = null;
                        }
                        MdxDrillUpAction drillUpAction = action.Action as MdxDrillUpAction;
                        if (drillUpAction != null && drillUpAction.LevelDepth >= args.Member.LevelDepth)
                        {
                            action.Action = null;
                        }
                    }
                }
            }
        }
Example #19
0
 public MemberActionCollapse(PerformMemberActionArgs args) : base(args)
 {
 }
		public MemberActionDrillDown(PerformMemberActionArgs args, DrillDownMode DrillDownMode)
			: base(args)
		{
			this.DrillDownMode = DrillDownMode;
		}
Example #21
0
 public MemberAction(PerformMemberActionArgs args)
 {
     this.args = args;
 }
		public MemberAction(PerformMemberActionArgs args)
		{
			this.args = args;
		}