Skip to content
42 changes: 27 additions & 15 deletions src/ByteSync.Client/Assets/Resources/Resources.Designer.cs

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

19 changes: 11 additions & 8 deletions src/ByteSync.Client/Assets/Resources/Resources.fr.resx
Original file line number Diff line number Diff line change
Expand Up @@ -235,13 +235,13 @@
<data name="AtomicActionEdit_Destination" xml:space="preserve">
<value>Destination</value>
</data>
<data name="AtomicActionEdit_SynchronizeContentAndDate" xml:space="preserve">
<data name="AtomicActionEdit_Copy" xml:space="preserve">
<value>Copier</value>
</data>
<data name="AtomicActionEdit_SynchronizeContent" xml:space="preserve">
<data name="AtomicActionEdit_CopyContent" xml:space="preserve">
<value>Copier le contenu uniquement</value>
</data>
<data name="AtomicActionEdit_SynchronizeDate" xml:space="preserve">
<data name="AtomicActionEdit_CopyDate" xml:space="preserve">
<value>Copier les dates uniquement</value>
</data>
<data name="AtomicActionEdit_DoNothing" xml:space="preserve">
Expand Down Expand Up @@ -289,13 +289,13 @@
<data name="TargetedActionEditionGlobal_DoTheFollowingAction" xml:space="preserve">
<value>Effectuer l'action suivante :</value>
</data>
<data name="SynchronizationActionDescription_Action_SynchronizeContent" xml:space="preserve">
<data name="SynchronizationActionDescription_Action_CopyContent" xml:space="preserve">
<value>Copier le contenu uniquement</value>
</data>
<data name="SynchronizationActionDescription_Action_SynchronizeContentAndDate" xml:space="preserve">
<data name="SynchronizationActionDescription_Action_Copy" xml:space="preserve">
<value>Copier</value>
</data>
<data name="SynchronizationActionDescription_Action_SynchronizeDate" xml:space="preserve">
<data name="SynchronizationActionDescription_Action_CopyDate" xml:space="preserve">
<value>Copier les dates uniquement</value>
</data>
<data name="SynchronizationActionDescription_Action_DoNothing" xml:space="preserve">
Expand Down Expand Up @@ -1654,8 +1654,11 @@ Voulez-vous enregistrer ce nouveau Profil de Session avec ce nom ?</value>
<value>Destination requise pour la création</value>
</data>
<!-- Advanced Consistency - Source Issues -->
<data name="ValidationFailure_InvalidSourceCount" xml:space="preserve">
<value>Données source invalides</value>
<data name="ValidationFailure_SourceMissing" xml:space="preserve">
<value>Source introuvable</value>
</data>
<data name="ValidationFailure_SourceHasMultipleIdentities" xml:space="preserve">
<value>Plusieurs sources trouvées</value>
</data>
<data name="ValidationFailure_SourceHasAnalysisError" xml:space="preserve">
<value>Erreur d'analyse de la source</value>
Expand Down
27 changes: 15 additions & 12 deletions src/ByteSync.Client/Assets/Resources/Resources.resx
Original file line number Diff line number Diff line change
Expand Up @@ -131,7 +131,7 @@
<value>of the following conditions are met:</value>
</data>
<data name="AtomicConditionEdit_Content" xml:space="preserve">
<value>Contents</value>
<value>Content</value>
</data>
<data name="AtomicConditionEdit_LastWriteTime" xml:space="preserve">
<value>Last write time</value>
Expand Down Expand Up @@ -232,13 +232,13 @@
<data name="AtomicActionEdit_Destination" xml:space="preserve">
<value>Destination</value>
</data>
<data name="AtomicActionEdit_SynchronizeContentAndDate" xml:space="preserve">
<data name="AtomicActionEdit_Copy" xml:space="preserve">
<value>Copy</value>
</data>
<data name="AtomicActionEdit_SynchronizeContent" xml:space="preserve">
<value>Copy contents only</value>
<data name="AtomicActionEdit_CopyContent" xml:space="preserve">
<value>Copy content only</value>
</data>
<data name="AtomicActionEdit_SynchronizeDate" xml:space="preserve">
<data name="AtomicActionEdit_CopyDate" xml:space="preserve">
<value>Copy dates only</value>
</data>
<data name="AtomicActionEdit_DoNothing" xml:space="preserve">
Expand Down Expand Up @@ -289,13 +289,13 @@
<data name="TargetedActionEditionGlobal_DoTheFollowingAction" xml:space="preserve">
<value>Do the following action:</value>
</data>
<data name="SynchronizationActionDescription_Action_SynchronizeContent" xml:space="preserve">
<value>Copy contents only</value>
<data name="SynchronizationActionDescription_Action_CopyContent" xml:space="preserve">
<value>Copy content only</value>
</data>
<data name="SynchronizationActionDescription_Action_SynchronizeDate" xml:space="preserve">
<data name="SynchronizationActionDescription_Action_CopyDate" xml:space="preserve">
<value>Copy dates only</value>
</data>
<data name="SynchronizationActionDescription_Action_SynchronizeContentAndDate" xml:space="preserve">
<data name="SynchronizationActionDescription_Action_Copy" xml:space="preserve">
<value>Copy</value>
</data>
<data name="SynchronizationActionDescription_Action_DoNothing" xml:space="preserve">
Expand Down Expand Up @@ -353,7 +353,7 @@ Would you like to continue ?</value>
<value>If</value>
</data>
<data name="AtomicConditionDescription_ComparisonElement_Content" xml:space="preserve">
<value>Contents</value>
<value>Content</value>
</data>
<data name="AtomicConditionDescription_ComparisonElement_Date" xml:space="preserve">
<value>Date</value>
Expand Down Expand Up @@ -1696,8 +1696,11 @@ Do you want to save this new Session Profile with this name?</value>
<value>Destination required for create</value>
</data>
<!-- Advanced Consistency - Source Issues -->
<data name="ValidationFailure_InvalidSourceCount" xml:space="preserve">
<value>Invalid source data</value>
<data name="ValidationFailure_SourceMissing" xml:space="preserve">
<value>Source not found</value>
</data>
<data name="ValidationFailure_SourceHasMultipleIdentities" xml:space="preserve">
<value>Multiple sources found</value>
</data>
<data name="ValidationFailure_SourceHasAnalysisError" xml:space="preserve">
<value>Source has analysis error</value>
Expand Down
66 changes: 29 additions & 37 deletions src/ByteSync.Client/Business/Actions/Shared/SharedActionsGroup.cs
Original file line number Diff line number Diff line change
Expand Up @@ -11,43 +11,34 @@ public SharedActionsGroup()
{
Targets = new HashSet<SharedDataPart>();
}

