private InProgress go( vdFtpWorkUnit w, string strPath ) { var skola = new PlataDM.Skola( null, 0 ); skola.Open( strPath ); var f = w.addFolder( skola.OrderNr ); var excludeThese = findFilesToExclude( skola ); foreach ( var strFullFN in Directory.GetFiles( skola.HomePath ) ) { var plainFileName = Path.GetFileName( strFullFN ).ToLower(); switch ( plainFileName ) { case "!fotoorder.emf": break; case "!order.plata": if ( skola.Verifierad ) goto default; f.AddLocalItem( strFullFN, string.Format( "!order_{0:yyyyMMddHHmmss}.plata", Global.Now ) ); break; default: if ( !excludeThese.Contains( plainFileName ) ) f.AddLocalItem( strFullFN, plainFileName ); break; } } var strZZLast = Path.Combine( skola.HomePath, "zzlast" ); Util.safeKillFile( strZZLast ); if ( skola.Verifierad ) f.AddLocalItem( strZZLast, "zzlast" ).FileType = vdFtpFileType.EndFileForOneFolder; var row = ugProgress.addRow(); row.Cells[0].Value = skola.OrderNr; row.Cells[1].Value = skola.Namn; row.Cells[2].Value = skola.Ort; row.EndEdit(); var ip = new InProgress(); f.Tag = ip; ip.Path = strPath; ip.Folder = f; ip.Row = row; ip.Work = w; ip.IsBackup = !skola.Verifierad; row.Tag = ip; _dicInProgress.Add( strPath, ip ); return ip; }
private void doneWithInProgress( InProgress ip, bool fSuccess ) { if ( ip.TimeEstimator!=null ) Global.Preferences.FTPSpeed = (Global.Preferences.FTPSpeed + (int)(ip.TimeEstimator.UnitsPerSecond / 1024)) / 2; _dicInProgress.Remove( ip.Path ); ugProgress.G.DataRows.Remove( ip.Row ); if ( fSuccess ) { PlataDM.Skola skola; if ( Global.Skola != null && string.Compare( ip.Path, Global.Skola.HomePath, true ) == 0 ) skola = Global.Skola; else { skola = new PlataDM.Skola( null, 0 ); skola.Open( ip.Path ); } skola.BackupWhen = vdUsr.DateHelper.YYYYMMDDHHMM( Global.Now ); skola.save( true ); } }