// ========================================================== static void DumpTerm ( [NotNull] string term ) { MarcRecord[] records = connection.SearchRead("\"" + term + "\""); Console.WriteLine ( "{0} MFN={1}", term, StringUtility.Join(", ", records.Select(r => r.Mfn)) ); if (records.Length > 1) { DoubleCount++; } for (int i = 1; i < records.Length; i++) { FieldDifference[] diff = RecordComparator.FindDifference2 ( records[0], records[i], ResiduaryTags ) .ToArray(); FieldDifference[] modified = diff .Where(line => line.State != FieldState.Unchanged) .ToArray(); if (modified.Length == 0) { Console.WriteLine("No difference found"); FullDoubleCount++; if (DeleteDoubles) { connection.DeleteRecord(records[i].Mfn); Console.WriteLine("Deleted"); } } foreach (FieldDifference line in diff) { Console.WriteLine(line.ToString()); } Console.WriteLine(); } Console.WriteLine(new string('=', 70)); Console.WriteLine(); }
public void DeleteRecord_Delete() { IrbisConnection connection = Connection .ThrowIfNull("Connection"); MarcRecord record = _GetRecord(); record = connection.WriteRecord(record); int mfn = record.Mfn; Write("MFN={0}: ", mfn); Write("created | "); connection.DeleteRecord(mfn); Write("deleted"); }
private static void ProcessReader ( int index, string ticket ) { if (string.IsNullOrEmpty(ticket)) { return; } Console.Write ( "{0}: {1}", index, ticket ); foreach (string database in databases) { connection.Database = database; int[] found = connection.Search ( "\"RI={0}\"", ticket ); if (found.Length == 0) { Console.Write(" {0} [not found]", database); } else if (found.Length > 1) { Console.Write(" {0} [too many!]", database); } else { int mfn = found[0]; Console.Write ( " {0} [MFN {1}]", database, mfn ); if (doDelete) { try { connection.DeleteRecord(mfn, true); Console.Write(" <deleted>"); } catch (Exception exception) { Console.Write ( " <exception>: {0}", exception.GetType().Name ); } } } } Console.WriteLine(" done"); }