/// <summary> /// Search return requests /// </summary> /// <param name="storeId">Store identifier; 0 to load all entries</param> /// <param name="customerId">Customer identifier; null to load all entries</param> /// <param name="orderItemId">Order item identifier; 0 to load all entries</param> /// <param name="rs">Return request status; null to load all entries</param> /// <param name="pageIndex">Page index</param> /// <param name="pageSize">Page size</param> /// <returns>Return requests</returns> public virtual IPagedList<ReturnRequest> SearchReturnRequests(int storeId = 0, int customerId = 0, int orderItemId = 0, ReturnRequestStatus? rs = null, int pageIndex = 0, int pageSize = int.MaxValue) { var query = _returnRequestRepository.Table; if (storeId > 0) query = query.Where(rr => storeId == rr.StoreId); if (customerId > 0) query = query.Where(rr => customerId == rr.CustomerId); if (rs.HasValue) { var returnStatusId = (int)rs.Value; query = query.Where(rr => rr.ReturnRequestStatusId == returnStatusId); } if (orderItemId > 0) query = query.Where(rr => rr.OrderItemId == orderItemId); query = query.OrderByDescending(rr => rr.CreatedOnUtc).ThenByDescending(rr=>rr.Id); var returnRequests = new PagedList<ReturnRequest>(query, pageIndex, pageSize); return returnRequests; }
/// <summary> /// Search return requests /// </summary> /// <param name="customerId">Customer identifier; null to load all entries</param> /// <param name="orderProductVariantId">Order product variant identifier; null to load all entries</param> /// <param name="rs">Return request status; null to load all entries</param> /// <returns>Return requests</returns> public virtual IList<ReturnRequest> SearchReturnRequests(int customerId, int orderProductVariantId, ReturnRequestStatus? rs) { var query = _returnRequestRepository.Table; if (customerId > 0) query = query.Where(rr => customerId == rr.CustomerId); if (rs.HasValue) { int returnStatusId = (int)rs.Value; query = query.Where(rr => rr.ReturnRequestStatusId == returnStatusId); } if (orderProductVariantId > 0) query = query.Where(rr => rr.OrderProductVariantId == orderProductVariantId); query = query.OrderByDescending(rr => rr.CreatedOnUtc).ThenByDescending(rr=>rr.Id); var returnRequests = query.ToList(); return returnRequests; }
/// <summary> /// Search return requests /// </summary> /// <param name="customerId">Customer identifier; null to load all entries</param> /// <param name="orderProductVariantId">Order product variant identifier; null to load all entries</param> /// <param name="rs">Return request status; null to load all entries</param> /// <param name="pageIndex">Page index</param> /// <param name="pageSize">Page size</param> /// <param name="vendorId">vendor Id</param> /// <returns>Return requests</returns> public virtual IPagedList<ReturnRequest> SearchReturnRequests(int customerId, int orderProductVariantId, ReturnRequestStatus? rs, int pageIndex, int pageSize ,int vendorId ) { var query = _returnRequestRepository.Table; //add by hz if (vendorId > 0) { query = from rr in _returnRequestRepository.Table join opv in _opvRepository.Table on rr.OrderProductVariantId equals opv.ProductVariantId join pv in _pvRepository.Table on opv.ProductVariantId equals pv.Id join p in _productRepository.Table on pv.ProductId equals p.Id join pvendor in _productVendorRepository.Table on p.Id equals pvendor.ProductId where pvendor.VendorId == vendorId select rr; } //end by hz if (customerId > 0) query = query.Where(rr => customerId == rr.CustomerId); if (rs.HasValue) { int returnStatusId = (int)rs.Value; query = query.Where(rr => rr.ReturnRequestStatusId == returnStatusId); } if (orderProductVariantId > 0) query = query.Where(rr => rr.OrderProductVariantId == orderProductVariantId); query = query.OrderByDescending(rr => rr.CreatedOnUtc).ThenByDescending(rr => rr.Id); var returnRequests = new PagedList<ReturnRequest>(query, pageIndex, pageSize); return returnRequests; }