Ejemplo n.º 1
0
        private void TrimInstanceSet(FilterInfo filterInfo)
        {
            if (-1.0 == filterInfo.Percentage)
            {
                return;
            }
            int    instanceCount = filterInfo.InstanceCount;
            double num           = (double)instanceCount * filterInfo.Percentage / 100.0;

            if (num <= 0.0)
            {
                instanceCount = 0;
            }
            else
            {
                try
                {
                    instanceCount = ((filterInfo.Operator != Microsoft.ReportingServices.ReportIntermediateFormat.Filter.Operators.BottomPercent) ? ((int)Math.Ceiling(num)) : ((int)Math.Floor(num)));
                }
                catch (Exception e)
                {
                    if (AsynchronousExceptionDetection.IsStoppingException(e))
                    {
                        throw;
                    }
                    throw new ReportProcessingException(ErrorCode.rsFilterEvaluationError, "FilterValues");
                }
            }
            filterInfo.TrimInstanceSet(instanceCount);
        }
Ejemplo n.º 2
0
        private void TrimInstanceSet(FilterInfo filterInfo)
        {
            if (-1.0 == filterInfo.Percentage)
            {
                return;
            }
            int    instanceCount = filterInfo.InstanceCount;
            double num           = (double)instanceCount * filterInfo.Percentage / 100.0;

            if (num <= 0.0)
            {
                instanceCount = 0;
            }
            else
            {
                try
                {
                    instanceCount = Convert.ToInt32(num);
                }
                catch
                {
                    throw new ReportProcessingException(ErrorCode.rsFilterEvaluationError, "FilterValues");
                }
            }
            filterInfo.TrimInstanceSet(instanceCount);
        }