public static List<ChangeItem> Compare(ICloudProvider localProvider, ICloudProvider cloudProvider, PipelineDirections direction) { var pares = GetPares(localProvider, cloudProvider); List<ChangeItem> changeset = new List<ChangeItem>(); foreach (var pare in pares) { var compare = pare.Compare; if (compare < 0 && direction != PipelineDirections.Backup) { var changeItem = new UpdateItem(); changeItem.Item = pare.CloudFile; changeItem.Target = localProvider; changeItem.Source = cloudProvider; changeset.Add(changeItem); } if (compare > 0 && direction != PipelineDirections.Restore) { var changeItem = new UpdateItem(); changeItem.Item = pare.LocalFile; changeItem.Target = cloudProvider; changeItem.Source = localProvider; changeset.Add(changeItem); } } return changeset; }
public Pipeline(ICloudProvider localProvider, ICloudProvider cloudProvider, PipelineDirections direction, Coordinator coordinator) { this.localProvider = localProvider; this.cloudProvider = cloudProvider; this.direction = direction; this.coordinator = coordinator; }