Exemplo n.º 1
0
        public static bool ConditionHasSource(ReportConditionItemDef c, Guid sourceId)
        {
            var expCondition = c as ReportExpConditionDef;

            if (expCondition != null)
            {
                if (expCondition.Conditions != null)
                {
                    expCondition.Conditions.RemoveAll(i => ConditionHasSource(i, sourceId));
                }
                else
                {
                    return(true);
                }

                return(false);
            }


            return
                ((c is ReportConditionDef && ((ReportConditionDef)c).LeftAttribute != null &&
                  ((ReportConditionDef)c).LeftAttribute.SourceId == sourceId) ||
                 (c is ReportConditionDef && ((ReportConditionDef)c).RightPart is ReportConditionRightAttributeDef &&
                  ((ReportConditionRightAttributeDef)((ReportConditionDef)c).RightPart).Attribute != null &&
                  ((ReportConditionRightAttributeDef)((ReportConditionDef)c).RightPart).Attribute.SourceId ==
                  sourceId));
        }
Exemplo n.º 2
0
        private static ReportConditionItemDef FindConditionById(ReportConditionItemDef condition, Guid conditionId)
        {
            if (condition.Id == conditionId)
            {
                return(condition);
            }

            var exp = condition as ReportExpConditionDef;

            if (exp != null && exp.Conditions != null)
            {
                return(exp.Conditions.Select(c => FindConditionById(c, conditionId)).FirstOrDefault(c => c != null));
            }

            return(null);
        }