Пример #1
0
        private void ResolveDifferencesWithServer(SyncDir diff, DirectoryInfo dir)
        {
            //Copies over Files
            if (diff.Files != null)
            {
                foreach (SyncFile f in diff.Files)
                {
                    byte[] buffer = File.ReadAllBytes(dir.FullName + Path.DirectorySeparatorChar + f.Name);
                    _sync.SendFileToServer(accountId, f.BuildPath(), buffer);
                }
            }
            //Copies over Directories and recalls ResolveDifferencesWithServer to copy over directores/files within

            if (diff.Directories != null)
            {
                int dim = diff.Directories.Count();
                //foreach (SyncDir d in diff.Directories)
                 foreach (SyncDir d in diff.Directories)
                {
                   DirectoryInfo sub1 = new DirectoryInfo(dir.FullName + Path.DirectorySeparatorChar + d.Name);
                    DirectoryInfo sub = new DirectoryInfo(@"C:\temp\TestServerStorage" + Path.DirectorySeparatorChar + accountId.ToString() + Path.DirectorySeparatorChar + dir.Name + Path.DirectorySeparatorChar + d.Name);
                    if (!sub.Exists)
                     sub.Create();

                       ResolveDifferencesWithServer(d, sub1);
                }
            }
        }
Пример #2
0
 private void ResolveDifferencesWithServer(SyncDir diff, DirectoryInfo dir)
 {
     if (diff.Files != null)
     {
         foreach (SyncFile f in diff.Files)
         {
             byte[] buffer = File.ReadAllBytes(dir.FullName + Path.DirectorySeparatorChar + f.Name);
             _sync.SendFileToServer(accountId, f.BuildPath(), buffer);
         }
     }
     if (diff.Directories != null)
     {
         foreach (SyncDir d in diff.Directories)
         {
             DirectoryInfo sub = new DirectoryInfo(dir.FullName + Path.DirectorySeparatorChar + d.Name);
             if (!sub.Exists)
                 sub.Create();
             ResolveDifferencesWithServer(d, sub);
         }
     }
 }
Пример #3
0
 private void ResolveDifferencesWithLocal(SyncDir diff, DirectoryInfo dir)
 {
     if (diff.Files != null)
     {
         foreach (SyncFile f in diff.Files)
         {
             byte[] buffer = _sync.GetFileFromServer(accountId, f.BuildPath());
             File.WriteAllBytes(dir.FullName + Path.DirectorySeparatorChar + f.Name, buffer);
         }
     }
     if (diff.Directories != null)
     {
         foreach (SyncDir d in diff.Directories)
         {
             DirectoryInfo sub = new DirectoryInfo(dir.FullName + Path.DirectorySeparatorChar + d.Name);
             if (!sub.Exists)
                 sub.Create();
             ResolveDifferencesWithLocal(d, sub);
         }
     }
 }