refactor Implementing Provider Service ...

This commit is contained in:
2026-05-29 19:35:45 +03:30
parent ecd94c7b03
commit 7609bdf2ca
5 changed files with 102 additions and 0 deletions
+37
View File
@@ -0,0 +1,37 @@
using System;
using System.Linq;
using Microsoft.EntityFrameworkCore.Query;
using Microsoft.Extensions.Logging;
using xCommons.Configurations;
using xCommons.Providers;
using xIdentityService.Interfaces;
using xPushService.Controllers;
using xTagService.Interfaces;
using xTagService.Models.Dtos;
using xTagService.Models.Entities;
using xTagService.Providers.Dtos;
namespace xTagService.Controllers
{
public abstract class XTagProviderControllerBase : XBaseProvidedController<XTag, XTagDto, int, XTagDtoHub>, IXTagProviderController
{
protected XTagProviderControllerBase(
ILogger<XTagProviderControllerBase> logger,
XAppConfiguration appConfiguration,
IXIdentityProvider identityProvider,
XValidationProvider validationProvider,
IXTagProvider provider,
Func<IQueryable<XTag>, IOrderedQueryable<XTag>> defaultOrderBuilder = null,
Func<IQueryable<XTag>, IIncludableQueryable<XTag, object>> defaultIncludeBuilder = null
) : base(
logger,
appConfiguration,
identityProvider,
validationProvider,
provider,
defaultOrderBuilder,
defaultIncludeBuilder
)
{ }
}
}
+7
View File
@@ -11,8 +11,10 @@ using xExceptions.Constants;
using xPushService.DI;
using xPushService.Helpers;
using xTagService.Helpers;
using xTagService.Interfaces;
using xTagService.Interfaces.Dtos;
using xTagService.Interfaces.Entities;
using xTagService.Providers;
using xTagService.Providers.Dtos;
using xTagService.Providers.Entities;
@@ -213,6 +215,11 @@ namespace xTagService.DI
new ServiceDescriptor(typeof(IXTagRepositoryProvider), typeof(XTagRepositoryProvider), lifeTime)
);
//
services.Add(
new ServiceDescriptor(typeof(IXTagProvider), typeof(XTagProvider), lifeTime)
);
//
Log("Service Regitration Succeed ...");
}
+10
View File
@@ -0,0 +1,10 @@
using xPushService.Interfaces;
using xTagService.Models.Dtos;
using xTagService.Models.Entities;
using xTagService.Providers.Dtos;
namespace xTagService.Interfaces
{
public interface IXTagProvider : IXBaseProvided<XTag, XTagDto, int, XTagDtoHub>
{ }
}
+10
View File
@@ -0,0 +1,10 @@
using xPushService.Interfaces;
using xTagService.Models.Dtos;
using xTagService.Models.Entities;
using xTagService.Providers.Dtos;
namespace xTagService.Interfaces
{
public interface IXTagProviderController : IXBaseProvidedController<XTag, XTagDto, int, XTagDtoHub>
{ }
}
+38
View File
@@ -0,0 +1,38 @@
using xCommons.Extensions;
using xIdentityModels.Models;
using xPushService.Providers;
using xTagService.Interfaces;
using xTagService.Interfaces.Dtos;
using xTagService.Models.Dtos;
using xTagService.Models.Entities;
using xTagService.Providers.Dtos;
namespace xTagService.Providers
{
public class XTagProvider : XBaseProvided<XTag, XTagDto, int, XTagDtoHub>, IXTagProvider
{
public XTagProvider(
IXTagServiceProvider provider
) : base(
provider,
permittedRoles: new string[] { }
)
{ }
public override bool IsOwned(
XTagDto item,
XUserClaimsInfoDto userInfo
)
{
return !item.IsNullOrDefault();
}
public override bool IsOwned(
XTag item,
XUserClaimsInfoDto userInfo
)
{
return !item.IsNullOrDefault();
}
}
}