protected void btnUpdate_Click(object sender, EventArgs e) { var _sql = @"SELECT TOP 1 [MessageSpec_ID] ,[CBCReport] FROM [FDR].[dbo].[X_MessageSpec] where [MessageSpec_ID] not in (select [MessageSpec_ID] from [dbo].[X_AdditionalInfo]) and [CBCReport] is not null"; using (var data = new RecordSet(_sql, QueryType.TransectSQL, null)) { if (data.HasRows) { foreach (DataRow row in data.Tables[0].Rows) { var messageSpecId = Convert.ToDecimal(row["MessageSpec_ID"]); var cbcXml = row["CBCReport"].ToString(); var cbcMessage = XmlObjectSerializer.ConvertXmlToObject <CBC_OECD>(cbcXml); if (cbcMessage == null) { continue; } foreach (var cbcBodyType in cbcMessage.CbcBody) { if (cbcBodyType.AdditionalInfo != null) { foreach (var addInfo in cbcBodyType.AdditionalInfo) { var additionalInfoId = 0M; additionalInfoId = DBWriteManager.Save_X_AdditionalInfo( additionalInfoId , addInfo.DocSpec.DocTypeIndic.ToString() , addInfo.DocSpec.DocRefId , addInfo.DocSpec.CorrMessageRefId , addInfo.DocSpec.CorrDocRefId , addInfo.OtherInfo , messageSpecId ); if (additionalInfoId > 0) { if (addInfo.ResCountryCode != null) { foreach (var countryCodeType in addInfo.ResCountryCode) { DBWriteManager.X_AdditionalInfo_ResCountryCode( 0M , countryCodeType.ToString() , additionalInfoId ); } } if (addInfo.SummaryRef != null) { foreach (var cbcSummary in addInfo.SummaryRef) { DBWriteManager.Save_X_AdditionalInfo_SummaryRef( 0M , cbcSummary.ToString() , additionalInfoId ); } } } } } } break; } } } }