IStorageAreaRepository.cs 664 Bytes
using Rcs.Domain.Entities;

namespace Rcs.Domain.Repositories;

/// <summary>
/// 库区仓储接口
/// @author zzy
/// </summary>
public interface IStorageAreaRepository : IRepository<StorageArea>
{
    /// <summary>
    /// 根据库区编码获取库区
    /// </summary>
    Task<StorageArea?> GetByAreaCodeAsync(string areaCode, CancellationToken cancellationToken = default);
    Task<IEnumerable<StorageArea>> GetByMapIdAsync(Guid mapId, CancellationToken cancellationToken);


    /// <summary>
    /// 获取库区及其库位
    /// </summary>
    Task<StorageArea?> GetWithLocationsAsync(Guid areaId, CancellationToken cancellationToken = default);
}