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; }
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; }
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; }