using CMS.Plugin.PipeLineLems.Abstractions;
using CMS.Plugin.PipeLineLems.Domain.MyTestEntityNames;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
using SYC.Flow.Kernel;
using Volo.Abp.DependencyInjection;
using Volo.Abp.Uow;
namespace CMS.Plugin.PipeLineLems.Services
{
///
public class PipeLineLemsFlowService : IPipeLineLemsFlowService, ITransientDependency
{
private readonly ILogger _logger;
private readonly IServiceProvider _serviceProvider;
///
/// Initializes a new instance of the class.
///
/// The logger.
public PipeLineLemsFlowService(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 mytestentitynameRepository = scope.ServiceProvider.GetRequiredService();
var count = await mytestentitynameRepository.GetCountAsync();
// 如果有更新数据库操作,需提交保存
// await uow.SaveChangesAsync();
// 输出日志
_logger.LogInformation($"PipeLineLemsFlowService:ProcessAsync()");
}
}
}