public IActionResult GetAllCarryOutsForCustomer(int id)
        {
            var request = new GetAllCarryOutsForCustomerRequest()
            {
                CustomerId = id
            };
            var response = _carryOutService.GetAllCarryOutsForCustomer(request);

            if (response.IsSuccessful)
            {
                return(Ok(response.CarryOuts));
            }
            else
            {
                return(BadRequest(response.Message));
            }
        }
        public GetAllCarryOutsForCustomerResponse GetAllCarryOutsForCustomer(GetAllCarryOutsForCustomerRequest request)
        {
            var response = new GetAllCarryOutsForCustomerResponse
            {
                IsSuccessful = false,
                Message      = ""
            };

            try
            {
                var customer = _context.Customers
                               .FirstOrDefault(x => x.Id == request.CustomerId);

                var carryOuts = _context.CarryOuts
                                .Include(x => x.Customer)
                                .Where(x => x.Customer.Id == customer.Id)
                                .Where(x => x.SubmissionTime != null)
                                .Where(x => x.BundleId != 0)
                                .ToList();

                var distinctRecords = carryOuts
                                      .GroupBy(x => x.BundleId)
                                      .Select(x => x.First())
                                      .OrderByDescending(x => x.BundleId)
                                      .ToList();

                carryOuts             = distinctRecords;
                response.CarryOuts    = carryOuts;
                response.IsSuccessful = true;
            }
            catch (Exception ex)
            {
                response.Message = ex.ToString();
            }
            return(response);
        }