| 123456789101112131415161718192021222324252627282930313233343536 |
- using Microsoft.Extensions.Options;
- namespace Admin.NET.Plugin.AiDOP.WorkOrder;
- /// <summary>
- /// WP9 · 按 <see cref="AidopPickBillOptions.Mode"/> 选择 Local / Mes 建单实现。
- /// 注入点应使用本类型(或 <see cref="IPickBillCreator"/>),勿直接多实现竞注。
- /// </summary>
- public sealed class PickBillCreatorFacade : IPickBillCreator, ITransient
- {
- private readonly AidopPickBillOptions _opt;
- private readonly WorkOrderPickBillService _local;
- private readonly MesPickBillCreator _mes;
- public PickBillCreatorFacade(
- IOptions<AidopPickBillOptions> opt,
- WorkOrderPickBillService local,
- MesPickBillCreator mes)
- {
- _opt = opt.Value;
- _local = local;
- _mes = mes;
- }
- public Task<PickBillResult> CreateAsync(
- long tenantId,
- string domain,
- string workOrd,
- string account,
- CancellationToken ct = default)
- {
- if (_opt.IsMes)
- return _mes.CreateAsync(tenantId, domain, workOrd, account, ct);
- return _local.CreateAsync(tenantId, domain, workOrd, account, ct);
- }
- }
|