using BarCode.Web.Core.Dto.Login;
using BarCode.Web.Core.Dto.SerialNumbers;
using BarCode.Web.Domain.Entitys;
using Microsoft.AspNetCore.Mvc;
using Org.BouncyCastle.Bcpg.OpenPgp;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace BarCode.Web.Domain.Infrastructure
{
///
/// 序列码
///
public interface ISerialNumbersRepositories
{
///
/// 获取列表
///
///
///
///
Task<(List list, int total)> GetListAsync(SerialNumberQueryRequest dto, LoginInDto loginInfo);
///
/// 批量添加
///
///
///
///
Task AddRange(List entitys, bool isTransaction = true);
/// 修改实体集合
Task EditEntityList(List entitys, bool isTransaction = true);
/// 查询实体集合
Task> GetEntityList(List serialNumbers);
/// 查询实体集合
Task> GetEntityListContainNumber(List serialNumbers);
/// 根据箱Id查询序列码
Task> GetEntityListByBoxIds(List boxIds);
/// 根据生成记录id查询序列码
Task> GetEntityListBySuitNumber(string suitNumber);
/// 根据套装码查询序列码
Task> GetEntityListByGRIds(List gRIds);
/// 根据生成记录id查询序列码
Task> GetEntityListByGRId(int gRId);
/// 根据箱号查询序列码
Task<(List list, int total)> GetEntityListByBoxId(SerialNumberByBoxIdQueryRequest dto);
/// 查询实体
Task GetEntity(string serialNumber, string orgCode, LoginInDto loginInfo);
/// 查询实体
Task> GetEntityList(string serialNumber, string orgCode, LoginInDto loginInfo);
/// WMS查询实体
Task GetEntityWms(string serialNumbers);
/// 两件装WMS查询实体
Task> GetEntityWmsBySuitNumber(string suitNumber);
///
/// 根据序列号搜索信息
///
///
///
Task GetExternal(string serialNumber);
///
/// 得到两件装
///
///
///
///
public string GetTwoSerialNumber(List entitys, string SuitNumber);
///
/// 得到数字两件装
///
///
///
///
public string GetTwoNumberCode(List entitys, string SuitNumber);
}
}