81 lines
3.8 KiB
C#
81 lines
3.8 KiB
C#
|
|
using CloudBuilder.Core.DatabaseAccessor;
|
|
using CloudBuilder.Core.DatabaseAccessor.Entity;
|
|
using CloudBuilder.Security.Data;
|
|
using CloudBuilder.Security.Entity;
|
|
using CloudBuilder.Security.Policy;
|
|
using CloudBuilder.Security.SearchCriteria;
|
|
using Microsoft.AspNetCore.Authorization;
|
|
namespace CloudBuilder.Security.Service
|
|
{
|
|
public class SecurityHelpFunctionService : ISecurityHelpFunctionService
|
|
{
|
|
private readonly IApplicationService service;
|
|
|
|
private IRepository<SecurityHelpFunctionEntity> repository;
|
|
public SecurityHelpFunctionService(IApplicationService service)
|
|
{
|
|
this.service = service;
|
|
repository = service.GetRepository<IRepository<SecurityHelpFunctionEntity>>();
|
|
}
|
|
|
|
[PermissionOperate(name: SecurityPermissionPolicy.SecurityHelpFunction, operate: Operate.Find)]
|
|
public SecurityHelpFunctionEntity FindByKey(string key)
|
|
{
|
|
return repository.DetachedEntities.Where(x => x.HelpFunctionId == key).FirstOrDefault()!;
|
|
}
|
|
[AllowAnonymous]
|
|
public SecurityHelpFunctionData FindAll()
|
|
{
|
|
IRepository<SecurityHelpFeatureEntity> repositorySecurityHelpFeatureEntity = repository.GetRepository<IRepository<SecurityHelpFeatureEntity>>();
|
|
IRepository<SecurityHelpFeatureGroupEntity> repositorySecurityHelpFeatureGroupEntity = repository.GetRepository<IRepository<SecurityHelpFeatureGroupEntity>>();
|
|
IRepository<SecurityHelpFunctionFeatureEntity> repositorySecurityHelpFunctionFeatureEntity = repository.GetRepository<IRepository<SecurityHelpFunctionFeatureEntity>>();
|
|
IRepository<SecurityHelpStepEntity> repositorySecurityHelpStepEntity = repository.GetRepository<IRepository<SecurityHelpStepEntity>>();
|
|
|
|
SecurityHelpFunctionData data = new SecurityHelpFunctionData();
|
|
data.SecurityHelpFunctions = repository.DetachedEntities.ToArray();
|
|
data.SecurityHelpFeatures = repositorySecurityHelpFeatureEntity.DetachedEntities.ToArray();
|
|
data.SecurityHelpFunctionFeatures = repositorySecurityHelpFunctionFeatureEntity.DetachedEntities.ToArray();
|
|
data.SecurityHelpFeatureGroups = repositorySecurityHelpFeatureGroupEntity.DetachedEntities.ToArray();
|
|
data.SecurityHelpSteps = repositorySecurityHelpStepEntity.DetachedEntities.ToArray();
|
|
|
|
return data;
|
|
}
|
|
|
|
//[PermissionOperate(name: SecurityPermissionPolicy.SecurityHelpFunction, operate: Operate.Find)]
|
|
public dynamic FindBySearchCriteria(SecurityHelpFunctionSearchCriteria criteria)
|
|
{
|
|
throw new NotImplementedException();
|
|
}
|
|
|
|
//[PermissionOperate(name: SecurityPermissionPolicy.SecurityHelpFunction, operate: Operate.Print)]
|
|
public dynamic PrintBySearchCriteria(SecurityHelpFunctionSearchCriteria criteria)
|
|
{
|
|
throw new NotImplementedException();
|
|
}
|
|
|
|
[PermissionOperate(name: SecurityPermissionPolicy.SecurityHelpFunction, operate: Operate.Insert)]
|
|
[UnitOfWork]
|
|
public SecurityHelpFunctionEntity Insert(SecurityHelpFunctionEntity data)
|
|
{
|
|
throw new NotImplementedException();
|
|
}
|
|
|
|
[PermissionOperate(name: SecurityPermissionPolicy.SecurityHelpFunction, operate: Operate.Update)]
|
|
[UnitOfWork]
|
|
public SecurityHelpFunctionEntity Update(SecurityHelpFunctionEntity data)
|
|
{
|
|
throw new NotImplementedException();
|
|
}
|
|
|
|
|
|
[PermissionOperate(name: SecurityPermissionPolicy.SecurityHelpFunction, operate: Operate.Delete)]
|
|
[UnitOfWork]
|
|
public void Delete(string key)
|
|
{
|
|
var ent = repository.DetachedEntities.Where(x => x.HelpFunctionId == key).FirstOrDefault()!;
|
|
if (ent != null) { repository.DeleteNow(ent); }
|
|
}
|
|
}
|
|
}
|