CSOM code to create a new item and its versions based on another item and items versions

%3CLINGO-SUB%20id%3D%22lingo-sub-1738569%22%20slang%3D%22en-US%22%3ECSOM%20code%20to%20create%20a%20new%20item%20and%20its%20versions%20based%20on%20another%20item%20and%20items%20versions%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1738569%22%20slang%3D%22en-US%22%3E%3CP%3EI%20have%20the%20following%20CSOM%20code%2C%20to%20copy%20list%20items%20from%20one%20list%20to%20another%3A-%3C%2FP%3E%3CPRE%20class%3D%22lia-code-sample%20language-applescript%22%3E%3CCODE%3EList%20oList%20%3D%20context.Web.Lists.GetByTitle(%22destination%22)%3B%0AList%20oList2%20%3D%20context.Web.Lists.GetByTitle(%22source%22)%3B%0ACamlQuery%20camlQuery%20%3D%20new%20CamlQuery()%3B%0AcamlQuery.ViewXml%20%3D%20%22%3CVIEW%3E%3CQUERY%3E%3CQUERY%3E%3CORDERBY%3E%3CFIELDREF%20name%3D%22ID%22%3E%3C%2FFIELDREF%3E%3C%2FORDERBY%3E%3CQUERY%3E%3C%2FQUERY%3E%3C%2FQUERY%3E%22%3B%0A%20ListItemCollection%20collListItem%20%3D%20oList2.GetItems(camlQuery)%3B%0A%0Acontext.Load(collListItem%2C%0Aitems%20%3D%26gt%3B%20items.Include(%0Aitem%20%3D%26gt%3B%20item%5B%22Title%22%5D%2C%0Aitem%20%3D%26gt%3B%20item%5B%22CustomerName%22%5D%2C%0Aitem%20%3D%26gt%3B%20item%5B%22SupplierName%22%5D%2C%0Aitem%20%3D%26gt%3B%20item%5B%22Currency%22%5D%2C%0Aitem%20%3D%26gt%3B%20item%5B%22Payment_x0020_Period%22%5D%2C%0Aitem%20%3D%26gt%3B%20item%5B%22PaymentAmount%22%5D%2C%0Aitem%20%3D%26gt%3B%20item%5B%22ContractValue%22%5D%2C%0Aitem%20%3D%26gt%3B%20item%5B%22NoticePeriodInMonths%22%5D%2C%0Aitem%20%3D%26gt%3B%20item%5B%22Condition_x0020_of_x0020_Termina%22%5D%2C%0Aitem%20%3D%26gt%3B%20item%5B%22DepartmentResponsible%22%5D%2C%0Aitem%20%3D%26gt%3B%20item%5B%22V3Comments%22%5D%2C%0Aitem%20%3D%26gt%3B%20item%5B%22businessfunctionsInitials%22%5D))%3B%0Acontext.ExecuteQuery()%3B%0Aforeach%20(ListItem%20item%20in%20collListItem)%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20ListItemCreationInformation%20itemCreateInfo2%20%3D%20new%20ListItemCreationInformation()%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20ListItem%20listItem2%20%3D%20oList.AddItem(itemCreateInfo2)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20listItem2%5B%22Title%22%5D%20%3D%20item%5B%22Title%22%5D%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20listItem2%5B%22CustomerName%22%5D%20%3D%20item%5B%22CustomerName%22%5D%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20listItem2%5B%22SupplierName%22%5D%20%3D%20item%5B%22SupplierName%22%5D%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20listItem2%5B%22Currency%22%5D%20%3D%20item%5B%22Currency%22%5D%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20listItem2%5B%22Payment_x0020_Period%22%5D%20%3D%20item%5B%22Payment_x0020_Period%22%5D%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20listItem2%5B%22PaymentAmount%22%5D%20%3D%20item%5B%22PaymentAmount%22%5D%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20listItem2%5B%22ContractValue%22%5D%20%3D%20item%5B%22ContractValue%22%5D%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20listItem2%5B%22NoticePeriodInMonths%22%5D%20%3D%20item%5B%22NoticePeriodInMonths%22%5D%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20listItem2%5B%22Condition_x0020_of_x0020_Termina%22%5D%20%3D%20item%5B%22Condition_x0020_of_x0020_Termina%22%5D%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20listItem2%5B%22DepartmentResponsible%22%5D%20%3D%20item%5B%22DepartmentResponsible%22%5D%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20listItem2%5B%22V3Comments%22%5D%20%3D%20item%5B%22V3Comments%22%5D%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20listItem2%5B%22businessfunctionsInitials%22%5D%20%3D%20item%5B%22businessfunctionsInitials%22%5D%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20listItem2.SystemUpdate()%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20context.ExecuteQuery()%3B%0A%0A%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%3C%2FQUERY%3E%3C%2FVIEW%3E%3C%2FCODE%3E%3C%2FPRE%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EThe%202%20lists%20share%20the%20same%20content%20type%2C%20so%20my%20above%20code%20worked%20well%2C%20but%20did%20not%20copy%20the%20versions%2C%20so%20how%20i%20can%20modify%20my%20above%20code%20to%20copy%20the%20items%20versions%3F%3C%2FP%3E%3CP%3EThanks%3C%2FP%3E%3C%2FLINGO-BODY%3E
Highlighted
Valued Contributor

I have the following CSOM code, to copy list items from one list to another:-

List oList = context.Web.Lists.GetByTitle("destination");
List oList2 = context.Web.Lists.GetByTitle("source");
CamlQuery camlQuery = new CamlQuery();
camlQuery.ViewXml = "<View><Query><Query><OrderBy><FieldRef Name='ID' /></OrderBy><Query></Query></View>";
 ListItemCollection collListItem = oList2.GetItems(camlQuery);

context.Load(collListItem,
items => items.Include(
item => item["Title"],
item => item["CustomerName"],
item => item["SupplierName"],
item => item["Currency"],
item => item["Payment_x0020_Period"],
item => item["PaymentAmount"],
item => item["ContractValue"],
item => item["NoticePeriodInMonths"],
item => item["Condition_x0020_of_x0020_Termina"],
item => item["DepartmentResponsible"],
item => item["V3Comments"],
item => item["businessfunctionsInitials"]));
context.ExecuteQuery();
foreach (ListItem item in collListItem)
                    {
                        ListItemCreationInformation itemCreateInfo2 = new ListItemCreationInformation();
                        ListItem listItem2 = oList.AddItem(itemCreateInfo2);
                        listItem2["Title"] = item["Title"];
                        listItem2["CustomerName"] = item["CustomerName"];
                        listItem2["SupplierName"] = item["SupplierName"];
                        listItem2["Currency"] = item["Currency"];
                        listItem2["Payment_x0020_Period"] = item["Payment_x0020_Period"];
                        listItem2["PaymentAmount"] = item["PaymentAmount"];
                        listItem2["ContractValue"] = item["ContractValue"];
                        listItem2["NoticePeriodInMonths"] = item["NoticePeriodInMonths"];
                        listItem2["Condition_x0020_of_x0020_Termina"] = item["Condition_x0020_of_x0020_Termina"];
                        listItem2["DepartmentResponsible"] = item["DepartmentResponsible"];
                        listItem2["V3Comments"] = item["V3Comments"];
                        listItem2["businessfunctionsInitials"] = item["businessfunctionsInitials"];
                        listItem2.SystemUpdate();
                        context.ExecuteQuery();



                    }

 

The 2 lists share the same content type, so my above code worked well, but did not copy the versions, so how i can modify my above code to copy the items versions?

Thanks

0 Replies