using CMS.Plugin.HIAWms.Abstractions;
using CMS.Plugin.HIAWms.Domain.WmsContainers;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
using SYC.Flow.Kernel;
using Volo.Abp.DependencyInjection;
using Volo.Abp.Uow;
namespace CMS.Plugin.HIAWms.Services
{
///
public class HIAWmsFlowService : IHIAWmsFlowService, ITransientDependency
{
private readonly ILogger _logger;
private readonly IServiceProvider _serviceProvider;
///
/// Initializes a new instance of the class.
///
/// The logger.
public HIAWmsFlowService(ILogger logger, IServiceProvider serviceProvider)
{
_logger = logger;
_serviceProvider = serviceProvider;
}
///
public async Task ProcessAsync(ProcessflowEventArgs args)
{
using var scope = _serviceProvider.CreateScope();
var unitOfWorkManager = scope.ServiceProvider.GetRequiredService();
using var uow = unitOfWorkManager.Begin(requiresNew: true);
var wmscontainerRepository = scope.ServiceProvider.GetRequiredService();
var count = await wmscontainerRepository.GetCountAsync();
// 如果有更新数据库操作,需提交保存
// await uow.SaveChangesAsync();
// 输出日志
_logger.LogInformation($"HIAWmsFlowService:ProcessAsync()");
}
}
}