first commit
This commit is contained in:
@@ -0,0 +1,20 @@
|
||||
using JSMachine.WMS.Infrastructure.Enums;
|
||||
using Microsoft.EntityFrameworkCore.Storage.ValueConversion.Internal;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace JSMachine.WMS.Infrastructure.Attributes
|
||||
{
|
||||
[AttributeUsage(AttributeTargets.Class)]
|
||||
public class ErpTypeAttribute : Attribute
|
||||
{
|
||||
public ErpType ErpType { get; set; }
|
||||
public ErpTypeAttribute(ErpType erpType)
|
||||
{
|
||||
ErpType = erpType;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
using Rougamo;
|
||||
using Rougamo.Context;
|
||||
using System.Threading;
|
||||
|
||||
namespace JSMachine.WMS.Infrastructure.Attributes
|
||||
{
|
||||
/// <summary>
|
||||
/// 注意,任何使用该标记的项目中均需要安装Rougamo.Fody包,否则属性标记锁将失效
|
||||
/// </summary>
|
||||
public class MethodLockedAttribute : MoAttribute
|
||||
{
|
||||
private static readonly SemaphoreSlim SemaphoreSlim = new(1);
|
||||
|
||||
public override void OnEntry(MethodContext context)
|
||||
{
|
||||
SemaphoreSlim.Wait();
|
||||
|
||||
}
|
||||
|
||||
public override void OnExit(MethodContext context)
|
||||
{
|
||||
SemaphoreSlim.Release();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
using JSMachine.WMS.Infrastructure.Enums;
|
||||
using System;
|
||||
|
||||
namespace JSMachine.WMS.Infrastructure.Attributes
|
||||
{
|
||||
[AttributeUsage(AttributeTargets.Class)]
|
||||
public class PmsTypeAttribute : Attribute
|
||||
{
|
||||
public PmsType PmsType { get; set; }
|
||||
public PmsTypeAttribute(PmsType pmsType)
|
||||
{
|
||||
PmsType = pmsType;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user