166 lines
6.9 KiB
C#
166 lines
6.9 KiB
C#
using Nop.Core;
|
|
using Nop.Core.Domain.Catalog;
|
|
using Nop.Core.Domain.Shipping;
|
|
using Nop.Services.Shipping.Tracking;
|
|
|
|
namespace Nop.Services.Shipping;
|
|
|
|
/// <summary>
|
|
/// Shipment service interface
|
|
/// </summary>
|
|
public partial interface IShipmentService
|
|
{
|
|
/// <summary>
|
|
/// Deletes a shipment
|
|
/// </summary>
|
|
/// <param name="shipment">Shipment</param>
|
|
/// <returns>A task that represents the asynchronous operation</returns>
|
|
Task DeleteShipmentAsync(Shipment shipment);
|
|
|
|
/// <summary>
|
|
/// Search shipments
|
|
/// </summary>
|
|
/// <param name="vendorId">Vendor identifier; 0 to load all records</param>
|
|
/// <param name="warehouseId">Warehouse identifier, only shipments with products from a specified warehouse will be loaded; 0 to load all orders</param>
|
|
/// <param name="shippingCountryId">Shipping country identifier; 0 to load all records</param>
|
|
/// <param name="shippingStateId">Shipping state identifier; 0 to load all records</param>
|
|
/// <param name="shippingCounty">Shipping county; null to load all records</param>
|
|
/// <param name="shippingCity">Shipping city; null to load all records</param>
|
|
/// <param name="trackingNumber">Search by tracking number</param>
|
|
/// <param name="loadNotShipped">A value indicating whether we should load only not shipped shipments</param>
|
|
/// <param name="loadNotReadyForPickup">A value indicating whether we should load only not ready for pickup shipments</param>
|
|
/// <param name="loadNotDelivered">A value indicating whether we should load only not delivered shipments</param>
|
|
/// <param name="orderId">Order identifier; 0 to load all records</param>
|
|
/// <param name="createdFromUtc">Created date from (UTC); null to load all records</param>
|
|
/// <param name="createdToUtc">Created date to (UTC); null to load all records</param>
|
|
/// <param name="pageIndex">Page index</param>
|
|
/// <param name="pageSize">Page size</param>
|
|
/// <returns>
|
|
/// A task that represents the asynchronous operation
|
|
/// The task result contains the shipments
|
|
/// </returns>
|
|
Task<IPagedList<Shipment>> GetAllShipmentsAsync(int vendorId = 0, int warehouseId = 0,
|
|
int shippingCountryId = 0,
|
|
int shippingStateId = 0,
|
|
string shippingCounty = null,
|
|
string shippingCity = null,
|
|
string trackingNumber = null,
|
|
bool loadNotShipped = false,
|
|
bool loadNotReadyForPickup = false,
|
|
bool loadNotDelivered = false,
|
|
int orderId = 0,
|
|
DateTime? createdFromUtc = null, DateTime? createdToUtc = null,
|
|
int pageIndex = 0, int pageSize = int.MaxValue);
|
|
|
|
/// <summary>
|
|
/// Get shipment by identifiers
|
|
/// </summary>
|
|
/// <param name="shipmentIds">Shipment identifiers</param>
|
|
/// <returns>
|
|
/// A task that represents the asynchronous operation
|
|
/// The task result contains the shipments
|
|
/// </returns>
|
|
Task<IList<Shipment>> GetShipmentsByIdsAsync(int[] shipmentIds);
|
|
|
|
/// <summary>
|
|
/// Gets a shipment
|
|
/// </summary>
|
|
/// <param name="shipmentId">Shipment identifier</param>
|
|
/// <returns>
|
|
/// A task that represents the asynchronous operation
|
|
/// The task result contains the shipment
|
|
/// </returns>
|
|
Task<Shipment> GetShipmentByIdAsync(int shipmentId);
|
|
|
|
/// <summary>
|
|
/// Gets a list of order shipments
|
|
/// </summary>
|
|
/// <param name="orderId">Order identifier</param>
|
|
/// <param name="shipped">A value indicating whether to count only shipped or not shipped shipments; pass null to ignore</param>
|
|
/// <param name="readyForPickup">A value indicating whether to load only ready for pickup shipments; pass null to ignore</param>
|
|
/// <param name="vendorId">Vendor identifier; pass 0 to ignore</param>
|
|
/// <returns>
|
|
/// A task that represents the asynchronous operation
|
|
/// The task result contains the result
|
|
/// </returns>
|
|
Task<IList<Shipment>> GetShipmentsByOrderIdAsync(int orderId, bool? shipped = null, bool? readyForPickup = null, int vendorId = 0);
|
|
|
|
/// <summary>
|
|
/// Inserts a shipment
|
|
/// </summary>
|
|
/// <param name="shipment">Shipment</param>
|
|
/// <returns>A task that represents the asynchronous operation</returns>
|
|
Task InsertShipmentAsync(Shipment shipment);
|
|
|
|
/// <summary>
|
|
/// Updates the shipment
|
|
/// </summary>
|
|
/// <param name="shipment">Shipment</param>
|
|
/// <returns>A task that represents the asynchronous operation</returns>
|
|
Task UpdateShipmentAsync(Shipment shipment);
|
|
|
|
/// <summary>
|
|
/// Gets a shipment items of shipment
|
|
/// </summary>
|
|
/// <param name="shipmentId">Shipment identifier</param>
|
|
/// <returns>
|
|
/// A task that represents the asynchronous operation
|
|
/// The task result contains the shipment items
|
|
/// </returns>
|
|
Task<IList<ShipmentItem>> GetShipmentItemsByShipmentIdAsync(int shipmentId);
|
|
|
|
/// <summary>
|
|
/// Inserts a shipment item
|
|
/// </summary>
|
|
/// <param name="shipmentItem">Shipment item</param>
|
|
/// <returns>A task that represents the asynchronous operation</returns>
|
|
Task InsertShipmentItemAsync(ShipmentItem shipmentItem);
|
|
|
|
/// <summary>
|
|
/// Deletes a shipment item
|
|
/// </summary>
|
|
/// <param name="shipmentItem">Shipment Item</param>
|
|
/// <returns>A task that represents the asynchronous operation</returns>
|
|
Task DeleteShipmentItemAsync(ShipmentItem shipmentItem);
|
|
|
|
/// <summary>
|
|
/// Updates a shipment item
|
|
/// </summary>
|
|
/// <param name="shipmentItem">Shipment item</param>
|
|
/// <returns>A task that represents the asynchronous operation</returns>
|
|
Task UpdateShipmentItemAsync(ShipmentItem shipmentItem);
|
|
|
|
/// <summary>
|
|
/// Gets a shipment item
|
|
/// </summary>
|
|
/// <param name="shipmentItemId">Shipment item identifier</param>
|
|
/// <returns>
|
|
/// A task that represents the asynchronous operation
|
|
/// The task result contains the shipment item
|
|
/// </returns>
|
|
Task<ShipmentItem> GetShipmentItemByIdAsync(int shipmentItemId);
|
|
|
|
/// <summary>
|
|
/// Get quantity in shipments. For example, get planned quantity to be shipped
|
|
/// </summary>
|
|
/// <param name="product">Product</param>
|
|
/// <param name="warehouseId">Warehouse identifier</param>
|
|
/// <param name="ignoreShipped">Ignore already shipped shipments</param>
|
|
/// <param name="ignoreDelivered">Ignore already delivered shipments</param>
|
|
/// <returns>
|
|
/// A task that represents the asynchronous operation
|
|
/// The task result contains the quantity
|
|
/// </returns>
|
|
Task<int> GetQuantityInShipmentsAsync(Product product, int warehouseId,
|
|
bool ignoreShipped, bool ignoreDelivered);
|
|
|
|
/// <summary>
|
|
/// Get the tracker of the shipment
|
|
/// </summary>
|
|
/// <param name="shipment">Shipment</param>
|
|
/// <returns>
|
|
/// A task that represents the asynchronous operation
|
|
/// The task result contains the shipment tracker
|
|
/// </returns>
|
|
Task<IShipmentTracker> GetShipmentTrackerAsync(Shipment shipment);
|
|
} |