using CMS.Plugin.HIAWms.Domain.WmsContainers;
using Microsoft.Extensions.Logging;
using Volo.Abp.BackgroundJobs;
using Volo.Abp.DependencyInjection;
using Volo.Abp.Uow;
namespace CMS.Plugin.HIAWms.Jobs
{
///
/// HIAWms 后台作业
///
public class HIAWmsJob : BackgroundJob, ITransientDependency
{
private readonly ILogger _logger;
private readonly IUnitOfWorkManager _unitOfWorkManager;
private readonly IWmsContainerRepository _wmscontainerRepository;
///
/// Initializes a new instance of the class.
///
/// The logger.
/// The unit of work manager.
/// My entity name repository.
public HIAWmsJob(ILogger logger, IUnitOfWorkManager unitOfWorkManager, IWmsContainerRepository wmscontainerRepository)
{
_logger = logger;
_unitOfWorkManager = unitOfWorkManager;
_wmscontainerRepository = wmscontainerRepository;
}
///
public override void Execute(HIAWmsArgs args)
{
using var uow = _unitOfWorkManager.Begin(requiresNew: true);
var count = _wmscontainerRepository.GetCountAsync().GetAwaiter().GetResult();
// 如果有更新数据库操作,需提交保存
// uow.SaveChangesAsync().GetAwaiter().GetResult();
_logger.LogInformation($"HIAWmsJob Execute,Subject={args.Subject},Body={args.Body},Count={count}");
}
}
}