73 lines
2.7 KiB
C#
73 lines
2.7 KiB
C#
using CloudBuilder.Core.DatabaseAccessor.Entity;
|
|
using Microsoft.AspNetCore.Authorization;
|
|
using CloudBuilder.Core.DatabaseAccessor;
|
|
using CloudBuilder.AI.Entity;
|
|
using CloudBuilder.AI.Policy;
|
|
using CloudBuilder.AI.SearchCriteria;
|
|
namespace CloudBuilder.AI.Service
|
|
{
|
|
public class AiChapterService : IAiChapterService
|
|
{
|
|
private readonly IApplicationService service;
|
|
|
|
private IRepository<AiChapterEntity> repository;
|
|
public AiChapterService(IApplicationService service)
|
|
{
|
|
this.service = service;
|
|
repository = service.GetRepository<IRepository<AiChapterEntity>>();
|
|
}
|
|
|
|
[PermissionOperate(name: AIPermissionPolicy.AiChapter, operate: Operate.Find)]
|
|
public AiChapterEntity FindByKey(string key)
|
|
{
|
|
return repository.DetachedEntities.Where(x => x.Guid == key).FirstOrDefault()!;
|
|
}
|
|
|
|
[PermissionOperate(name: AIPermissionPolicy.AiBook, operate: Operate.Find)]
|
|
public AiChapterEntity[] FindByTitle(string title)
|
|
{
|
|
|
|
IRepository<AiBookEntity> repositoryAiBookEntity = repository.GetRepository<IRepository<AiBookEntity>>();
|
|
AiBookEntity aiBookEntity = repositoryAiBookEntity.DetachedEntities.Where(x => x.Title == title).FirstOrDefault()!;
|
|
if (aiBookEntity == null) return null;
|
|
|
|
return repository.DetachedEntities.Where(x => x.BookGuid == aiBookEntity.Guid).ToArray();
|
|
}
|
|
|
|
//[PermissionOperate(name: AIPermissionPolicy.AiChapter, operate: Operate.Find)]
|
|
public dynamic FindBySearchCriteria(AiChapterSearchCriteria criteria)
|
|
{
|
|
throw new NotImplementedException();
|
|
}
|
|
|
|
//[PermissionOperate(name: AIPermissionPolicy.AiChapter, operate: Operate.Print)]
|
|
public dynamic PrintBySearchCriteria(AiChapterSearchCriteria criteria)
|
|
{
|
|
throw new NotImplementedException();
|
|
}
|
|
|
|
[PermissionOperate(name: AIPermissionPolicy.AiChapter, operate: Operate.Insert)]
|
|
[UnitOfWork]
|
|
public AiChapterEntity Insert(AiChapterEntity data)
|
|
{
|
|
throw new NotImplementedException();
|
|
}
|
|
|
|
[PermissionOperate(name: AIPermissionPolicy.AiChapter, operate: Operate.Update)]
|
|
[UnitOfWork]
|
|
public AiChapterEntity Update(AiChapterEntity data)
|
|
{
|
|
throw new NotImplementedException();
|
|
}
|
|
|
|
|
|
[PermissionOperate(name: AIPermissionPolicy.AiChapter, operate: Operate.Delete)]
|
|
[UnitOfWork]
|
|
public void Delete(string key)
|
|
{
|
|
var ent = repository.DetachedEntities.Where(x => x.Guid == key).FirstOrDefault()!;
|
|
if (ent != null) { repository.DeleteNow(ent); }
|
|
}
|
|
}
|
|
}
|