static void DumpTerm ( [NotNull] IrbisConnection connection, [NotNull] TermInfo term ) { Console.WriteLine(term.Text); PostingParameters parameters = new PostingParameters { Database = connection.Database, Term = term.Text }; TermPosting[] postings = connection.ReadPostings(parameters); Console.WriteLine("\tPostings: {0}", postings.Length); foreach (TermPosting posting in postings) { Console.WriteLine ( "\tMFN={0} Tag={1} Occ={2} Count={3}", posting.Mfn, posting.Tag, posting.Occurrence, posting.Count ); try { MarcRecord record = connection.ReadRecord(posting.Mfn); RecordField field = record.Fields .GetField(posting.Tag) .GetOccurrence(posting.Occurrence - 1); if (ReferenceEquals(field, null)) { Console.WriteLine(); } else { Console.WriteLine ( "\t{0}", field.ToText() ); Console.WriteLine(); } } catch { // Nothing to do here } } Console.WriteLine(); }
public PostingParameters GatherParameters() { PostingParameters result = new PostingParameters { Database = Database, FirstPosting = FirstPosting, Format = Format, NumberOfPostings = NumberOfPostings, Term = Term, ListOfTerms = ListOfTerms }; return(result); }
/// <summary> /// Apply <see cref="PostingParameters"/> /// to the command. /// </summary> public void ApplyParameters ( [NotNull] PostingParameters parameters ) { Sure.NotNull(parameters, nameof(parameters)); Database = parameters.Database; FirstPosting = parameters.FirstPosting; Format = parameters.Format; NumberOfPostings = parameters.NumberOfPostings; Term = parameters.Term; ListOfTerms = parameters.ListOfTerms; }
public void ReadPostings_Test3() { IrbisConnection connection = Connection.ThrowIfNull("Connection"); TermParameters termParameters = new TermParameters { Database = "IBIS", NumberOfTerms = 3, ReverseOrder = false, StartTerm = "K=", Format = null }; TermInfo[] terms = connection.ReadTerms ( termParameters ); PostingParameters postingParameters = new PostingParameters { Database = "IBIS", ListOfTerms = terms.ThrowIfNullOrEmpty("terms") .Select(t => t.Text).ToArray(), NumberOfPostings = 3, Format = IrbisFormat.Brief }; TermPosting[] postings = Connection.ReadPostings ( postingParameters ); string text = string.Join ( "| ", postings.Select(p => p.ToString()) ); Write(text); }