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 repository; public SecurityHelpFunctionService(IApplicationService service) { this.service = service; repository = service.GetRepository>(); } [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 repositorySecurityHelpFeatureEntity = repository.GetRepository>(); IRepository repositorySecurityHelpFeatureGroupEntity = repository.GetRepository>(); IRepository repositorySecurityHelpFunctionFeatureEntity = repository.GetRepository>(); IRepository repositorySecurityHelpStepEntity = repository.GetRepository>(); 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); } } } }