last works ...
This commit is contained in:
@@ -531,20 +531,21 @@ namespace xFileService.Providers
|
||||
|
||||
//
|
||||
// Validate ...
|
||||
var isValid = !model.IsNullOrDefault() &&
|
||||
!model.Name.IsNullOrEmpty() &&
|
||||
result =
|
||||
!model.Id.IsNull() &&
|
||||
!providedForId.IsNull() &&
|
||||
!model.IsNullOrDefault() &&
|
||||
!model.Id.IsDefaultGuid() &&
|
||||
!providedForId.IsNull();
|
||||
if (!isValid)
|
||||
!model.Name.IsNullOrEmpty();
|
||||
if (!result)
|
||||
{
|
||||
XException.InvalidArgs.Throw();
|
||||
}
|
||||
|
||||
//
|
||||
// Check Model Exists ...
|
||||
isValid = await FileProvider.IsExists(model.Id);
|
||||
if (!isValid)
|
||||
result = await FileProvider.IsExists(model.Id);
|
||||
if (!result)
|
||||
{
|
||||
XException.NotFound.Throw();
|
||||
}
|
||||
@@ -553,6 +554,20 @@ namespace xFileService.Providers
|
||||
// Update Model by Retrieving ...
|
||||
model = await FileProvider.Get(model.Id);
|
||||
|
||||
//
|
||||
// Retrieve all References ...
|
||||
var references = await GetAllReferences(providedForId);
|
||||
|
||||
//
|
||||
// Check isReferenced or not ...
|
||||
result = references.Any(r => r.Id == model.Id &&
|
||||
r.References.Any(rf => rf.ProvidedFor == Provider &&
|
||||
rf.ReferencedTo == $"{providedForId}"));
|
||||
if (result)
|
||||
{
|
||||
return result;
|
||||
}
|
||||
|
||||
//
|
||||
int forIndex = await CountReferences(providedForId);
|
||||
model.References.Add(new XReference<string>
|
||||
@@ -595,15 +610,21 @@ namespace xFileService.Providers
|
||||
//
|
||||
// Validate ...
|
||||
// Since other Validations Handled in Calling, we Ignore them here ...
|
||||
if (model.IsNull() ||
|
||||
reference.IsNullOrDefault() ||
|
||||
(!reference.ProvidedFor.IsNullOrEmpty() && reference.ProvidedFor != Provider))
|
||||
var result =
|
||||
!model.IsNullOrDefault() &&
|
||||
!model.Id.IsNull() &&
|
||||
!model.Id.IsDefaultGuid() &&
|
||||
!reference.IsNullOrDefault() &&
|
||||
!reference.ReferencedTo.IsNull() &&
|
||||
reference.ProvidedFor == Provider &&
|
||||
!reference.ProvidedFor.IsNullOrEmpty();
|
||||
if (!result)
|
||||
{
|
||||
XException.InvalidArgs.Throw();
|
||||
}
|
||||
|
||||
//
|
||||
var result = await AddReference(
|
||||
result = await AddReference(
|
||||
model: model,
|
||||
userInfo: userInfo,
|
||||
connectionId: connectionId,
|
||||
@@ -670,7 +691,7 @@ namespace xFileService.Providers
|
||||
var reference = model.References
|
||||
.FirstOrDefault(r => r.ProvidedFor == Provider &&
|
||||
r.ReferencedTo == $"{providedForId}");
|
||||
result = !model.IsNullOrDefault();
|
||||
result = !reference.IsNullOrDefault();
|
||||
if (!result)
|
||||
{
|
||||
XException.ActionFailed.Throw();
|
||||
@@ -865,7 +886,7 @@ namespace xFileService.Providers
|
||||
)
|
||||
{
|
||||
//
|
||||
var result = $"{GetProvidedID(providedForId, splitter)}{splitter}{providedForId}";
|
||||
var result = $"{GetProvidedID(providedForId, splitter)}{splitter}{forIndex}";
|
||||
|
||||
//
|
||||
return result;
|
||||
|
||||
Reference in New Issue
Block a user