using CmsQueryExtensions.Extension;
using System.Linq.Expressions;
using Volo.Abp.Domain.Repositories;
using Volo.Abp.Specifications;
namespace CMS.Plugin.HIAWms.Domain.WmsContainers;
///
/// WmsContainer仓储
///
public interface IWmsContainerRepository : IBasicRepository
{
///
/// Finds the by name asynchronous.
///
/// The name.
/// The cancellation token.
///
Task FindByNameAsync(string name, CancellationToken cancellationToken = default);
///
/// Names the exist asynchronous.
///
/// The name.
/// The identifier.
///
Task NameExistAsync(string name, Guid? id = null);
///
/// Gets the maximum sort asynchronous.
///
///
Task GetMaxSortAsync();
///
/// Gets the list asynchronous.
///
/// The sorting.
/// The maximum result count.
/// The skip count.
/// The filter.
/// The specification.
/// if set to true [include details].
/// The cancellation token.
///
Task> GetListAsync(FunReturnResultModel>> whereConditions, string sorting = null, int maxResultCount = int.MaxValue, int skipCount = 0, bool includeDetails = false, CancellationToken cancellationToken = default);
///
/// Gets the count asynchronous.
///
/// The filter.
/// The specification.
/// The cancellation token.
///
Task GetCountAsync(FunReturnResultModel>> whereConditions, CancellationToken cancellationToken = default);
}