예제 #1
0
    void Copy690aTo905d(string strFromSubfield, string strToField)
    {
        Field field_690 = this.DetailForm.MarcEditor.Record.Fields.GetOneField("690", 0);
        SubfieldCollection subfields_690 = field_690.Subfields;

        Subfield subfield_a = subfields_690[strFromSubfield];

        if (subfield_a == null)
        {
            MessageBox.Show(this.DetailForm, "690$" + strFromSubfield + "不存在");
            return;
        }

        string strContent = subfield_a.Value;

        // 看看当前活动字段是不是905
        Field field_905 = null;

        field_905 = this.DetailForm.MarcEditor.FocusedField;
        if (field_905 != null)
        {
            if (field_905.Name != strToField)
            {
                field_905 = null;
            }
        }

        if (field_905 == null)
        {
            field_905 = this.DetailForm.MarcEditor.Record.Fields.GetOneField(strToField, 0);

            if (field_905 == null)
            {
                field_905 = this.DetailForm.MarcEditor.Record.Fields.Add(strToField, "  ", "", true);
            }
        }


        if (field_905 == null)
        {
            throw (new Exception("error ..."));
        }

        Subfield subfield_905d = field_905.Subfields["d"];

        if (subfield_905d == null)
        {
            subfield_905d      = new Subfield();
            subfield_905d.Name = "d";
        }

        subfield_905d.Value      = strContent;
        field_905.Subfields["d"] = subfield_905d;
    }
예제 #2
0
    void Copy225To410()
    {
        Field field_225 = this.DetailForm.MarcEditor.Record.Fields.GetOneField("225", 0);

        if (field_225 == null)
        {
            MessageBox.Show(this.DetailForm, "225字段不存在");
            return;
        }

        SubfieldCollection subfields_225 = field_225.Subfields;

        Subfield subfield_a = subfields_225["a"];

        if (subfield_a == null)
        {
            MessageBox.Show(this.DetailForm, "225$" + "a" + "不存在");
            return;
        }

        string strContent = subfield_a.Value;

        // 看看当前活动字段是不是410
        Field field_410 = null;

        field_410 = this.DetailForm.MarcEditor.FocusedField;
        if (field_410 != null)
        {
            if (field_410.Name != "410")
            {
                field_410 = null;
            }
        }

        bool bInitial410Value = false;  // 410字段的值是否初始化过

        if (field_410 == null)
        {
            field_410 = this.DetailForm.MarcEditor.Record.Fields.GetOneField("410", 0);

            if (field_410 == null)
            {
                field_410        = this.DetailForm.MarcEditor.Record.Fields.Add("410", "  ", new string((char)31, 1) + "1200  " + new string((char)31, 1) + "a", true);
                bInitial410Value = true;
            }
        }


        if (bInitial410Value == false)
        {
            field_410.Value = new string((char)31, 1) + "1200  " + new string((char)31, 1) + "a" + field_410.Value;
        }

        if (field_410 == null)
        {
            throw (new Exception("error ..."));
        }


        Subfield subfield_410a = field_410.Subfields["a"];

        if (subfield_410a == null)
        {
            subfield_410a      = new Subfield();
            subfield_410a.Name = "a";
        }

        subfield_410a.Value      = strContent;
        field_410.Subfields["a"] = subfield_410a;
    }
예제 #3
0
    void Copy200gfTo7xxa(string strFromSubfield, string strToFields)
    {
        Field field_200 = this.DetailForm.MarcEditor.Record.Fields.GetOneField("200", 0);

        if (field_200 == null)
        {
            MessageBox.Show(this.DetailForm, "200字段不存在");
            return;
        }
        SubfieldCollection subfields_200 = field_200.Subfields;

        Subfield subfield_f = subfields_200[strFromSubfield];

        if (subfield_f == null)
        {
            MessageBox.Show(this.DetailForm, "200$" + strFromSubfield + "不存在");
            return;
        }

        string strToField = FirstOf(strToFields);

        string strContent = subfield_f.Value;

        // 看看当前活动字段是不是701
        Field field_701 = null;

        field_701 = this.DetailForm.MarcEditor.FocusedField;
        if (field_701 != null)
        {
            if (StringUtil.IsInList(field_701.Name, strToFields) == true)
            {
                strToField = field_701.Name;
            }
            else
            {
                field_701 = null;
            }
        }

        if (field_701 == null)
        {
            field_701 = this.DetailForm.MarcEditor.Record.Fields.GetOneField(strToField, 0);

            if (field_701 == null)
            {
                field_701 = this.DetailForm.MarcEditor.Record.Fields.Add(strToField, "  ", "", true);
            }
        }

        if (field_701 == null)
        {
            throw (new Exception("error ..."));
        }

        Subfield subfield_701a = field_701.Subfields["a"];

        if (subfield_701a == null)
        {
            subfield_701a      = new Subfield();
            subfield_701a.Name = "a";
        }

        subfield_701a.Value      = strContent;
        field_701.Subfields["a"] = subfield_701a;
    }