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/Logistics.Types.Model/WarehouseLocations/IWarehouseLocationService.cs

30 lines
1.2 KiB

2 years ago
using System.Collections.Immutable;
using Connected.Annotations;
using Connected.Notifications;
using Connected.ServiceModel;
using Logistics.Types.Warehouses;
namespace Logistics.Types.WarehouseLocations;
[Service]
[ServiceUrl(LogisticsUrls.WarehouseLocations)]
public interface IWarehouseLocationService : IServiceNotifications<int>
{
Task<ImmutableList<IWarehouseLocation>> Query(QueryArgs? args);
/// <summary>
/// Queries warehouse locations for the specified <see cref="IWarehouse"/>.
/// </summary>
/// <param name="args">The arguments containing the id of the warehouse.</param>
/// <returns>The list of warehouse locations that belong to the specified warehouse.</returns>
Task<ImmutableList<IWarehouseLocation>> Query(QueryWarehouseLocationArgs args);
Task<ImmutableList<IWarehouseLocation>> Query(PrimaryKeyListArgs<int> args);
Task<ImmutableList<IWarehouseLocation>> QueryChildren(QueryWarehouseLocationChildrenArgs args);
Task<IWarehouseLocation?> Select(PrimaryKeyArgs<int> args);
Task<IWarehouseLocation?> Select(SelectWarehouseLocationArgs args);
Task<int> Insert(InsertWarehouseLocationArgs args);
Task Update(UpdateWarehouseLocationArgs args);
Task Patch(PatchArgs<int> args);
Task Delete(PrimaryKeyArgs<int> args);
}