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); }