public ICollection <Customer> FindCustomersByName(string name) { ICollection <Customer> customersFromRepository = repository.FindByCriteria <Customer>(Expression.Eq("Name", name)); List <Customer> approvedCustomers = new List <Customer>(); foreach (Customer customer in customersFromRepository) { if (authorization.IsAllowed(customer, "View") == false) { continue; } auditor.ReadCustomer(customer); approvedCustomers.Add(customer); } return(approvedCustomers); }