private void WorkerCheck_DoWork(object sender, DoWorkEventArgs e) { Thread.Sleep(3000); foreach (string file in Launcher.Name) { Thread.Sleep(100); if (!File.Exists(file)) { e.Cancel = true; return; } } //if (!library.Check()) //{ // e.Cancel = true; // return; //} Thread.Sleep(3000); if (dataFile.CheckUnknown(Launcher.Name, library.Name)) { e.Cancel = true; return; } Thread.Sleep(3000); if (dataFile.CheckMissed(Launcher.Name)) { e.Cancel = true; return; } }
private void workerFile_DoWork(object sender, DoWorkEventArgs e) { this.number = 0; this.fileMissed = 0; this.fileUnknown = 0; this.fileIncorrect = 0; files = new List <CheckFile>(); e.Result = ErrorResult.None; // Get the BackgroundWorker that raised this event. BackgroundWorker worker = sender as BackgroundWorker; Library lib = new Library(); DataFile df = new DataFile(); //provjera nedostajucih fajlova if (df.CheckMissed(Launcher.Name)) { errorResult = true; //e.Result = ErrorResult.Missed; df.ReadMissed(Launcher.Name); foreach (int id in df.MissedFiles) { fileMissed++; files.Add(new CheckFile(++number, Launcher.Name[id], Launcher.Size[id], "Nedostaje")); } //return; } //provjera da li je pritisnut prekid if (worker.CancellationPending) { e.Cancel = true; return; } //provjera nepoznatih fajlova if (df.CheckUnknown(Launcher.Name, lib.Name)) { errorResult = true; //e.Result = ErrorResult.Unknown; df.ReadUnknown(Launcher.Name, lib.Name); foreach (string file in df.UnknownFiles) { fileUnknown++; long length = new System.IO.FileInfo(file).Length; files.Add(new CheckFile(++number, file, length, "Nepoznat")); } //return; } //provjera da li je pritisnut prekid if (worker.CancellationPending) { e.Cancel = true; return; } //provjera hash fajlova koji su oznaceni za provjeru (valid) for (int i = 0; i < Launcher.Name.Length; i++) { //provjera da li je pritisnuto za prekid if (worker.CancellationPending) { e.Cancel = true; return; } workerFile.ReportProgress(i); #if DEBUG //Thread.Sleep(250); #endif if (Launcher.Valid[i]) { if (HashFile.GetMD5(Launcher.Name[i]) != Launcher.Hash[i].ToUpper()) { fileIncorrect++; errorResult = true; files.Add(new CheckFile(++number, Launcher.Name[i], Launcher.Size[i], "Neispravan")); //e.Result = ErrorResult.Validated; //return; } } } }
private void WorkerFile_DoWork(object sender, DoWorkEventArgs e) { this.number = 0; this.fileMissed = 0; this.fileUnknown = 0; this.fileIncorrect = 0; Library lib = new Library(); DataFile df = new DataFile(); this.errorFiles = new List <ErrorFile>(); this.fileStream = new List <FileStream>(); BackgroundWorker worker = sender as BackgroundWorker; //provjera nepoznatih fajlova if (df.CheckUnknown(Launcher.Name, lib.Name)) { df.ReadUnknown(Launcher.Name, lib.Name); foreach (string file in df.UnknownFiles) { //ako fajl u medjuvremenu nestane if (!File.Exists(file)) { continue; } this.fileUnknown++; //brojac nepoznatih fajlova long length = new System.IO.FileInfo(file).Length; this.errorFiles.Add(new ErrorFile(++number, file, length, "Nepoznat")); } } //provjera zahtjeva za izlaz if (worker.CancellationPending) { e.Cancel = true; return; } //provjera nedostajucih fajlova if (df.CheckMissed(Launcher.Name)) { df.ReadMissed(Launcher.Name); foreach (int id in df.MissedFiles) { this.id.Add(id); //fajl koji nedotaje takodje se dodaje na listu za skidanje (download); this.fileMissed++; //brojac nedostajucih fajlova this.errorFiles.Add(new ErrorFile(++number, Launcher.Name[id], Launcher.Size[id], "Nedostaje")); } } //provjera zahtjeva za izlaz if (worker.CancellationPending) { e.Cancel = true; return; } //provjera za sve fajlove; for (int i = 0; i < Launcher.Name.Length; i++) { workerFile.ReportProgress(i); //provjera zahtjeva za izlaz if (worker.CancellationPending) { e.Cancel = true; return; } if (File.Exists(Launcher.Name[i]) && Launcher.Valid[i]) { if (HashFile.GetMD5(Launcher.Name[i]) != Launcher.Hash[i].ToUpper()) { this.id.Add(i); this.fileIncorrect++; this.errorFiles.Add(new ErrorFile(++number, Launcher.Name[i], Launcher.Size[i], "Neispravan")); } /*this.fileStream.Clear(); * for (int j = 0; j <= i; j++) * { * if (this.id.Count > 0) * { * bool skip = false; * foreach (int index in this.id) * { * if (j == index) * { * skip = true; * break; * } * } * if (skip) continue; * } * * this.fileStream.Add(new FileStream(Launcher.Name[j], FileMode.Open, FileAccess.Read, FileShare.Read)); * }*/ } } }