public IEnumerable<Customer> CustomerSearch(Customer searchCustomer) { IEnumerable<Customer> customers; if (searchCustomer == null) { customers = _db.GetAll() .Include(c => c.Orders .Select(o => o.ProductOrder .Select(p => p.Product))); } else if (searchCustomer.CustomerNumber != 0) { customers = _db.GetAll() .Where(c => c.CustomerNumber == searchCustomer.CustomerNumber) .Include(c => c.Orders .Select(o => o.ProductOrder .Select(p => p.Product))); } else if (searchCustomer.FirstName != null && searchCustomer.LastName != null) { customers = _db.GetAll() .Where(c => c.FirstName.Contains(searchCustomer.FirstName) && c.LastName.Contains(searchCustomer.LastName)) .Include(c => c.Orders .Select(o => o.ProductOrder .Select(p => p.Product))); } else if (searchCustomer.FirstName != null && searchCustomer.LastName == null) { customers = _db.GetAll() .Where(c => c.FirstName.Contains(searchCustomer.FirstName)) .Include(c => c.Orders .Select(o => o.ProductOrder .Select(p => p.Product))); } else if (searchCustomer.FirstName == null && searchCustomer.LastName != null) { customers = _db.GetAll() .Where(c => c.LastName.Contains(searchCustomer.LastName)) .Include(c => c.Orders .Select(o => o.ProductOrder .Select(p => p.Product))); } else { customers = _db.GetAll() .Include(c => c.Orders .Select(o => o.ProductOrder .Select(p => p.Product))); } return customers.ToList(); }
// GET: Customers public ActionResult Index(Customer searchCustomer = null) { var customers = CustomerSearch(searchCustomer); return View(customers); }