public async Task<JsonResult> GetCustomers(string query, bool validateOnly)
        {
            if (validateOnly)
            {
                var emptyQueryable = new EnumerableQuery<Customer>(new Customer[0]);
                try
                {
                    emptyQueryable.Where(query);
                    return Json(new { Valid = true });
                }
                catch (ParseException ex)
                {
                    return Json(new { Valid = false, ex.Message });
                }
            }

            var service = new CustomerDataService();
            var result = await service.GetAllCustomersAsync();
            IQueryable<Customer> queryableResult = result.AsQueryable();
            if (!string.IsNullOrWhiteSpace(query))
            {
                queryableResult = queryableResult.Where(query);
            }

            return Json(queryableResult.ToArray());
        }