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.
39 lines
1.4 KiB
39 lines
1.4 KiB
using System.Collections.Immutable;
|
|
using Connected.Annotations;
|
|
using Connected.Notifications;
|
|
using Connected.ServiceModel;
|
|
|
|
namespace 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);
|
|
}
|