You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Connected.Logistics/Connected.Logistics.Stock.M.../IStockService.cs

39 lines
1.4 KiB

using System.Collections.Immutable;
using Connected.Annotations;
using Connected.Notifications;
using Connected.ServiceModel;
namespace Connected.Logistics.Stock;
/// <summary>
/// Represents the service which manipulates with stock items.
/// </summary>
[Service]
[ServiceUrl(StockUrls.Stock)]
public interface IStockService : IServiceNotifications<long>
{
/// <summary>
/// Updates the stock items at the specified location.
/// </summary>
/// <param name="args"></param>
Task Update(UpdateStockArgs args);
Task<IStock?> Select(PrimaryKeyArgs<long> args);
Task<IStock?> Select(EntityArgs args);
/// <summary>
/// Queries all stock items for the specified stock.
/// </summary>
/// <param name="args">The arguments containing the id of the stock</param>
/// <returns>The list of stock items that belong to the specified stock id.</returns>
Task<ImmutableList<IStockItem>> QueryItems(PrimaryKeyArgs<long> args);
/// <summary>
/// Queries stock items for the specified stock that are present in the specified
/// warehouse location.
/// </summary>
/// <param name="args">The arguments containing the crieria used by query.</param>
/// <returns>The list of stock items that are present in the specified warehouse location and
/// belong to the specified stock id.</returns>
Task<ImmutableList<IStockItem>> QueryItems(QueryStockItemsArgs args);
Task<IStockItem?> SelectItem(PrimaryKeyArgs<long> args);
}