public void Status_aktualisieren(Statusmeldung statusmeldung) { var statusmeldungstext = string.Format("{0}, {1}/{2}{3}{4}", statusmeldung.Abfrage, statusmeldung.DateienGefunden, statusmeldung.DateienGeprüft, statusmeldung.InBearbeitung ? "..." : "", statusmeldung.Verzeichnispfad != "" ? ", " + statusmeldung.Verzeichnispfad : ""); var auftragNode = Finde_Knoten_zum_Suchauftrag(statusmeldung.SuchauftragId); if (auftragNode == null) { auftragNode = tvSuchvorgänge.Nodes.Add(""); auftragNode.Tag = statusmeldung.SuchauftragId; } auftragNode.Text = statusmeldungstext; }
public void Ende_des_Suchvorgangs_melden(Tuple<string, FileInfo> input, Action<Statusmeldung> endeMelden, Action<Tuple<string,FileInfo>> gefunden) { if (input.Item2 == null) { var suchvorgang = _suchvorgänge[input.Item1]; suchvorgang.InBearbeitung = false; var status = new Statusmeldung { SuchauftragId = input.Item1, DateienGefunden = suchvorgang.DateienGefunden, DateienGeprüft = suchvorgang.DateienGeprüft, Abfrage = suchvorgang.Abfrage, InBearbeitung = suchvorgang.InBearbeitung, Verzeichnispfad = "" }; endeMelden(status); } else gefunden(input); }
public void Fund_registrieren(Tuple<string, FileInfo> input, Action<Statusmeldung> melden, Action<Dateifund> gefunden) { var suchvorgang = _suchvorgänge[input.Item1]; suchvorgang.DateienGefunden++; var status = new Statusmeldung { SuchauftragId = input.Item1, DateienGefunden = suchvorgang.DateienGefunden, DateienGeprüft = suchvorgang.DateienGeprüft, Abfrage = suchvorgang.Abfrage, InBearbeitung = suchvorgang.InBearbeitung, Verzeichnispfad = input.Item2.DirectoryName }; melden(status); var datei = input.Item2; var fund = new Dateifund { SuchauftragId = input.Item1, Dateiname = datei.Name, Veränderungsdatum = datei.LastWriteTime, Dateipfad = datei.DirectoryName }; gefunden(fund); }
public void Pruefung_registrieren(Batch<string> batch, Action<Statusmeldung> melden, Action<Batch<string>> weitermachen) { if (!batch.IsEmpty) { var suchvorgang = _suchvorgänge[batch.CorrelationId]; suchvorgang.DateienGeprüft += batch.Elements.Length; var status = new Statusmeldung { SuchauftragId = batch.CorrelationId, DateienGefunden = suchvorgang.DateienGefunden, DateienGeprüft = suchvorgang.DateienGeprüft, Abfrage = suchvorgang.Abfrage, InBearbeitung = suchvorgang.InBearbeitung, Verzeichnispfad = Path.GetDirectoryName(batch.Elements[0]) }; melden(status); } weitermachen(batch); }