CleanCode.AlertFilter3.FilterByStatus3 C# (CSharp) Method

FilterByStatus3() public static method

public static FilterByStatus3 ( this alerts, int primaryStatusId, int secondaryStatusId, bool isNewEntry ) : IEnumerable
alerts this
primaryStatusId int
secondaryStatusId int
isNewEntry bool
return IEnumerable
        public static IEnumerable<Alert> FilterByStatus3(this IEnumerable<Alert> alerts, int? primaryStatusId,
            int? secondaryStatusId, bool isNewEntry)
        {
            var filteredAlerts = alerts.WherePrimaryStatusIs(primaryStatusId)
                                       .AndSecondaryStatusIs(secondaryStatusId);

            var newEntryAlerts = alerts.WherePrimaryStatusIs(null)
                                       .AndSecondaryStatusIs(null)
                                       .AndIsNewEntry(isNewEntry);

            return filteredAlerts.Union(newEntryAlerts).ToArray();
        }