public PathIdentity PathIdentity { get; set; } = null!;

public SharedDataPart? Source { get; set; }

public HashSet<SharedDataPart> Targets { get; set; }

public SynchronizationTypes? SynchronizationType { get; set; }

public SynchronizationStatus? SynchronizationStatus { get; set; }

public bool IsFromSynchronizationRule { get; set; }

public string LinkingKeyValue
{
get
{
return PathIdentity.LinkingKeyValue;
}
get { return PathIdentity.LinkingKeyValue; }
}

public bool IsFile
{
get
{
return PathIdentity.FileSystemType == FileSystemTypes.File;
}
get { return PathIdentity.FileSystemType == FileSystemTypes.File; }
}

public bool IsDirectory
{
get
{
return PathIdentity.FileSystemType == FileSystemTypes.Directory;
}
get { return PathIdentity.FileSystemType == FileSystemTypes.Directory; }
}

public string Key
{
get
Expand All @@ -62,27 +53,27 @@ public string Key
+ SynchronizationType;
}
}

public string GetSourceFullName()
{
string sourceFileName = GetFullName(Source!);

return sourceFileName;
}

public HashSet<string> GetTargetsFullNames(ByteSyncEndpoint endpoint)
{
HashSet<string> result = new HashSet<string>();

foreach (var target in Targets.Where(sdp => Equals(sdp.ClientInstanceId, endpoint.ClientInstanceId)))
{
var fullName = GetFullName(target);
result.Add(fullName);
}

return result;
}

public string GetFullName(SharedDataPart sharedDataPart)
{
string sourceFileName;
Expand All @@ -94,36 +85,37 @@ public string GetFullName(SharedDataPart sharedDataPart)
{
sourceFileName = sharedDataPart.RootPath;
}

return sourceFileName;
}

private bool Equals(SharedActionsGroup other)
{
return ActionsGroupId == other.ActionsGroupId;
}

public override bool Equals(object? obj)
{
if (ReferenceEquals(null, obj)) return false;
if (ReferenceEquals(this, obj)) return true;
if (obj.GetType() != this.GetType()) return false;
return Equals((SharedActionsGroup) obj);

return Equals((SharedActionsGroup)obj);
}

public override int GetHashCode()
{
return ActionsGroupId.GetHashCode();
}

public ActionsGroupDefinition GetDefinition()
{
var actionsGroupDefinition = new ActionsGroupDefinition();

actionsGroupDefinition.ActionsGroupId = ActionsGroupId;
actionsGroupDefinition.FileSystemType = PathIdentity.FileSystemType;
actionsGroupDefinition.Operator = Operator;
actionsGroupDefinition.AppliesOnlySynchronizeDate = AppliesOnlySynchronizeDate;
actionsGroupDefinition.AppliesOnlyCopyDate = AppliesOnlyCopyDate;
actionsGroupDefinition.SourceClientInstanceId = Source?.ClientInstanceId;
actionsGroupDefinition.TargetClientInstanceAndNodeIds = Targets
.Select(t => new ClientInstanceIdAndNodeId
Expand All @@ -135,7 +127,7 @@ public ActionsGroupDefinition GetDefinition()
actionsGroupDefinition.Size = Size;
actionsGroupDefinition.CreationTimeUtc = CreationTimeUtc;
actionsGroupDefinition.LastWriteTimeUtc = LastWriteTimeUtc;

return actionsGroupDefinition;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,10 @@ public enum AtomicActionValidationFailureReason
DestinationRequiredForCreateOperation = 22,

// Advanced Consistency - Source Issues
InvalidSourceCount = 30,
SourceHasAnalysisError = 31,
SourceNotAccessible = 32,
SourceMissing = 33,
SourceHasMultipleIdentities = 34,

// Advanced Consistency - Target Issues
TargetFileNotPresent = 40,
Expand Down
Loading
Loading