public List<Order> SearchOrders
Change
where (String.IsNullOrEmpty(customerEmail) || c.Email.Contains(customerEmail))
To
where (String.IsNullOrEmpty(customerEmail) || c.Email.Contains(customerEmail) || o.ShippingEmail.Contains(customerEmail) || o.BillingEmail.Contains(customerEmail))
This will search guest orders by email also.