Update for Better Supports ...
This commit is contained in:
+40
-13
@@ -918,23 +918,26 @@ namespace xFileService.Providers
|
||||
/// Get Reference Identifier for Specified Provider and Specified File ...
|
||||
/// </summary>
|
||||
/// <param name="providedFor"></param>
|
||||
/// <param name="id"></param>
|
||||
/// <param name="forProvidedId"></param>
|
||||
/// <returns></returns>
|
||||
public string GetIdentifier(
|
||||
public string GetIdentifier<TKey>(
|
||||
string providedFor,
|
||||
Guid id
|
||||
TKey forProvidedId
|
||||
)
|
||||
{
|
||||
return $"{providedFor}_{id}";
|
||||
return $"{providedFor}_{forProvidedId}";
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Check Specified File has Refernce to Provider ...
|
||||
/// </summary>
|
||||
/// <param name="providedFor"></param>
|
||||
/// <param name="forProvidedId"></param>
|
||||
/// <param name="id"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<bool> IsProvidedFor(
|
||||
public async Task<bool> IsProvidedFor<TKey>(
|
||||
string providedFor,
|
||||
TKey forProvidedId,
|
||||
Guid id
|
||||
)
|
||||
{
|
||||
@@ -943,7 +946,8 @@ namespace xFileService.Providers
|
||||
var isValid =
|
||||
!providedFor.IsNullOrEmpty() &&
|
||||
!id.IsNull() &&
|
||||
!id.IsDefaultGuid();
|
||||
!id.IsDefaultGuid() &&
|
||||
!forProvidedId.IsNull();
|
||||
if (!isValid)
|
||||
{
|
||||
XException.InvalidArgs.Throw();
|
||||
@@ -966,7 +970,10 @@ namespace xFileService.Providers
|
||||
}
|
||||
|
||||
//
|
||||
var identifier = GetIdentifier(providedFor, id);
|
||||
var identifier = GetIdentifier(
|
||||
providedFor: providedFor,
|
||||
forProvidedId: forProvidedId
|
||||
);
|
||||
var result =
|
||||
dto.References.IsNull() &&
|
||||
dto.References.HasChild() &&
|
||||
@@ -980,11 +987,13 @@ namespace xFileService.Providers
|
||||
/// Add Specified Reference to Specified File ...
|
||||
/// </summary>
|
||||
/// <param name="providedFor"></param>
|
||||
/// <param name="forProvidedId"></param>
|
||||
/// <param name="id"></param>
|
||||
/// <param name="userInfo"></param>
|
||||
/// <returns></returns>
|
||||
public async Task AddReference(
|
||||
public async Task AddReference<TKey>(
|
||||
string providedFor,
|
||||
TKey forProvidedId,
|
||||
Guid id,
|
||||
XUserClaimsInfoDto userInfo = null
|
||||
)
|
||||
@@ -995,6 +1004,7 @@ namespace xFileService.Providers
|
||||
!providedFor.IsNullOrEmpty() &&
|
||||
!id.IsNull() &&
|
||||
!id.IsDefaultGuid() &&
|
||||
!providedFor.IsNull() &&
|
||||
!userInfo.IsNullOrDefault();
|
||||
if (!isValid)
|
||||
{
|
||||
@@ -1003,7 +1013,11 @@ namespace xFileService.Providers
|
||||
|
||||
//
|
||||
// Check Has Reference or not ...
|
||||
isValid = await IsProvidedFor(providedFor, id);
|
||||
isValid = await IsProvidedFor(
|
||||
providedFor: providedFor,
|
||||
forProvidedId: forProvidedId,
|
||||
id: id
|
||||
);
|
||||
if (!isValid)
|
||||
{
|
||||
//
|
||||
@@ -1026,7 +1040,10 @@ namespace xFileService.Providers
|
||||
}
|
||||
|
||||
//
|
||||
var identifier = GetIdentifier(providedFor, id);
|
||||
var identifier = GetIdentifier(
|
||||
providedFor: providedFor,
|
||||
forProvidedId: forProvidedId
|
||||
);
|
||||
dto.References.Add(identifier);
|
||||
|
||||
//
|
||||
@@ -1047,11 +1064,13 @@ namespace xFileService.Providers
|
||||
/// Remove Specified Reference from Specified File ...
|
||||
/// </summary>
|
||||
/// <param name="providedFor"></param>
|
||||
/// <param name="forProvidedId"></param>
|
||||
/// <param name="id"></param>
|
||||
/// <param name="userInfo"></param>
|
||||
/// <returns></returns>
|
||||
public async Task RemoveReference(
|
||||
public async Task RemoveReference<TKey>(
|
||||
string providedFor,
|
||||
TKey forProvidedId,
|
||||
Guid id,
|
||||
XUserClaimsInfoDto userInfo = null
|
||||
)
|
||||
@@ -1062,6 +1081,7 @@ namespace xFileService.Providers
|
||||
!providedFor.IsNullOrEmpty() &&
|
||||
!id.IsNull() &&
|
||||
!id.IsDefaultGuid() &&
|
||||
!forProvidedId.IsNull() &&
|
||||
!userInfo.IsNullOrDefault();
|
||||
if (!isValid)
|
||||
{
|
||||
@@ -1070,7 +1090,11 @@ namespace xFileService.Providers
|
||||
|
||||
//
|
||||
// Check Has Reference or not ...
|
||||
isValid = await IsProvidedFor(providedFor, id);
|
||||
isValid = await IsProvidedFor(
|
||||
providedFor: providedFor,
|
||||
forProvidedId: forProvidedId,
|
||||
id: id
|
||||
);
|
||||
if (isValid)
|
||||
{
|
||||
//
|
||||
@@ -1094,7 +1118,10 @@ namespace xFileService.Providers
|
||||
}
|
||||
|
||||
//
|
||||
var identifier = GetIdentifier(providedFor, id);
|
||||
var identifier = GetIdentifier(
|
||||
providedFor: providedFor,
|
||||
forProvidedId: forProvidedId
|
||||
);
|
||||
dto.References = dto.References
|
||||
.Where(r => r.ToNormalString() != identifier.ToNormalString())
|
||||
.ToList();
|
||||
|
||||
Reference in New Issue
Block a user