示例#1
0
        private MarcRecord _GetRecord()
        {
            MarcRecord result = new MarcRecord();

            RecordField field = new RecordField("700");

            field.AddSubField('a', "Иванов");
            field.AddSubField('b', "И. И.");
            result.Fields.Add(field);

            field = new RecordField("701");
            field.AddSubField('a', "Петров");
            field.AddSubField('b', "П. П.");
            result.Fields.Add(field);

            field = new RecordField("200");
            field.AddSubField('a', "Заглавие");
            field.AddSubField('e', "подзаголовочное");
            field.AddSubField('f', "И. И. Иванов, П. П. Петров");
            result.Fields.Add(field);

            field = new RecordField(300, "Первое примечание");
            result.Fields.Add(field);
            field = new RecordField(300, "Второе примечание");
            result.Fields.Add(field);
            field = new RecordField(300, "Третье примечание");
            result.Fields.Add(field);

            return(result);
        }
示例#2
0
        private RecordField _GetField()
        {
            RecordField result = new RecordField(200, "Значение");

            result.AddSubField('a', "Заглавие");
            result.AddSubField('e', "подзаголовочные");
            result.AddSubField('f', "об ответственности");

            return(result);
        }
示例#3
0
        public void CreateIrbisRecord
        (
            [JetBrains.Annotations.NotNull] Card card,
            [JetBrains.Annotations.NotNull] InventoryResult[] numbers
        )
        {
            if (ReferenceEquals(card, null))
            {
                throw new ArgumentNullException("card");
            }

            MarcRecord record = new MarcRecord
            {
                Database = CM.AppSettings["cards-database"]
            };

            record.AddField(920, "PAZK")
            .AddField(900, 't', "a", 'b', "05")
            .AddField(102, "RU")
            .AddField(101, "rus")
            .AddField(919, 'a', "rus", 'n', "02",
                      'k', "PSBO")
            .AddField(999, "0000000")
            .AddField(903, CreateRandomIndex(9))
            .AddField(200, 'a', "Нет заглавия");
            RecordField field = new RecordField("2020");

            field.AddSubField('a', card.Id)
            .AddSubField('b', IdToPath(card.Id))
            .AddSubField('c', "4")
            .AddNonEmptySubField('d', card.Operator)
            .AddNonEmptySubField('e', card.Remark);
            record.Fields.Add(field);
            foreach (InventoryResult number in numbers)
            {
                field = new RecordField("910");
                field.AddSubField('a', "0")
                .AddSubField('b', number.Number)
                .AddSubField('c', "?");
                string place = CM.AppSettings["cards-place"];
                if (!string.IsNullOrEmpty(place))
                {
                    field.AddSubField('d', place);
                }
                record.Fields.Add(field);
            }

            Client.WriteRecord(record, false, true);
            Output.WriteLine
            (
                "Создана ИРБИС-запись MFN {0}",
                record.Mfn
            );
        }
示例#4
0
        public void RecordField_ReadOnly_2()
        {
            RecordField field = _GetField().AsReadOnly();

            Assert.IsTrue(field.ReadOnly);
            field.AddSubField('a', "Value");
        }
示例#5
0
        public void RecordField_AddSubField_1()
        {
            RecordField field = new RecordField();

            field.AddSubField('a', "Value");
            Assert.AreEqual(1, field.SubFields.Count);
            Assert.AreEqual(field, field.SubFields[0].Field);
        }
示例#6
0
        private MarcRecord _GetRecord
        (
            int titleNumber
        )
        {
            MarcRecord result = new MarcRecord();

            RecordField field = new RecordField("700");

            field.AddSubField('a', "Иванов");
            field.AddSubField('b', "И. И.");
            result.Fields.Add(field);

            field = new RecordField("701");
            field.AddSubField('a', "Петров");
            field.AddSubField('b', "П. П.");
            result.Fields.Add(field);

            field = new RecordField("200");
            field.AddSubField('a', "Заглавие " + titleNumber);
            field.AddSubField('e', "подзаголовочное");
            field.AddSubField('f', "И. И. Иванов, П. П. Петров");
            result.Fields.Add(field);

            field = new RecordField("210");
            field.AddSubField('a', "Иркутск");
            field.AddSubField('d', "2016");
            result.Fields.Add(field);

            field = new RecordField("215");
            field.AddSubField('a', "123");
            result.Fields.Add(field);

            field = new RecordField("300", "Первое примечание");
            result.Fields.Add(field);
            field = new RecordField("300", "Второе примечание");
            result.Fields.Add(field);
            field = new RecordField("300", "Третье примечание");
            result.Fields.Add(field);

            field = new RecordField("920", "PAZK");
            result.Fields.Add(field);

            return(result);
        }
示例#7
0
        public static MarcRecord AddField
        (
            [NotNull] this MarcRecord record,
            int tag,
            char code,
            string value,
            params object[] others
        )
        {
            RecordField field = new RecordField(tag);

            field.AddSubField(code, value);
            for (int i = 0; i < others.Length; i += 2)
            {
                char   c = (char)others[i];
                string t = (string)others[i + 1];
                field.AddSubField(c, t);
            }
            record.Fields.Add(field);

            return(record);
        }
示例#8
0
        public RecordField ToField()
        {
            RecordField result = new RecordField("910")
                                 .AddNonEmptySubField('a', Status)
                                 .AddNonEmptySubField('b', Number)
                                 .AddNonEmptySubField('c', Date)
                                 .AddNonEmptySubField('d', Place)
                                 .AddNonEmptySubField('q', Collection)
                                 .AddNonEmptySubField('r', ShelfIndex)
                                 .AddNonEmptySubField('e', Price)
                                 .AddNonEmptySubField('h', Barcode)
                                 .AddNonEmptySubField('1', Amount)
                                 .AddNonEmptySubField('t', Purpose)
                                 .AddNonEmptySubField('=', Coefficient)
                                 .AddNonEmptySubField('4', OffBalance)
                                 .AddNonEmptySubField('u', KsuNumber1)
                                 .AddNonEmptySubField('y', ActNumber1)
                                 .AddNonEmptySubField('f', Channel)
                                 .AddNonEmptySubField('2', OnHand)
                                 .AddNonEmptySubField('v', ActNumber2)
                                 .AddNonEmptySubField('x', WriteOff)
                                 .AddNonEmptySubField('k', Completion)
                                 .AddNonEmptySubField('w', ActNumber3)
                                 .AddNonEmptySubField('z', Moving)
                                 .AddNonEmptySubField('m', NewPlace)
                                 .AddNonEmptySubField('s', CheckedDate)
                                 .AddNonEmptySubField('0', CheckedAmount)
                                 .AddNonEmptySubField('!', RealPlace)
                                 .AddNonEmptySubField('p', BindingIndex)
                                 .AddNonEmptySubField('i', BindingNumber);

            if (OtherSubFields != null)
            {
                foreach (SubField subField in OtherSubFields)
                {
                    result.AddSubField(subField.Code, subField.Text);
                }
            }

            return(result);
        }