I'm currently working on a Windows application to be used to migrate data from a legacy system into a SharePoint list.
To do this I am accessing the Client Object Model and using it to create new list items and update the relevant field values.
The issue I am having is that some of the field values update and some do not. It appears as though some of the Choice fields are not retaining the passed values...even the Title field is not retaining the value. Investigation has revealed that the Choice fields with issues are a combination of radio buttons and multiple value choices.
The code I am using is below. Can anyone shed some light on why these issues are occurring?
Thanks.
CODE:
strDtls = Split(strData, "~^") Dim inf As New ListItemCreationInformation() Dim itmProfile As ListItem = lstProfile.AddItem(inf) itmProfile.Update() ctx.ExecuteQuery() strID = itmProfile.ID.ToString itmProfile.Item("Title") = strDtls(0) itmProfile.Item("Category") = strDtls(1) itmProfile.Item("Jurisdiction") = "Federal" itmProfile.Item("Other_x0020_Jurisdiction") = strDtls(3) itmProfile.Item("Practice_x0020_Group") = "Banking & Finance" dteTmp = Date.ParseExact(strDtls(5),"dd/MM/yyyy",System.Globalization.CultureInfo.InvariantCulture) itmProfile.Item("Last_x0020_Reviewed_x0020_Date") = dteTmp itmProfile.Item("Format") = "Tab through" itmProfile.Item("Format_x0020_specification") = strDtls(7) If strDtls(8) = "" then usrTmp = oWeb.EnsureUser("ORG\55276") else usrTmp = oWeb.EnsureUser("ORG\44778") End If ctx.Load(usrTmp) ctx.ExecuteQuery() usrVal1 = New FieldUserValue() usrVal1.LookupId = usrTmp.Id itmProfile.Item("Author0") = usrVal1 If strDtls(9) = "" then usrTmp2 = oWeb.EnsureUser("ORG\55276") else usrTmp2 = oWeb.EnsureUser("ORG\" + strDtls(9)) End If ctx.Load(usrTmp2) ctx.ExecuteQuery() usrVal2 = New FieldUserValue() usrVal2.LookupId = usrTmp2.Id itmProfile.Item("Partner_x0020_Responsible") = usrVal2 itmProfile.Item("NewColumn1") = strDtls(10) itmProfile.Item("Engagement_x0020_type") = strDtls(11) itmProfile.Item("NewColumn10") = strDtls(12) itmProfile.Item("Audit_x0020_frequency") = strDtls(13) itmProfile.Item("Royalty") = strDtls(14) itmProfile.Item("Audit_x0020_frequency_x0020_appr") = strDtls(15) dteTmp = Date.ParseExact(strDtls(16),"dd/MM/yyyy",System.Globalization.CultureInfo.InvariantCulture) itmProfile.Item("Next_x0020_review_x0020_due") = dteTmp itmProfile.Item("Archive") = strDtls(17) itmProfile.Item("Drafted_x0020_by") = strDtls(18) itmProfile.Item("Partner_x0020_signoff") = strDtls(19) itmProfile.Item("Style_x0020_guide_x0020_complian") = strDtls(20) itmProfile.Item("Client") = strDtls(21) itmProfile.Item("Form_x0020_Details") = strDtls(22) itmProfile.Item("Description") = strDtls(24) itmProfile.Item("Reference") = strDtls(25) itmProfile.Update() ctx.Load(itmProfile) ctx.ExecuteQuery()