public CloudActionType Action { get; set; }
public FileInfo LocalFile { get; set; }
public ObjectInfo CloudFile { get; set; }
+ public FileState FileState { get; set; }
public Lazy<string> LocalHash { get; private set; }
+ public Lazy<string> TopHash { get; set; }
public string OldFileName { get; set; }
public string OldPath { get; set; }
public string NewFileName { get; set; }
public string NewPath { get; set; }
+
public CloudAction(CloudActionType action, string oldPath, string oldFileName, string newFileName, string newPath)
{
Action = action;
LocalHash = new Lazy<string>(() => Signature.CalculateMD5(NewFileName), LazyThreadSafetyMode.ExecutionAndPublication);
}
- public CloudAction(CloudActionType action, FileInfo localFile, ObjectInfo cloudFile)
+ public CloudAction(CloudActionType action, FileInfo localFile, ObjectInfo cloudFile,FileState state)
{
Action = action;
LocalFile = localFile;
CloudFile = cloudFile;
- //Skip Hash calculation for folders
+ FileState = state;
if (LocalFile != null)
- LocalHash = new Lazy<string>(() => Signature.CalculateMD5(LocalFile.FullName), LazyThreadSafetyMode.ExecutionAndPublication);
+ {
+ LocalHash = new Lazy<string>(() => Signature.CalculateMD5(LocalFile),
+ LazyThreadSafetyMode.ExecutionAndPublication);
+ }
+ }
+
+ //Constructor for downloading files
+ public CloudAction(CloudActionType action, ObjectInfo cloudFile)
+ {
+ Action = action;
+ CloudFile = cloudFile;
}
}