110 lines
2.7 KiB
C#
110 lines
2.7 KiB
C#
using AutoMapper;
|
|
using IRaCIS.Application.Services.BusinessFilter;
|
|
using IRaCIS.Core.Infra.EFCore;
|
|
using Microsoft.AspNetCore.Authorization;
|
|
using Microsoft.Extensions.Localization;
|
|
using Panda.DynamicWebApi;
|
|
using Panda.DynamicWebApi.Attributes;
|
|
using System.Diagnostics.CodeAnalysis;
|
|
|
|
namespace IRaCIS.Core.Application
|
|
{
|
|
|
|
#pragma warning disable CS8618
|
|
|
|
|
|
#region 非泛型版本
|
|
|
|
[Authorize, DynamicWebApi, UnifiedApiResultFilter]
|
|
public class BaseService : IBaseService, IDynamicWebApi
|
|
{
|
|
public IMapper _mapper { get; set; }
|
|
|
|
public IUserInfo _userInfo { get; set; }
|
|
|
|
public IRepository _repository { get; set; }
|
|
|
|
public IStringLocalizer _localizer { get; set; }
|
|
|
|
|
|
|
|
|
|
public static IResponseOutput Null404NotFound<TEntity>(TEntity? businessObject) where TEntity : class
|
|
{
|
|
return new ResponseOutput<string>()
|
|
.NotOk($"The query object {typeof(TEntity).Name} does not exist , or was deleted by someone else, or an incorrect parameter query caused", code: ApiResponseCodeEnum.DataNotExist);
|
|
}
|
|
}
|
|
|
|
|
|
public interface IBaseService
|
|
{
|
|
[MemberNotNull(nameof(_mapper))]
|
|
public IMapper _mapper { get; set; }
|
|
|
|
[MemberNotNull(nameof(_userInfo))]
|
|
public IUserInfo _userInfo { get; set; }
|
|
|
|
[MemberNotNull(nameof(_repository))]
|
|
public IRepository _repository { get; set; }
|
|
|
|
[MemberNotNull(nameof(_localizer))]
|
|
public IStringLocalizer _localizer { get; set; }
|
|
|
|
}
|
|
#endregion
|
|
|
|
|
|
#region 泛型版本测试
|
|
|
|
|
|
public interface IBaseServiceTest<T> where T : Entity
|
|
{
|
|
[MemberNotNull(nameof(_mapper))]
|
|
public IMapper _mapper { get; set; }
|
|
|
|
[MemberNotNull(nameof(_userInfo))]
|
|
public IUserInfo _userInfo { get; set; }
|
|
|
|
[MemberNotNull(nameof(_repository))]
|
|
public IRepository _repository { get; set; }
|
|
|
|
[MemberNotNull(nameof(_localizer))]
|
|
public IStringLocalizer _localizer { get; set; }
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
[Authorize, DynamicWebApi, UnifiedApiResultFilter]
|
|
public class BaseServiceTest<T> : IBaseServiceTest<T>, IDynamicWebApi where T : Entity
|
|
{
|
|
public IMapper _mapper { get; set; }
|
|
|
|
public IUserInfo _userInfo { get; set; }
|
|
|
|
public IRepository _repository { get; set; }
|
|
|
|
public IStringLocalizer _localizer { get; set; }
|
|
|
|
public static IResponseOutput Null404NotFound<TEntity>(TEntity? businessObject) where TEntity : class
|
|
{
|
|
return new ResponseOutput<string>()
|
|
.NotOk($"The query object {typeof(TEntity).Name} does not exist , or was deleted by someone else, or an incorrect parameter query caused", code: ApiResponseCodeEnum.DataNotExist);
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|