Esempio n. 1
0
        public static Expression <Func <T, bool> > SummaryQueueCustomFilterExpression <T>(QueueFilter queueFilter, params Func <Filter, Expression <Func <T, bool> > >[] customFilterExpressions) where T : Summary
        {
            var filter = (queueFilter != null && queueFilter.Filter1 != null) ? queueFilter.Filter1 : null;

            if (filter == null || string.IsNullOrEmpty(filter.Value))
            {
                return(summary => true);
            }

            QueueMap queueFieldMap;

            if (GetQueueMapping <T>(filter.FieldName, out queueFieldMap))
            {
                return(null);
            }

            if (queueFieldMap == null || !queueFieldMap.CustomFilter)
            {
                return(summary => true);
            }

            if (filter.FieldName == "agency")
            {
                return(SummeryQueueCustomExpressions <T> .AgencyExpression(filter));
            }
            if (customFilterExpressions != null)
            {
                foreach (var e in customFilterExpressions)
                {
                    Expression <Func <T, bool> > result = e(filter);
                    if (result != null)
                    {
                        return(result);
                    }
                }
            }
            return(summary => true);
        }
Esempio n. 2
0
 public static Expression <Func <ArrestSummary, bool> > ArrestQueueCustomFilterExpression(QueueFilter queueFilter)
 {
     return(SummaryQueueCustomFilterExpression <ArrestSummary>(queueFilter,
                                                               f => (f.FieldName == "reportingOfficerName" || f.FieldName == "reportingOfficerId") ? SummeryQueueCustomExpressions <ArrestSummary> .ReportingOfficerExpression(f) : null,
                                                               f => (f.FieldName == "supplementingOfficerName" || f.FieldName == "supplementingOfficerId") ? SummeryQueueCustomExpressions <ArrestSummary> .SupplementingOfficerExpression(f) : null));
 }
Esempio n. 3
0
 public static Expression <Func <IncidentSummary, bool> > IncidentQueueCustomFilterExpression(QueueFilter queueFilter)
 {
     return(SummaryQueueCustomFilterExpression <IncidentSummary>(queueFilter,
                                                                 f => (f.FieldName == "reportingOfficerName" || f.FieldName == "reportingOfficerId") ? SummeryQueueCustomExpressions <IncidentSummary> .ReportingOfficerExpression(f) : null,
                                                                 f => (f.FieldName == "assistingOfficerName" || f.FieldName == "assistingOfficerId")?SummeryQueueCustomExpressions <IncidentSummary> .OfficerExpression(f, OfficerInvolvementTypes.Assisting.Code):null,
                                                                 f => (f.FieldName == "approvingOfficerName" || f.FieldName == "approvingOfficerId")?SummeryQueueCustomExpressions <IncidentSummary> .OfficerExpression(f, OfficerInvolvementTypes.Approving.Code):null,
                                                                 f => (f.FieldName == "investigatingOfficerName" || f.FieldName == "investigatingOfficerId")?SummeryQueueCustomExpressions <IncidentSummary> .OfficerExpression(f, OfficerInvolvementTypes.Investigating.Code):null,
                                                                 f => (f.FieldName == "supplementingOfficerName" || f.FieldName == "supplementingOfficerId") ? SummeryQueueCustomExpressions <IncidentSummary> .SupplementingOfficerExpression(f) : null
                                                                 ));
 }