I have requirement to copy items from one SPList to another,
Here is the code which is not working:
public void CopyList(SPList src)
{
//Copy items f
field.id may be different in different lists. Use the InternalName property instead.DestionationList.Update, you are not changing the destination list's settings or anything.I modified the code to show these changes
public void CopyList(SPList src)
{
//Copy items from source List to Destination List
foreach (SPListItem item in src.Items)
{
if(isUnique(item.UniqueId))
{
newDestItem = DestinationList.Items.Add();
foreach (SPField field in src.Fields)
{
try
{
if ((!field.ReadOnlyField) && (field.InternalName!="Attachments"))
newDestItem[field.InternalName] = item[field.InternalName];
}
catch (Exception ex)
{
//you should save the "ex" somewhere to see its outputs
ex.ToString();
}
}
newDestItem.Update(); //only now you call update!
}
}
}